我在使用VLC播放器录制rtsp流时遇到问题。实际上我的方法适用于MacOS X,但在Windows中并不适用。命令行:
vlc -vvv rtsp://admin:admin@192.168.0.151/live/h264/ --sout="#transcode{vcodec=mp4v,vfilter=canvas{width=800,height=600}}:std{access=file,mux=mp4,dst=C:\123.mp4}"
在MacOS上它工作正常,但在Windows下它会创建不可读的文件。 MediaInfo输出:
General
Complete name : C:\123.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 1.08 MiB
有什么建议吗?
答案 0 :(得分:3)
好像您的目标网址不正确。试试这个:
vlc -vvv rtsp://admin:admin@192.168.0.151/live/h264/ --sout="#transcode{vcodec=mp4v,vfilter=canvas{width=800,height=600}}:std{access=file,mux=mp4,dst=C:\\123.mp4}"
答案 1 :(得分:2)
对于 Linux 用户,单独使用 ffmpeg
可以立即生效。
如果您想在录制时观看流,请写入 .mkv
而不是 .mp4
。
由于 video.mp4
参数,此示例将覆盖主文件夹中的文件 -y
,而不会询问,并保留原始编解码器。
ffmpeg -i rtsp://192.168.42.1/live -vcodec copy -acodec copy -y ~/video.mp4
注意:此示例 url 适用于 Ambarella Xiaomi Mijia 4K 摄像机,像许多 wifi ip 摄像机一样,您必须首先通过 telnet 激活流,对于这个特殊的在通过 rtsp:// 读取流之前对要发送的命令进行建模:
echo '{"msg_id":257,"token":0}' | telnet 192.168.42.1 7878