VLC如何播放灵派直播编码器SRT流
本文镜像:https://www.linkpi.cn/archives/307
本文链接: https://blog.csdn.net/weixin_45326556/article/details/106121448
VLC如何播放灵派直播编码器SRT流
- 1. 背景知识
- 1.1 VLC是什么
- 1.2 SRT是什么
- 1.3 灵派直播编码器是什么
- 2. 灵派直播编码器配置
- 2.1 第一步:登录
- 2.2 第二步:编码设置
- 3.3 第三步: SRT设置
- 3. VLC配置
- 4. 延迟测试
- 5. 总结
1. 背景知识
1.1 VLC是什么
VLC
是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议。VLC
是VideoLAN
的一个项目,而VideoLAN
, 既是一个项目组,也是一家非盈利组织。它拥有VLC, VLMC, DVBlast , multicast, x264等等项目,其中VLC是知名度最大的播放器,它支持WINDOWS, LINUX, ANDROID,苹果IOS等平台。VLC
是基于PLUGIN
设计,内部通过各个PLUGIN
模块连接起来,所以非常灵活。VLC
为了消除网络抖动引起的卡顿,通常内存的缓冲设得比较大,因此延迟比较大,并不适合用来做低延迟播放的测试。
1.2 SRT是什么
SRT
是Secure Reliable Transport的简称,其含义如下表。这个视频传输协议可以在具有挑战性的网络之下进行直播。
缩写 | 描述 |
---|---|
Secure | Encrypts video streams |
Reliable | Recovers from severe packet loss |
Transport | Dynamically adapts to changing network conditions |
SRT
是一个开源低延迟视频传输协议。它拥有三大特点,安全,可靠,低延迟。安全方面,SRT
支持AES
加密,保障端到端的视频传输安全。可靠性方面,SRT
通过前向纠正技术(FEC
)保证传输的稳定性。低延迟方面,由于SRT
建立在改进型的UDT
协议之上,解决了UDT
协议传输延迟高的问题,又解决了UDP
网络通信复杂的传输时序问题,可以做到支持高吞吐量文件和超清视频的实时传输。
在一般人眼里,RTMP
是互联网直播视频的事实标准。但RTMP
协议已经很久没有更新了,该标准在2012年最后一次更新过后就被放弃了。新的Codec
诸如HEVC
或AV1
都没有被RTMP
标准支持。导致各个厂家各自为战,无法互通,这就是为什么VLC
等常见的播放都无法播放H265
的RTMP
流的原因。现在SRT
联盟有超过250家企业和组织,受到VLC
, GSTREAMER
, FFMPEG
, OBS
, VIMX
等的支持,可以预见的未来,SRT
必将取代RTMP
。
SRT开源代码请参见https://github.com/Haivision/srt 。
1.3 灵派直播编码器是什么
从天眼查那里看到,灵派科技成立于2018年,短短2年时间,其开发出几十个各类板卡,其实力不容小觑,在其淘宝店https://shop311407601.taobao.com上可以看到他们有各种开发板以及好几款编码器,其中一路编码器叫ENC1,双路4K@30编码器叫ENC2,双路4K@60叫ENC2 PRO,5路4K@30编码器叫ENC5,9路编码器叫ENC9,18路编码器叫ENC18,未来是不是有ENC32, ENC48,ENC64呢?我们翘首以待。编码器行业里的多路编码器的路数大多都是2的幂或者2的倍数,但灵派科技的的编码器竟然有5路,9路这类非2相关的路数,实属罕见。
灵派编码器是开源的,源代码可以参见 https://gitee.com/LinkPi/Encoder。灵派编码器的使用说明书参见https://gitee.com/LinkPi/Encoder/wikis/pages。该公司的编码器竟然还可以通过微信小程序来管理局域网内的编码器,为了方便用户,他们也是拼了。编码器管理用微信小程序:https://gitee.com/LinkPi/Encoder/wikis/pages/preview?sort_id=2165970&doc_id=338777 。
2. 灵派直播编码器配置
从线上的使用说明书可以看到,灵派编码器的配置界面高度一致,只是不同的型号的路数不同而已,下面我们就以其最简单最便宜的单路编码器(ENC1
)来举例。
2.1 第一步:登录
灵派编码器默认IP为 192.168.1.217 ,如果您的网络在其他网段,可以参考【常见问题】进行配置。通过浏览器(推荐使用chrome内核的浏览器),访问http://192.168.1.217,弹出登录对话框,输入账号密码后就进入了后台配置首页,如下图所示:
从上图所示,后台配置首页主要是显示一些状态,例如CPU使用率,内存使用率,核心温度,网络的吞吐率,HDMI输入口的状态,以及预览画面。从状态上看到的温度确实不低,但经过实际测试,这并不影响性能,海思的CPU看来是挺强悍的。预览画面并不流畅,一帧一帧的,怪难受的,但如果你用过他的ENC18,你就知道为什么他们会这样设计了,要知道如果是18路视频解码预览的话,再强的CPU都搞不定的;而且这样的设计兼容性很好,不需要安装任何插件都可以显示,而且支持所有的浏览器。
2.2 第二步:编码设置
在首页的菜单栏选择编码设置就可以进入编码设置了,如下图所示:
如上图所示,你可以设置编码的分辨率,编码的分辨率可以和HDMI输入的分辨率不同,例如你的HDMI输入信号的分辨率是1080p,但编码可以设置成720p,编码器内部会做相应的scale(缩放);常见的分辨率可以在下选框里选择,但如果没有找到,可以点高级编码参数手工输入你要的编码分辨率。在这个界面还可以设置编码方式,支持H264的base, main, high profile,也支持H265的main profile;在编码方式下选框里还有一个关闭
,这个关闭编码的意思,这样可以节省编码资源,留出足够的编码能力给其他通道用。
有些客户想得到几十毫秒级的延迟,可以把编码帧率设为60,GOP设为1,同时在高级编码参数参数里把低延迟
开关开启,如下图所示:
3.3 第三步: SRT设置
在首页的菜单栏选择输出设置就可以进入输出设置了,如下图所示:
在输出设置页面,点击SRT设置选项卡就可以进入SRT设置页面,如下图所示:
如上图所示,SRT主要有模式,IP,端口,延迟等参数,下面详细介绍:
模式:SRT支持listener,caller和rendezvous模式,由于VLC仅仅支持caller模式,所以编码器这边必须设置为listener模式。
IP:对于listener模式,IP必须为127.0.0.1;对于caller模式,就必须填写对方的IP(也就是开启listener模式设备的IP,例如开启listener模式的OBS或者VMIX的电脑IP)。
端口:发送端和接收端约定的端口,通常要大于1024。
延迟:延迟参数,单位为毫秒,在好的网络里可以把这个参数调低,以获得更低的延迟,但在差的网络里,最好是提高延迟以获得较高的图像品质。
3. VLC配置
目前VLC并不支持SRT的listener模式,仅仅支持SRT的caller模式;在VLC界面上选择媒体
菜单,选择打开网络串流
,弹出一个输入框,在输入框里输入SRT网络流的URL。SRT的网络流URL格式:srt://编码器ip:SRT端口?mode=caller&latency=延迟ms,例如编码器的IP是192.168.1.217,SRT端口为9001,则VLC的播放URL为srt://192.168.1.217:9001?mode=caller&latency=50
。如下图所示:
点击播放按钮,就可以出现图像了,如下图所示:
4. 延迟测试
为了方便测试延迟,我们用笔记本输出信号源给ENC1编码器,ENC1编码器输出SRT流,然后在同个笔记本用VLC来接收,一截屏就知道延迟了,如下图所示:
从上图看,总延迟是131:12.510-131:10.925=1.585秒,这个延迟太大了。这个延迟比vMix解SRT流的延迟大多了,参见下图:
如上图,VLC延迟为:17:26.605-17:25.275=1.330秒;而vMix的延迟为:17:26.605-17:26.289=0.316秒。
5. 总结
VLC虽然很方便,但仅仅支持SRT caller模式,而且延迟很大,但如果对延迟无要求也是不错的选择。
VLC如何播放灵派直播编码器SRT流相关推荐
- 网红直播学习:VLC如何播放灵派直播编码器SRT流
1. 背景知识 1.1 VLC是什么 VLC 是一款自由.开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD.音频 CD.VCD 及各类流媒体协议.VLC是VideoLAN的一个项目 ...
- 编码器SRT协议三种模式(listener, caller, rendezvous)简介
本文镜像:https://www.linkpi.cn/archives/1027 本文链接:https://blog.csdn.net/weixin_45326556/article/details/ ...
- VLC媒体播放器介绍
VLC媒体播放器介绍 VLC媒体播放器是一高度便携的多媒体播放器,可播放多种音视频格式,如:MPEG-1.MPEG-2.MPEG-4.DivX.mp3.ogg等,也支持DVD.VCD和各种流协议.它还 ...
- VLC插件在浏览器下(IE11)实现播放rtsp视频直播流
VLC插件 最近项目用到需要在浏览器上播放视频流,尝试了很多种方式去解决,包括使用ffmpeg转码成rtmp播放,websocket结合webrtc等方式,但是效果都不是很好,而且存在一定的丢包和搭设 ...
- VLC 如何播放SRT流
VLC 可以播放SRT流,但是很多人拿到srt流的url直接丢到VLC中却发现播放失败,这里备注下如何使用VLC播放SRT流 假如srt播放url为 srt://域名:端口?streamid=#!:: ...
- MFC+DuiVision结合VLC播放器开发直播客户端
MFC+DuiVision结合VLC播放器开发直播客户端 说明:windows 10 VS2015社区版 关键字:c++ VisualStudio DuiVision VLC播放器 开发这个视频播放器 ...
- NGINX-RTMP直播服务器搭建-OBS录制推流-VLC视频流播放
转载地址:https://blog.csdn.net/boonya/article/details/78663675 网上关于视频直播的资料还是挺多的,看了一些文章,自己也动手实践了下.主要有三个步骤 ...
- 8K播放网络全终端播放器H5播放器网页直播/点播播放器EasyPlayer和vlc播放RTSP流地址不兼容问题排查解决
背景介绍 EasyPlayer实现了对遵循标准流媒体码流协议进行实时播放以及码流录制,在流的播放速度以及画质的解码显示上均做了大量深度的优化.支持Windows(支持多窗口.包含ActiveX,npA ...
- 灵派海思SDK的API参考手册
本手册镜像地址:https://gitee.com/LinkPi/LinkLib/wikis/pages 灵派海思SDK的API参考手册 1. 概述 基本接口详解 LinkObject Link Js ...
最新文章
- Nacos下载与安装-windows
- android虚拟键盘挡住布局,Android全屏时软键盘遮住输入框修改布局解决方案
- 第10章:Shell基础
- IOS开发之__bridge,__bridge_transfer和__bridge_retained
- HTML+CSS+JS实现 ❤️卡通人物吃水果游戏❤️
- 【Python】汉诺塔问题
- 阿里中间件首席架构师钟华:《企业IT架构转型之道:阿里巴巴中台战略思想与架构实战》新书出版(含试读PDF)!...
- 【图形学概览】几何折叠 Geometric Folding
- 长链接转短链接 在线工具详细教程——附上各大短网址性能详细评测
- 【Oracle】批量造测试数据
- GEO TCGA公共数据挖掘培训
- 计算机教程无线路由器桥接上网,两个无线路由器怎么桥接?如何桥接两个无线路由器...
- 【MyEclipse】配置代码格式化模版
- wireless_ultimate技术所得
- 1.3 基于协同过滤的电影推荐案例
- unity 之 Particle 二
- 图片批处理工具:ImageSize Mac
- MATLAB利用散点进行函数曲线拟合
- (29)pycharm文件操作
- Mac OS安装NS 3
热门文章
- Java中令人眼花撩乱的数字魔法!
- 店铺详情怎么写?拓嘉辰丰告诉你方法
- PHP 屏幕亮度,win10屏幕亮度调不了怎么办
- 产品经理业务流程图的绘制流程
- code block怎样导入整个文件夹_手机资讯:【爱思助手6.0】视频导入教程
- 【问题处理】warning Require self-closing on HTML elements (div) vue html-self-closing
- 手机实现esp8266远程控制解决思路记录
- 树莓派3B 初始化 必须的设置
- 2022款华硕a豆14 pro和华硕a豆14区别选哪个好
- IDEA删除module时提示Module does exist