无法使用avconv录制S-Video

时间:2013-05-08 18:38:52

标签: ffmpeg video-capture libav avconv

我一直在尝试使用av​​conv从我的S-Video电缆录制Feed。我能用avconv录制复合视频,但质量不是最好的。要设置输入,我使用v4l2-ctl -i $n,其中$n为0表示复合,或1表示S-Video。我尝试使用v4l2-ctl -i 1来设置输入,但这不起作用。奇怪的是,当我使用tvtime或qv4l2时,我可以观看视频。

我能够录制音频,而不是视频。在tvtime我可以获得音频和视频。此外,我能够使用-channel选项使用ffmpeg录制S-Video。 ffmpeg,顺便说一句,无法录制音频,录制单独的音频不是一种选择。

根据Anton的要求,

编辑,这是我用来通过avconv捕获视频的命令。

avconv -f video4linux2 -i /dev/video0 -f alsa -i hw:2,0 -vcodec mpeg4 -vtag xvid -b 8000k -r 30000/1001 -acodec \
libmp3lame -ar 48000 -ac 2 -ab 192k -aspect 16:9 -vf yadif=0,scale=1200:800 -y test.avi

这是此命令的输出:

avconv version 0.8.6-6:0.8.6-0ubuntu0.12.10.1, Copyright (c) 2000-2013 the Libav developers
  built on Apr  2 2013 17:02:16 with gcc 4.7.2
[video4linux2 @ 0x982340] Estimating duration from bitrate, this may be inaccurate
Input #0, video4linux2, from '/dev/video0':
  Duration: N/A, start: 1368113780.210591, bitrate: 165722 kb/s
   Stream #0.0: Video: rawvideo, yuyv422, 720x480, 165722 kb/s, 29.97 tbr, 1000k tbn, 29.97 tbc
[alsa @ 0x982ba0] Estimating duration from bitrate, this may be inaccurate
Input #1, alsa, from 'hw:2,0':
  Duration: N/A, start: 854.715783, bitrate: N/A
    Stream #1.0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Incompatible pixel format 'yuyv422' for codec 'mpeg4', auto-selecting format 'yuv420p'
[buffer @ 0x9930a0] w:720 h:480 pixfmt:yuyv422
[yadif @ 0x997960] mode:0 parity:-1 auto_enable:0
[yadif @ 0x997960] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'Parsed filter 0 yadif'
[scale @ 0x985a80] w:720 h:480 fmt:yuyv422 -> w:720 h:480 fmt:yuv420p flags:0x4
[scale @ 0x998000] w:720 h:480 fmt:yuv420p -> w:1200 h:800 fmt:yuv420p flags:0x4
Output #0, avi, to 'test.avi':
  Metadata:
    ISFT            : Lavf53.21.1
    Stream #0.0: Video: mpeg4, yuv420p, 1200x800 [PAR 32:27 DAR 16:9], q=2-31, 8000 kb/s, 29.97 tbn, 29.97 tbc
    Stream #0.1: Audio: libmp3lame, 48000 Hz, 2 channels, s16, 192 kb/s
Stream mapping:
      Stream #0:0 -> #0:0 (rawvideo -> mpeg4)
      Stream #1:0 -> #0:1 (pcm_s16le -> libmp3lame)

2 个答案:

答案 0 :(得分:1)

试试这个:

avconv -f video4linux2 -i /dev/video0 -f alsa -ac 1 -i hw:2,0 \
-vcodec mpeg4 -vtag xvid -b 8000k -r 30000/1001 -acodec \
libmp3lame -ar 48000 -ac 2 -ab 192k -aspect 16:9 
-vf yadif=0,scale=1200:800 -y test.avi

注意-ac 1,您必须设置音频通道。还要注意\换行。

答案 1 :(得分:0)

-channel选项不适用于avconv?它应该与ffmpeg中的相同。另外,提供完整的命令行和avconv输出。