我试图通过结合视频流的记录为WebRTC呼叫应用程序创建一个马赛克视频。每个录音由2个文件组成,它是.mkv
视频和.mka
音频。
我面临的问题是,每个记录开始在一个不同的时间。一个参与者可能已经开始通话并正在录制自己,而另一个参与者可能在1分钟后加入。
例如,录音1从1657135694178
开始,录音2从1657135711762
开始,两者都是Unix时间戳。
这是我目前创建马赛克的方法:
$ ffmpeg
-i video-1.mkv
-i audio-1.mka
-i video-2.mkv
-i audio-2.mka
-filter_complex
vstack=inputs=2
output-1.mkv
使用tpad
滤镜像这样插入空白帧:
ffmpeg -i video-1.mkv -i video-2.mkv -filter_complex
"[0:v]tpad=start_duration=1[v1];
[1:v]tpad=start_duration=2[v2];
[v1][v2]vstack=inputs=2"
out.mkv
第一个输入的第一帧在输出时间= 1s时开始显示,第二个输入的第一帧在时间t=2时出现。