![将 RTSP 流保存到文件时出现错误的帧速率和元数据](https://linux22.com/image/1589487/%E5%B0%86%20RTSP%20%E6%B5%81%E4%BF%9D%E5%AD%98%E5%88%B0%E6%96%87%E4%BB%B6%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E8%AF%AF%E7%9A%84%E5%B8%A7%E9%80%9F%E7%8E%87%E5%92%8C%E5%85%83%E6%95%B0%E6%8D%AE.png)
我使用 VLC 将 IP 摄像机的 RTSP 流保存为 mp4 文件。在转换/保存对话框中,我选择
+ Encapsulation: MP4/MOV
+ Video codec: Keep original video track (not using transcode)
VLC 已成功保存文件,但文件的一些元数据有误。文件大小约为 25GB(约 12 小时),但元数据中的持续时间为 7 分 25 秒。
Stream 0:
Codec: H264- MPEG-4 AVC (part 10) (avc1)
Video resolution: 1920x1080
Frame rate: 2701.222144
当我找到 7:25(进度条结束)时,视频并没有停止,vlc 仍然继续播放。
我也尝试使用 vlc 命令行,但保存的文件仍然有错误的元数据。
cvlc --rtsp-http RTSP_URL --sout "#std{access=file,dst=vlc.mp4,mux=mp4}" vlc://quit
我认为 VLC 的 RTSP 流时间戳有问题。有人能告诉我关于这个问题的一些想法吗?非常感谢!
答案1
我的解决方案:
- 将流保存为多个小文件(例如:每个文件 60 分钟)
- 使用 untrunc 工具修复损坏的文件