[FFmpeg-user] Trouble grabbing from TV capture device

Simon Roberts simon at dancingcloudservices.com
Thu Aug 27 23:52:00 EEST 2020

I have a little device that takes "old" composite video and sends it out to
USB. It's recognized by video4linux2 and I can watch the VHS tapes that I'm
trying to capture using xawtv simply using:

v4lctl -c /dev/video2 setnorm NTSC
v4lctl -c /dev/video2 movie fps 29.97
and then "xawtv"

When I start xawtv it says it's getting audio from hw:3,0

I can also play the video, but *without*sound* using:

ffplay -f v4l2 -i /dev/video2 -vf yadif

and the picture is just great (well, for a home movie on VHS tape, at
least!) but I get no sounds from this.

I have tried capturing in a variety of formats, but always end up with a
silent sound-track (if I don't specify explicitly that I want -f alsa and
some audio source, I don't even get a sound track). Anway, there seems
little point in dumping the output of half a dozen failures, This one I
think is representative: If I try to do ffplay directly on the audio using:

ffplay -f alsa -i plughw:3,0

I get a black window (not surprising, I didn't specify a video source!),
silence, and the following output that runs for as long as I let it until I
kill it with control-c.

$ ffplay -f alsa -i plughw:3,0
ffplay version 4.2.4-1ubuntu0.1 Copyright (c) 2003-2020 the FFmpeg
  built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
  configuration: --prefix=/usr --extra-version=1ubuntu0.1
--toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu
--incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl
--disable-stripping --enable-avresample --disable-filter=resample
--enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom
--enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca
--enable-libcdio --enable-libcodec2 --enable-libflite
--enable-libfontconfig --enable-libfreetype --enable-libfribidi
--enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame
--enable-libmysofa --enable-libopenjpeg --enable-libopenmpt
--enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband
--enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex
--enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab
--enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp
--enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq
--enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl
--enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm
--enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r
--enable-libx264 --enable-shared
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Input #0, alsa, from 'plughw:3,0': 0KB vq=    0KB sq=    0B f=0/0
  Duration: N/A, start: 1598560765.378207, bitrate: 1536 kb/s
    Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
1598560779.36 M-A:  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0

it seems to think there's "something there" (it doesn't reject "plughw:3,0"
as bogus) and to have detected something with a format, yet, nothing.

Any idea how to proceed? Can I get more information from xawtv perhaps that
might help me know how it's succeeding and transfer that info to ffmpeg?


Simon Roberts
(303) 249 3613

More information about the ffmpeg-user mailing list