[FFmpeg-user] problem with FFMPEG and USB WEBCAM: max resolution
Juan M. Anera
juasmilla at gmail.com
Sat Jun 18 15:25:35 CEST 2016
Hi all,
I've spent so much time trying to figure out how this FFMPEG and their
libraries work :(
I have a RaspberryPi 2B and a Logitech USB Webcam. Here is the *input* from
FFMPEG list from my /dev/video0:
ffmpeg version 3.0.2-2~bpo8+1 Copyright (c) 2000-2016 the FFmpeg
developers
built with gcc 4.9.2 (Debian 4.9.2-10)
configuration: --prefix=/usr --extra-version='2~bpo8+1'
--toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf
--incdir=/usr/include/arm-linux-gnueabihf --cc=cc --cxx=g++ --enable-gpl
--enable-shared --disable-stripping --disable-decoder=libopenjpeg
--disable-decoder=libschroedinger --enable-avresample --enable-avisynth
--enable-gnutls --enable-ladspa --enable-libass --enable-libbluray
--enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite
--enable-libfontconfig --enable-libfreetype --enable-libfribidi
--enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame
--enable-libopenjpeg --enable-libopus --enable-libpulse
--enable-librubberband --enable-librtmp --enable-libschroedinger
--enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex
--enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis
--enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265
--enable-libxvid --enable-libzvbi --enable-openal --enable-opengl
--enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq
--enable-frei0r --enable-chromaprint --enable-libx264
libavutil 55. 17.103 / 55. 17.103
libavcodec 57. 24.102 / 57. 24.102
libavformat 57. 25.100 / 57. 25.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 31.100 / 6. 31.100
libavresample 3. 0. 0 / 3. 0. 0
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
[video4linux2,v4l2 @ 0x1171bb0] Raw : yuyv422 :
YUYV 4:2:2 : 640x480 160x90 160x120 176x144 320x180 320x240 352x288 432x240
640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896
1920x1080 2304x1296 2304x1536
[video4linux2,v4l2 @ 0x1171bb0] Compressed: h264 :
H.264 : 640x480 160x90 160x120 176x144 320x180 320x240 352x288 432x240
640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896 1920x1080
[video4linux2,v4l2 @ 0x1171bb0] Compressed: mjpeg :
Motion-JPEG : 640x480 160x90 160x120 176x144 320x180 320x240 352x288
432x240 640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896
1920x1080
/dev/video0: Immediate exit requested
and here is the **audio input**:
**** List of CAPTURE Hardware Devices ****
card 1: C920 [HD Pro Webcam C920], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
I've tried this common and basic ffmpeg routine:
ffmpeg -y -f alsa -i hw:1 -i /dev/video0 -t 10 out12.avi
and here is the output:
ffmpeg version 3.0.2-2~bpo8+1 Copyright (c) 2000-2016 the FFmpeg
developers
built with gcc 4.9.2 (Debian 4.9.2-10)
configuration: --prefix=/usr --extra-version='2~bpo8+1'
--toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf
--incdir=/usr/include/arm-linux-gnueabihf --cc=cc --cxx=g++ --enable-gpl
--enable-shared --disable-stripping --disable-decoder=libopenjpeg
--disable-decoder=libschroedinger --enable-avresample --enable-avisynth
--enable-gnutls --enable-ladspa --enable-libass --enable-libbluray
--enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite
--enable-libfontconfig --enable-libfreetype --enable-libfribidi
--enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame
--enable-libopenjpeg --enable-libopus --enable-libpulse
--enable-librubberband --enable-librtmp --enable-libschroedinger
--enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex
--enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis
--enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265
--enable-libxvid --enable-libzvbi --enable-openal --enable-opengl
--enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq
--enable-frei0r --enable-chromaprint --enable-libx264
libavutil 55. 17.103 / 55. 17.103
libavcodec 57. 24.102 / 57. 24.102
libavformat 57. 25.100 / 57. 25.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 31.100 / 6. 31.100
libavresample 3. 0. 0 / 3. 0. 0
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, alsa, from 'hw:1':
Duration: N/A, start: 1466107437.084808, bitrate: 1024 kb/s
Stream #0:0: Audio: pcm_s16le, 32000 Hz, 2 channels, s16, 1024 kb/s
Input #1, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 1578.347093, bitrate: 147456 kb/s
Stream #1:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422,
1280x720, 147456 kb/s, 10 fps, 10 tbr, 1000k tbn, 1000k tbc
Output #0, avi, to 'out12.avi':
Metadata:
ISFT : Lavf57.25.100
Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 1280x720,
q=2-31, 200 kb/s, 10 fps, 10 tbn, 10 tbc
Metadata:
encoder : Lavc57.24.102 mpeg4
Side data:
unknown side data type 10 (24 bytes)
Stream #0:1: Audio: mp3 (libmp3lame) (U[0][0][0] / 0x0055), 32000
Hz, stereo, s16p
Metadata:
encoder : Lavc57.24.102 libmp3lame
Stream mapping:
Stream #1:0 -> #0:0 (rawvideo (native) -> mpeg4 (native))
Stream #0:0 -> #0:1 (pcm_s16le (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
[alsa @ 0xe9ec10] Thread message queue blocking; consider raising the
thread_queue_size option (current value: 8)
frame= 4 fps=0.0 q=2.0 size= 154kB time=00:00:00.40
bitrate=3152.5kbits/sframe= 8 fps=7.7 q=12.0 size= 261kB
time=00:00:00.80 bitrate=2670.1kbits/frame= 13 fps=8.3 q=21.4 size=
303kB time=00:00:01.30 bitrate=1911.3kbits/frame= 18 fps=8.7 q=31.0 size=
349kB time=00:00:01.80 bitrate=1586.8kbits/frame= 23 fps=8.8 q=31.0
size= 393kB time=00:00:02.30 bitrate=1401.3kbits/frame= 28 fps=9.0
q=31.0 size= 428kB time=00:00:02.80 bitrate=1253.2kbits/frame= 34
fps=9.4 q=31.0 size= 463kB time=00:00:03.40 bitrate=1116.7kbits/frame=
38 fps=9.2 q=31.0 size= 494kB time=00:00:03.80
bitrate=1065.3kbits/frame= 43 fps=9.3 q=31.0 size= 520kB
time=00:00:04.30 bitrate= 990.6kbits/frame= 49 fps=9.5 q=24.8 size=
557kB time=00:00:04.90 bitrate= 931.1kbits/frame= 55 fps=9.6 q=31.0 size=
593kB time=00:00:05.50 bitrate= 883.7kbits/frame= 61 fps=9.7 q=24.8
size= 631kB time=00:00:06.10 bitrate= 847.9kbits/frame= 67 fps=9.8
q=31.0 size= 670kB time=00:00:06.70 bitrate= 818.7kbits/frame= 72
fps=9.8 q=31.0 size= 696kB time=00:00:07.20 bitrate= 791.4kbits/frame=
78 fps=9.9 q=31.0 size= 727kB time=00:00:07.80 bitrate=
763.8kbits/frame= 83 fps=9.9 q=31.0 size= 760kB time=00:00:08.30
bitrate= 750.1kbits/frame= 88 fps=9.8 q=31.0 size= 801kB
time=00:00:08.80 bitrate= 745.4kbits/frame= 93 fps=9.8 q=31.0 size=
840kB time=00:00:09.30 bitrate= 740.1kbits/frame= 98 fps=9.8 q=31.0 size=
874kB time=00:00:09.80 bitrate= 730.4kbits/frame= 100 fps=9.7 q=31.0
Lsize= 890kB time=00:00:10.04 bitrate= 725.9kbits/s speed=0.979x
video:757kB audio:114kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: 2.143680%
The output seems fine, but the quality is poor, it's recording at 640x480.
Then, I tried this:
ffmpeg -f alsa -i hw:1 -vcodec h264 -f v4l2 -i /dev/video0 -vcodec copy
-y -t 10 out4.mkv
The image is wonderful, but, unfortunately, the audio is recorded with a
bit lag :(
All I want is to set the RaspberryPi to record a few seconds with the audio
encompassed *at the highest resolution possible*, or at least some guidance
to achieve that.
Many thanks!
--
Por favor, No imprima este mail si no es necesario.
More information about the ffmpeg-user
mailing list