如何将 RTSP 流转储到文件中?
对于 RTMP,我可以这样做:
rtmpdump --quiet --start=0 --stop=10 -rtmp=[Path to stream] --flv=dump.f4v
我需要为 RTSP 做同样的事情。我在 OS X 上,可以访问 VLC、python 和 ffmpeg。
我只需要保存一小段 10 秒的流样本来测试服务器。
使用 FFmpeg 或其分支 Libav,您确实可以转储“RTSP 流”:
avconv -i "rtsp://[Path to stream].sdp" -acodec copy -vcodec copy -f mp4 dump.mp4
稍后您可以使用以下命令回放转储:
avplay dump.mp4
您还可以使用“mplayer”或“vlc”进行播放。
您可以使用以下命令将其与 FFmpeg 一起转储。
ffmpeg -i "[流的路径]" -t 10 -c 复制转储.f4v
将“RTSP 流”“转储”到文件是没有用的。RTSP 是客户端和服务器之间的双向对话。每次运行时字节内容都会发生变化,因此您无法以任何有意义的方式重播捕获的数据。
如果您的问题只是关于检查服务器是否正常工作,则 vlc 或 ffplay 都可以充当 RTSP 客户端。在此场景中,您必须已使用媒体文件(通常为 .mov 或 .mp4 格式)配置服务器。请参阅服务器说明以了解如何完成此操作。
启动 ffplay 客户端将具有以下形式:
ffplay rtsp://192.168.1.2/movie/blade.mp4