可以简单理解为推流,就是将音视频数据推送至某IP的指定端口。拉流就是从该IP指定端口,拉取数据进行播放。那么数据传输过程中,我们可以使用的传输协议有很多,例如RTSP、RTMP、HLS等。
我们打开VLC播放器,选择“媒体”->“流…”
选择“文件”,点击“添加”,找到本地的视频文件并加入列表,然后选择“串流”
选择“下一个”
先选择传输协议为“RTSP”,点击“添加”
RTSP推流端口默认为8554,选择“下一个”
勾选“激活转码”,配置文件选择“Video - H.264 + MP3(MP4)”,然后“下一个”
生成的串流输出字符串,如下所示,在调用VLC库进行编程方式实现推流时,可参考该字符串,此处直接默认就好。
此时,我们点击“流”的话,立马就会开始推流,由于此时播放端,还没准备好,所以我们先把这个窗口保留在这里,播放端准备好了,再来推流。
我们还可以在如下图中,输入指定的IP地址,一般为局域网其他IP,那么就可以向局域网中其他机器推流视频了。
我们再打开一个VLC播放器,选择“媒体”->“打开网络串流”
由于我们并没有指定RTSP推流的IP地址,故默认为本机IP,端口默认为8554。
我们输入
rtsp://127.0.0.1:8554/
,如下:
先去推流端启动推流,然后再回来点击“播放”,即可播放视频,如下所示:
左边为播放端,右边为推流端。
若对你有帮助,欢迎点赞、收藏、评论,你的支持就是我的最大动力!!!
同时,阿超为大家准备了丰富的学习资料,欢迎关注公众号“
超哥学编程
”,即可领取。
设置VLC播放器进行RTSP推流视频一、推流与拉流概念二、设置推流端三、设置拉流端(播放端)一、推流与拉流概念首先,做几个名词解释。推流,指的是把采集阶段封包好的内容传输到服务器的过程。拉流,这个指的是用户端从服务器拉取语音视频流到客户端播放。可以简单理解为推流,就是将音视频数据推送至某IP的指定端口。拉流就是从该IP指定端口,拉取数据进行播放。那么数据传输过程中,我们可以使用的传输协议有很多,例如RTSP、RTMP、HLS等。RTSP(real time streaming proto
基于
VLC
实现
RTSP
推流
视频
一、添加
VLC
头文件和库文件二、封装
RTSP
Server
推流
类三、测试代码
不清楚
推流
大概原理的小伙伴,参考《
设置
VLC
播放器
进行
RTSP
推流
视频
》
一、添加
VLC
头文件和库文件
我们创建一个测试工程RSTPVideo,使用的
VLC
版本为2.2.4,在pro文件中添加如下内容:
win32 {
#
VLC
相关库
LIBS += -L$$PWD/../
VLC
/lib -llib
vlc
-llib
vlc
core
#
VLC
头文件目录
INCLUDEPATH += $$PWD/..
rtsp
推流
桌面,
vlc
拉流
首先去
vlc
下载官网:https://www.videolan.org/ 下载
vlc
播放器
。
1.
vlc
下载完成之后打开
vlc
,点击媒体—>流
2.在捕获模式选择‘桌面’,帧率选择30帧/秒;然后选择
串流
并点击
3.点击下一个
4.目标里面选择
RTSP
,添加,然后点击下一个
5.端口不要改变,路径的话可以随便填写,但前提是你能记住,然后点击下一个
6.点击下一个
7.记住划了红线的部分,
rtsp
://8554/test1。点击流
8.新打开一个
vlc
播放器
VLC
播放
RTSP
流
rtsp
测试流:
rtsp
://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov
编辑器:sublime
浏览器:IE(注意:这里只能用IE)
采用
VLC
播放
RTSP
流有个最大的好处是不需要转码,减少了转化时间,也就是减少了时延。
然而我自己摸索怎么下载和播放的时候处处碰壁,搞了好久却还是临门一脚的状态,后面被前辈指点后发现,其实我大方向都是对的,网页上的
视频
出不来是因为一些小的地方没注意。而且,前辈教我的方法超级简单。
然后,您可以使用以下命令使用 ffmpeg 将摄像头
视频
推流
到
VLC
:
ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video0 -f mpegts udp://localhost:1234
这里,/dev/video0 是您的摄像头设备文件。framerate 和 video_size 参数分别指定
视频
帧率和分辨率。您可以根据需要调整这些参数。
接下来,打开
VLC
,在菜单中选择 "媒体" -> "打开网络流",然后在弹出的窗口中输入 "udp://@:1234"。点击 "播放" 即可在
VLC
中播放摄像头
视频
。
注意:如果您的树莓派与
VLC
运行的设备不在同一个网络中,则需要使用公共 IP 地址或域名替换 "localhost",并确保网络环境允许流媒体传输。