SRT流进入Wowza Streaming Engine以后,就可以面向不同的播放终端提供各种协议的直播流,也可以再转发给第三方CDN或其它服务器,也支持录制和时移。在这些方面,和其它协议注入的直播流是一样的。
1、首先你要在Wowza Streaming Engine的管理界面添加stream file,这个功能我们在其它很多地方都说过,很简单。如下:
注意: 0.0.0.0的意思是当前Wowza服务器上的任何一个网络地址,端口10000是UDP端口。 请注意是否有被防火墙屏蔽。
2、在连接到live应用时,MediaCaster Type请选择"srt",如下:
配置完成了!这时你可以用支持SRT协议的设备(比如编码器、手机客户端、第三方软件等等)给Wowza Streaming Engine推流了。
3、当然了,还有另外一些参数配置,它们不是必须的,你可以根据你的需求来配置。请接着往下看:
4、我们知道stream file实际就是一个文本文件,它被保存在Wowza Streaming Eninge安装目录下的content目录下,找到这个文件,打开它,如果做了上面这些额外的参数,这个文件的内容就是一个json格式的配置,如下:
{ uri:"srt://0.0.0.0:10000", srtKeyLength: 0, srtPassPhrase:, srtTrafficType: MPEGTS, srtRecoveryBuffer: 400, srtLatePacketDrop: true, srtTimeMode: true }
这些参数的作用,简单介绍如下:
-
srtKeyLength:
密钥的长度,16代表128-bit AES; 32代表256-bit AES, 默认是0,表示不加密。
-
srtPassPhrase:
具体使用的密钥,它的长度就是上面srtKeyLength所定义的长度。
-
srtTrafficType:
音视频流的封装格式,目前仅支持MPEGTS,它是默认值。
-
srtRecoveryBuffer:
默认值400,单位毫秒,是一个缓冲大小,具体作用和使用场景得读读SRT源代码才行,我还没搞懂。
-
srtLatePacketDrop:
默认值true,意思是丢弃迟到的包。
-
srtTimeMode:
默认值true,字面意思是使用Time mode,具体作用和使用场景,我还不清楚。
注意,如果你决定向Wowza Streaming Engine推送SRT流时采用加密传输,那么srtKeyLength和srtPassPhrase这两个参数是必须要设置的,任何一个没有设置都不会对流加密。
我这里,再推荐两款支持SRT推流的手机APP, 一个是Haivision的play, 一个是Larix的Larix Broadcaster, 它们的iOS版本请在Appstore搜索,Android版本可以访问Google play,或者下载apk文件,点这里(最近发现也要翻墙才行)https://apkpure.com/cn/ 以及 https://softvelum.com/larix/android/
国内的硬件编码器,好像PBI的支持SRT了。点这里访问PBI官网,你可以打电话问问。
祝你测试顺利! 我是robin, QQ: 23024067