[FFmpeg-user] Capturing video from old webcam

Paweł Kajak pkajak at gmail.com
Thu Feb 5 22:57:18 CET 2015


2015-02-05 21:52 GMT+01:00 Paweł Kajak <pkajak at gmail.com>:

> 2015-02-05 15:44 GMT+01:00 Carl Eugen Hoyos <cehoyos at ag.or.at>:
>
>> Paweł Kajak <pkajak <at> gmail.com> writes:
>>
>> > ffmpeg version 2.1.5
>> >   built on Feb  5 2015 03:11:40 with gcc 4.8.2
>>
>> I am curious:
>> Why are you building a fifteen-months old version
>> of FFmpeg today? Is there a bug in newer versions
>> that we don't know of?
>> Your issue was fixed a year ago, please always
>> test current FFmpeg git head before reporting an
>> issue here.
>>
>> Unrelated: The following configure options have
>> no effect, consider to remove them:
>> --enable-pthreads
>> --enable-postproc
>> --enable-avfilter
>> --arch=x86_64
>>
>> As said, a report if BA81 works (with current git
>> head) is welcome!
>>
>> Please do not top-post here, Carl Eugen
>> _______________________________________________
>> ffmpeg-user mailing list
>> ffmpeg-user at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>>
>
> Hi Carl,
>
> Well I've installed it from available Slackbuild and I didn't verify if
> the ffmpeg version there is latest one - my mistake. After updating it is
> much better:
> BA81 is now supported with bayer_bggr8.
>
> ffmpeg version 2.5.3 Copyright (c) 2000-2015 the FFmpeg developers
>   built on Feb  5 2015 20:29:27 with gcc 4.8.2 (GCC)
>   configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64
> --docdir=/usr/doc/ffmpeg-2.5.3/html --mandir=/usr/man --disable-debug
> --enable-shared --disable-static --enable-pthreads --enable-libtheora
> --enable-libvorbis --enable-gpl --enable-version3 --enable-postproc
> --enable-swscale --enable-x11grab --enable-avfilter --enable-gnutls
> --enable-libcdio --enable-libssh --arch=x86_64 --enable-libmp3lame
> --enable-libx264
>   libavutil      54. 15.100 / 54. 15.100
>   libavcodec     56. 13.100 / 56. 13.100
>   libavformat    56. 15.102 / 56. 15.102
>   libavdevice    56.  3.100 / 56.  3.100
>   libavfilter     5.  2.103 /  5.  2.103
>   libswscale      3.  1.101 /  3.  1.101
>   libswresample   1.  1.100 /  1.  1.100
>   libpostproc    53.  3.100 / 53.  3.100
> [video4linux2,v4l2 @ 0x138b480] Raw       : Unsupported :
> S910 : 160x120 176x144 320x240 352x288
> [video4linux2,v4l2 @ 0x138b480] Raw       : bayer_bggr8 :
> BA81 : 160x120 176x144
>
> I'm able to record into MKV and couple other formats however it is still
> not possible to record into AVI.
>
> ffmpeg version 2.5.3 Copyright (c) 2000-2015 the FFmpeg developers
>   built on Feb  5 2015 20:29:27 with gcc 4.8.2 (GCC)
>   configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64
> --docdir=/usr/doc/ffmpeg-2.5.3/html --mandir=/usr/man --disable-debug
> --enable-shared --disable-static --enable-pthreads --enable-libtheora
> --enable-libvorbis --enable-gpl --enable-version3 --enable-postproc
> --enable-swscale --enable-x11grab --enable-avfilter --enable-gnutls
> --enable-libcdio --enable-libssh --arch=x86_64 --enable-libmp3lame
> --enable-libx264
>   libavutil      54. 15.100 / 54. 15.100
>   libavcodec     56. 13.100 / 56. 13.100
>   libavformat    56. 15.102 / 56. 15.102
>   libavdevice    56.  3.100 / 56.  3.100
>   libavfilter     5.  2.103 /  5.  2.103
>   libswscale      3.  1.101 /  3.  1.101
>   libswresample   1.  1.100 /  1.  1.100
>   libpostproc    53.  3.100 / 53.  3.100
> [video4linux2,v4l2 @ 0x6af6c0] Time per frame unknown
> [video4linux2,v4l2 @ 0x6af6c0] The v4l2 frame is 2 bytes, but 25344 bytes
> are expected
> Input #0, video4linux2,v4l2, from '/dev/video1':
>   Duration: N/A, bitrate: N/A
>     Stream #0:0: Video: rawvideo ([186]BG[8] / 0x84742BA), bayer_bggr8,
> 176x144, 1000k tbr, 1000k tbn, 1000k tbc
> [avi @ 0x6b0ae0] Frame rate very high for a muxer not efficiently
> supporting it.
> Please consider specifying a lower framerate, a different muxer or -vsync 2
> Output #0, avi, to 'test.avi':
>   Metadata:
>     ISFT            : Lavf56.15.102
>     Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 176x144,
> q=2-31, 200 kb/s, 65535 fps, 600 tbn, 65535 tbc
>     Metadata:
>       encoder         : Lavc56.13.100 mpeg4
> Stream mapping:
>   Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg4 (native))
> Press [q] to stop, [?] for help
> [avi @ 0x6b0ae0] Too large number of skipped frames 627894 > 60000
> av_interleaved_write_frame(): Invalid argument
> [avi @ 0x6b0ae0] Too large number of skipped frames 627874 > 60000
> frame=    2 fps=0.0 q=2.0 Lsize=       7kB time=00:17:26.49 bitrate=
> 0.1kbits/s
> video:2kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
> muxing overhead: 231.590607%
> Conversion failed!
>
> Are there any extra arguments that I should use?
> Regards and thanks for your help,
> Pawel Kajak
>
>
I'm trying to understand a little how does it work. Could you explain why
is it possible to capture video at resolution 352x288 in VLC - (used codec
is Planar 4:2:0 YUV) whereas when I run:

ffmpeg -f rawvideo -video_size 352x288 -vcodec yuv4 -i /dev/video1 test.mpeg

or

ffmpeg -f rawvideo -video_size 352x288 -i /dev/video1 test.mpeg

It results in video of total size 352x288 but composed of smaller versions
of the picture with crazy colors. Is it because ffmpeg does not have
support for that kind of input (S910) and VLC has?

Here is a picture with comparison of what I get in the cases described
above : http://oi57.tinypic.com/2lvzhc6.jpg.

Regards,
Pawel Kajak


More information about the ffmpeg-user mailing list