【发布时间】:2022-01-17 13:42:53
【问题描述】:
说明
我通过 ffmpeg 将 USB 摄像头流推送到名为 SRS 的 RTMP 流服务器。
SRS 为我保存了一个 MP4 文件。帧速率在 VLC 中不是一个常见的值 - 它是 14.939948。我已经检查过了 - 它似乎是 'ntsc' 格式。
同时,我收到了 OpenCV 的流并将其保存为另一个 MP4 文件。它们没有同步。
我尝试通过 ffmpeg 转换帧率,但仍然不同步。制作它的唯一方法是将其放入 Adobe Premiere 和 modify the frame rate。这是我执行的 ffmpeg 命令:
ffmpeg -i 1639444871684_copy.mp4 -filter:v fps=15 out.mp4
除了流服务器,如何将帧率转换为正常并同时保持同步?
【问题讨论】:
-
我想您要问的是您有一个以每秒 14.939948 帧的速度播放的视频,并且您想对其进行插值以使其以 15 fps 的速度运行,但仍以相同的速度播放。做一些快速的数学运算,您可以通过每 249 帧复制一次来实现这一点。也许是一种电视电影方法,其中插入的帧是它之前的帧和之后的帧之间的混合(即两帧上的 alpha 为 50% 以制作复合模糊帧)。我不知道这是否看起来不错。
-
谢谢你,塞尔比!我不认为这对我来说是一个简单的方法,但我希望比我更好的人能看到你的答案。
标签: ffmpeg rtmp simple-realtime-server