使用ffmpeg和opencv将PTS从原始视频流复制到已处理的视频流

时间:2019-01-25 14:35:00

标签: opencv video ffmpeg video-processing

我有两个webm格式的视频文件。首先是使用Chrome的MediaRecorder API捕获的原始视频。第二个是通过使用OpenCV处理原始视频的每个帧生成的已处理视频。如何用原始视频中的PTS覆盖已处理视频中帧的PTS。两者之间的帧数相同。

经过处理的视频是使用ffmpeg从一系列图像生成的。

ffmpeg -i frames/frame_%d.png -pix_fmt yuv420p ffmpeg-cfr.mp4

这将导致CFR为25fps。我尝试使用Can I create a VFR video from timestamped images?链接中的步骤。这仅适用于mp4视频,不适用于webm。编码为MP4并转换回webm的过程会导致非常差的视频质量,并且每个视频花费3倍的时间。

除了图像序列,我还在timecodes.txt文件中为每一帧编写原始视频的PTS。 ffmpeg中是否有类似于mp4fpsmod(https://github.com/nu774/mp4fpsmod)的选项? 我希望当我在webm中为原始视频和已处理视频转储逐块时间戳时,每个块的PTS在两者之间匹配。

0 个答案:

没有答案