linux下使用vlc命令行推流
Linux使用VLC命令行推流桌面RTSP
VLC使用总结
关键字: VLC, streaming server, VOD server, media trascoding, streaming media player, audio broadcasting over IP, 音频广播 在线广播 Live radio broadcast
VLC是一个跨平台的多媒体框架,可以作为(流)媒体播放器,VOD服务器,流媒体服务器,multicast RTP多播音频服务器,媒体文件转码等功能。
同时在使用方面提供了HTTP REST API,telnet,命令行,图形界面,VLM配置文件的方式。
编程方面有libVLC可供使用,提供多种binding方式,不过本文主要关于命令行下面的简单操作与使用,算是对官方VLC howto的一个验证(官方文档有一些都跑不起来,需要理解相关的原理,可以作为深入理解VLC的参考资料)
使用环境:Ubuntu 18.04下VLC相应的版本
1. 命令行下VLC 将本地视频文件ts流往客户端发送
cvlc -vvv xxx.mp4 --sout '#transcode{vcodec=h264,vb=800,scale=1,width=1360,height=768,acodec=mp4a,ab=128,channels=2,samplerate=44100}:rtp{dst=192.168.50.128, port=9000, sdp=rtsp://:9000/}'
2.命令行下VLC 将桌面ts流往客户端发送
cvlc -vvv screen:// --sout '#transcode{vcodec=h264,vb=800,scale=1,width=1360,height=768,acodec=mp4a,ab=128,channels=2,samplerate=44100}:rtp{dst=192.168.50.128, port=9000, sdp=rtsp://:9000/}'
命令参数含义:
A.参数"xxx.mp4":指定本地的媒体文件路径(绝对或相对路径);
B.参数"sout":表示输出流;
C.参数"transcode":表示转码,转码规则:
"vcodec":表示视频编码格式,
"vb":表示视频位率如800表示800kb/s,
"width"和"height":分别表示视频宽度和高度,
"acodec":表示音频编码格式,
"ab":表示音频位率,
"channels":表示音频声道,
"samplerate":表示音频采样率;
D.参数"rtp":表示RTP协议参数的设置,以上命令中"rtp"段命令也可简写成这样:":rtp{sdp=rtsp://:9000/}"
简写命令:
cvlc -vvv xxx.mp4 --sout '#rtp{sdp=rtsp://:9000/}'
cvlc -vvv screen:// --sout '#rtp{sdp=rtsp://:9000/}'

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)