Fil*_*pok 2 transcode record vlc stream rtsp
我在使用 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}"
Run Code Online (Sandbox Code Playgroud)
在 MacOS 上它工作正常,但在 Windows 下它会创建不可读的文件。媒体信息输出:
General
Complete name : C:\123.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 1.08 MiB
Run Code Online (Sandbox Code Playgroud)
有什么建议?
小智 6
您的目标网址似乎不正确。尝试这个:
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}"
Run Code Online (Sandbox Code Playgroud)
对于 Linux 用户来说,ffmpeg单独使用即可立即工作。
如果您想在录制时观看流,请写入 a.mkv而不是.mp4.
此示例将覆盖您的主文件夹中的文件,video.mp4而不会因-y参数而询问,并保留原始编解码器。
ffmpeg -i rtsp://192.168.42.1/live -vcodec copy -acodec copy -y ~/video.mp4
Run Code Online (Sandbox Code Playgroud)
注意:此示例网址适用于Ambarella 小米 Mijia 4K 摄像机,与许多 wifi ip 摄像机一样,您必须首先通过 telnet 激活流,对于此特定型号,在通过 rtsp:// 读取流之前发送命令:
echo '{"msg_id":257,"token":0}' | telnet 192.168.42.1 7878
Run Code Online (Sandbox Code Playgroud)