我尝试使用Windows中的VLC命令行从IP摄像机捕获并记录到文件rtsp视频流(h.264)。
我可以使用简单的方式查看流:
vlc -vvv rtsp://10.1.5.228:554/live.sdp
每次都有效。但是,当我尝试使用
录制30秒视频时vlc -vvv rtsp://10.1.5.228:554/live.sdp --sout file/mp4:test.mp4 --run-time=30 vlc://quit
结果不稳定 - 有时它实际上记录了视频(然后它的大小约为5 MB),但大多数情况下它只创建几乎空的mp4文件(它总是713个字节)。
我认为它可能与h.264帧间压缩(由相机编码)有一些共同之处,但问题是:如何解决此问题并在每次尝试时记录流。
答案 0 :(得分:0)
这看起来就像你只是将rtsp流转储到一个文件中,这可能容易出错。尝试将你的sout链变成这样的东西。将X和路径替换为您的环境。
vlc -vvv -I dummy rtsp://10.1.5.228:554/live.sdp --sout='#transcode{venc=x264{aud,profile=baseline,level=30,no-cabac},vcodec=h264,vb=800,width=XXX,height=XXX,fps=24.0}:std{mux=mp4,dst="/Your/Path/To/recordings/recording_XXX.mp4",access=file}' --network-caching=3000
简单地将流转储到文件中将如下所示:
vlc -vvv -I dummy rtsp://10.1.5.228:554/live.sdp --sout='#standard{access=file,mux=mp4,dst=/Your/Path/recording.mp4}'