大家。 我正在尝试使用FFmpeg来录制视频和3个音频源,并用它来生成3个不同的视频文件 - 每个文件应包含相同的视频流但不同的音频流。问题是我遇到了音频同步问题。第一个音频流完全同步,但第二个音频流有1秒滞后,第三个有2秒滞后。
到目前为止,我做了一些测试,似乎问题的根本原因是视频/音频设备的初始化时间。因此,一台设备已经录制了一些东西,但第二台设备仍在打开,依此类推。我已经尝试更改输入设备顺序,之后音频流仍然有相同的问题但是如果在第二和第三音频流比视频提前一段时间之前,在重新排序之后它们变得滞后于音频(同一事件的音频出现有一些延迟)。因此,此测试确认了我关于设备初始化时间的版本。
但问题仍然存在,为什么第一个音频流正确同步,而另外两个不同步。而且,我怎么能克服这个问题呢?任何变通方法和想法都受到高度赞赏。
这是我正在使用的FFmpeg命令,它是输出。
ffmpeg.exe -f dshow -video_size 1920x1080 -i video =“Logitech HD Webcam C615“-f dshow -i audio =”麦克风(高清网络摄像头C615)“ - f dshow -i audio =“麦克风阵列(Realtek高清晰度音频)” -filter_complex“[1:a] volume = 1 [a1]; [2:a] volume = 1 [a2]” - vf scale = h = 1080:force_original_aspect_ratio = decrease -vcodec libx264 -pix_fmt yuv420p -crf 23 -preset ultrafast -acodec aac -vbr 5 -threads 0 -map v:0 -map [a1] -map [a2] -f tee “[选择= \ 'V,A:0 \'] C:/Users/vshevchu/Desktop/123/111/111_jjj1.avi | [选择= \ 'V,A:1 \'] C:/Users/vshevchu/Desktop/123/111/111_jjj2.avi“
PS。实际上,当我不使用“tee”muxer但将所有音频流写入一个容器时,问题完全相同。所以,“tee”不是嫌疑人。