我目前使用如下命令接收并存储来自带有 openRTSP 的摄像机的 RTSP 流:
openRTSP -4 "rtsp://192.168.41.185/rtsp_tunnel?h26x=4&line=1&inst=2" > movie.mp4
我可以使用 FFmpeg 做同样的事情:
ffmpeg -i "rtsp://192.168.41.185/rtsp_tunnel?h26x=4&line=1&inst=2" -vcodec copy movie.mp4
来自相机的视频帧为 1280x720 (H.264),速度约为 30 fps,并带有毫秒时间戳。当我查看由 ffmpeg 创建的 movie.mp4 时,它看起来非常漂亮,视频流中的秒数似乎相当准确. 相反,如果我查看由 openRTSP 创建的movie.mp4,视频时间戳中的秒数肯定比现实中的秒长。因此,视频上的一秒钟实际上可以持续两秒钟。我做了几次测试,这不是网络性能或处理从相机接收到的消息的问题。原因似乎是消息被编码到这个 MP4 容器中的部分。
FFmpeg 这样做比 openRTSP 快得多吗?
我可以以某种方式优化 openRTSP 中的 MP4 编码吗?