问题描述
我的 RTSP 流的 FPS 非常低且非常不稳定(在 0.2 ... 0.5 之间变化)。它是使用 -skip_frame
标志生成的,以尽可能减少网络和 cpu 使用率:
ffmpeg -skip_frame nointra -i <rtsp-source> -vsync 2 -f rtsp <low-fps-destination>
因此,连接到该流并看到第一个有意义的图像需要很长时间(1 ... 3 分钟)。我希望这个流可以在没有任何调整的情况下与通用播放器一起使用,所以我决定以更高的 FPS(准确地说是 10)重新播放它:
ffmpeg -i <low-fps-source> -vf "fps=fps=10,setpts=N/(10*TB)" -f rtsp <normal-fps-destination>
不完全确定该命令是如何工作的,但它以某种方式成功并将连接时间减少到大约 5 秒。但是,我怀疑它以突发方式输出帧,这并不理想。例如,如果原始低 fps 流包含相隔 3 秒的 2 帧,我的重新流命令(可能)执行以下操作:
有没有办法使我的重新流式传输命令输出帧均匀(具有恒定的 FPS)?或者也许有另一种方法可以减少 RTSP 连接(缓冲?)时间?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)