我正在运行此命令来从我的网络摄像头捕获视频和音频:
ffmpeg -y -f video4linux2 -s 320x240 -i /dev/video0 -f alsa -i "plughw:CARD=U0x46d0x825,DEV=0" -ac 2 -strict experimental Filename.mp4
它可以工作,但是音频比视频晚大约半秒(例如,如果我鼓掌,当我观看视频时,我会听到鼓掌的声音,然后看到我鼓掌)。
这是用于在线流,所以我无法稍后修复它,它需要正确记录。
它似乎总是偏离相同的量,所以我试图找到一个选项来简单地延迟音频开始录制的时间,但我无法弄清楚。
有任何想法吗?
答案1
你试过谷歌吗?看看这里
他们建议根据您的要求 使用-async
或结合使用-vsync
-map
-itsoffset
使用ffmpeg
以下命令可以完成这项工作:
ffmpeg -y -f video4linux2 -s 320x240 -i /dev/video0 -itsoffset 2 -f alsa -i "plughw:CARD=U0x46d0x825,DEV=0" -ac 2 -strict experimental Filename.mp4
答案2
看FFmpeg:音频开始时间偏离我是如何解决一个非常相似的问题的。我以前也用过-itsoffset
,但对我来说这太需要猜测了。