前言
Secure Reliable Transport(SRT)是安全、可靠、低延时的多媒体实时传输协议。SRT协议使用AES进行数据加密,运用FEC进行前向纠错,并且有流量控制、拥塞控制。类似于QUIC协议,SRT采用UDP代替TCP,在应用层提供发送确认机制、ARQ自动重传,减少端到端的延迟。
SRT探测实时网络带宽状况,有利于补偿网络拥塞引起的jitter网络抖动和带宽下降。为了实现低延迟码流传输,SRT协议会携带delay、jitter、丢包等信息。SRT提供多路复用机制,允许多个请求共享相同的端口。
随着RTMP协议的停止更新,以后SRT协议会有相当大的发展潜力。
本文参考资料:
参考:安全可靠的SRT实时传输协议_srt协议-CSDN博客
参考:网红直播学习:VLC如何播放灵派直播编码器SRT流_如何用vlc出srt-CSDN博客
参考:RTMP vs SRT:延迟与最大带宽的比较_srt rtmp-CSDN博客
注意:
1. 以下指令中,mode=listener 为推流, mode=caller 为拉流,latency 为延迟
2. 视频的地址,需要替换为自己的路径
3. 在Windows中,路径需要使用 / ,或者 \\
4. 使用的地址,是本地地址,例如自己的IP是192.168.1.113,那么推流和拉流的地址都是这个
一、Windows下本地回环测试
- 使用gstreamer推流:
gst-launch-1.0 -v filesrc location=C:/Users/XXX/Desktop/testVideo/1080p_60fps_h264.mp4 ! decodebin ! x264enc ! mpegtsmux ! srtsink uri=srt://127.0.0.1:8088?mode=listener
- 使用VLC播放SRT流:
使用VLC,打开网络串流:
输入地址:srt://127.0.0.1:8088?mode=caller
可以看到播放的效果:总的来说还是非常好的
二、Ubuntu推流,打开局域网的SRT视频
在Ubuntu中安装gstreamer,然后命令:
gst-launch-1.0 -v filesrc location=./1080p_60fps_h264.mp4 ! decodebin ! x264enc ! mpegtsmux ! srtsink uri=srt://192.168.1.113:8088?mode=listener
在局域网中,使用VLC播放
srt://192.168.1.113:8088?mode=caller&latency=50
连接速度非常快,效果也不错,SRT协议值得期待!!!
三、端口复用测试:
因为是3路1080P,60帧的视频流,但是发现占用CPU和网络的资源都不多,简直不要太牛文章来源:https://www.toymoban.com/news/detail-813664.html
文章来源地址https://www.toymoban.com/news/detail-813664.html
到了这里,关于gstreamer推流SRT协议视频,VLC播放SRT视频(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!