On Sat, Oct 16, 2010 at 05:46:24PM +0200, Jan Stary wrote:
> (I have changed the subject,
> because the subject has changed.)
> 
> On Oct 14 01:59:39, Jacob Meuser wrote:
> > On Thu, Oct 14, 2010 at 12:05:09AM +0000, Jacob Meuser wrote:
> > > On Thu, Oct 14, 2010 at 12:59:37AM +0200, Jan Stary wrote:
> > > > On Oct 13 22:07:27, Jacob Meuser wrote:
> > > > > On Wed, Oct 13, 2010 at 11:51:47PM +0200, Jan Stary wrote:
> > > > > > This is a fresh upgrade of current/amd64 on a Macbook3,1.
> > > > > > Basically, everything works except the wifi and uvideo.
> > > > > 
> > > > > > I installed the uvideo firmware as documented in uvideo(4).
> > > > > > I can capture an image with 'fswebcam image.jpg';
> > > > > > I have problems capturing a video stream with
> > > > > > ffmpeg -y -f video4linux2 -s vga -r 25 -i /dev/video0 /tmp/out.mpg
> > > > > > (the fps eventually drops to 0 and results in a tiny file
> > > > > > containing just a few frames) but I haven't really tried
> > > > > > tweaking the format options.
> > > > > 
> > > > > ffmpeg doesn't work with video(4).  frankly, I don't understand why
> > > > > video(4) support is enabled in ffmpeg, giving the the impression it's
> > > > > supposed to work, when it clearly doesn't.
> > > > 
> > > > On another machine (HP EliteBook 8530w running a recent -current)
> > > > I can capture video(4) just fine - using certain resolutions and frame
> > > > rates, that is.
> > > 
> > > with ffmpeg?  can you share your command, I've never gotten it to work.
> 
> This _sometimes_ works:
> ffmpeg -y -f video4linux2 -r 25 -s vga -i /dev/video out.mpg
> Other times, the fps gradually drops to zero.
> 
> With the current ffmpeg (just built form svn),
> it consistently results in
> 
> ffmpeg -y -f video4linux2 -r 25 -s vga -i /dev/video0 /tmp/out.m>
> FFmpeg version SVN-r25502, Copyright (c) 2000-2010 the FFmpeg developers
> built on Oct 16 2010 14:05:50 with gcc 4.2.1 20070719 
> configuration: 
> libavutil     50.32. 3 / 50.32. 3
> libavcore      0. 9. 1 /  0. 9. 1
> libavcodec    52.92. 0 / 52.92. 0
> libavformat   52.83. 0 / 52.83. 0
> libavdevice   52. 2. 2 / 52. 2. 2
> libavfilter    1.52. 0 /  1.52. 0
> libswscale     0.12. 0 /  0.12. 0
> [video4linux2 @ 0x83f3d080] ioctl set time per frame(1/25) failed
> /dev/video0: Input/output error
> 
> It fails this way with any other framerate, too.
> So you are right: it doesn't work.

I'm pretty sure this is because video/uvideo doesn't allow setting the
frame rate.  also, many webcams don't deliver a consistent frame rate;
some of them will deliver a higher frame rate if they receive more light.

> > fwiw, this is what I use, because using ffmpeg to capture directly from
> > video(4) has never worked for me:
> > 
> > $ video -f /dev/video1 -e yuy2 -s 640x480 -r 20 -o - | ffmpeg -y \
> > -f rawvideo -pix_fmt yuyv422 -s 640x480 -r 20 -i - \
> > -itsoffset 0.5 -f sndio -ar 16000 -ac 1 -i sun:1 out.avi
> 
> This is much more reliable;
> without audio, I can capture just fine with
> 
> $ video -f /dev/video -e yuy2 -s 640x480 -r 20 -o - \
> | ffmpeg -y -f rawvideo -pix_fmt yuyv422 -s 640x480 -r 20 -i - out.avi
> 
> However, the audio part does not work for me.
> The ffmpeg-20100512p4 package says
> 
> $ video -f /dev/video -e yuy2 -s 640x480 -r 20 -o - \
> | ffmpeg -y -f rawvideo -pix_fmt yuyv422 -s 640x480 -r 20 -i - \
> -f sndio -ar 16000 -ac 1 -i sun:1 out.avi
> FFmpeg version SVN-r23102, Copyright (c) 2000-2010 the FFmpeg developers
>   built on Oct 11 2010 18:27:01 with gcc 4.2.1 20070719 
>   configuration: --enable-shared --cc=cc --disable-altivec --disable-armv5te 
> --disable-armv6 --disable-armv6t2 --disable-armvfp --disable-debug 
> --disable-indev=jack --disable-indev=oss --disable-iwmmxt --disable-neon 
> --disable-optimizations --disable-outdev=oss --enable-gpl --enable-libfaac 
> --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libschroedinger 
> --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 
> --enable-nonfree --enable-postproc --enable-pthreads 
> --enable-runtime-cpudetect --enable-x11grab 
> --extra-cflags=-I/usr/local/include -I/usr/X11R6/include 
> --extra-libs=-L/usr/local/lib -L/usr/X11R6/lib --mandir=/usr/local/man
>   libavutil     50.15. 2 / 50.15. 2
>   libavcodec    52.67. 0 / 52.67. 0
>   libavformat   52.62. 0 / 52.62. 0
>   libavdevice   52. 2. 0 / 52. 2. 0
>   libavfilter    1.20. 0 /  1.20. 0
>   libswscale     0.10. 0 /  0.10. 0
>   libpostproc   51. 2. 0 / 51. 2. 0
> [rawvideo @ 0x80239080]Estimating duration from bitrate, this may be 
> inaccurate
> Input #0, rawvideo, from 'pipe:':
>   Duration: N/A, start: 0.000000, bitrate: N/A
>     Stream #0.0: Video: rawvideo, yuyv422, 640x480, 20 tbr, 20 tbn, 20 tbc
> [sndio @ 0x83bc9080]Could not open sndio device
> sun:1: Input/output error

-f sndio -ar 16000 -ac 1 -i sun:1 out.avi

that means to record 16kHz mono from /dev/audio1.  maybe that just isn't
supported on your hardware?

> I get the same result with -f sndio -i /dev/audio.

does simply 'ffmpeg -f sndio -i /dev/audio out.wav' work?

> I get the same result with or without aucat running.

yeah, ffmpeg requires to specify the "input file", even if the specified
format's demuxer can figure out on it's own what the "input file" is,
which means '-i /dev/audio' will not work when aucat is running.  when
aucat is running, you can use '-i aucat:0' or '-i default', assuming
you are not renaming the aucat streams with aucat's -s option.

> The svn install of ffmpeg doesn't even recognize sndio as a format
> (Unknown input format: 'sndio'). It does recognize -f oss,
> and I can capture both video and audio with
> 
> $ video -f /dev/video -e yuy2 -s 640x480 -r 20 -o - \
> | ffmpeg -y -f rawvideo -pix_fmt yuyv422 -s 640x480 -r 20 -i - \
> -f sndio -ar 48000 -ac 2 -i /dev/audio out.avi

afaik Brad submitted the sndio backend but the ffmpeg devs consider
OpenBSD insignificant ... they seem to think that because they don't
get many complaints about ffmpeg not working on OpenBSD that no one
uses ffmpeg on OpenBSD, heh.

-- 
jake...@sdf.lonestar.org
SDF Public Access UNIX System - http://sdf.lonestar.org

Reply via email to