多协议、性能稳定、丰富API的流媒体服务器软件
向Wowza Streaming Engine推送SRT流
从Wowza Streaming Engine 4.7.3开始,您可以向它推送SRT流。SRT的全称: Secure Reliable Transport, 关于这个协议的背景和介绍,你可以访问SRT联盟官网: https://www.srtalliance.org

SRT流进入Wowza Streaming Engine以后,就可以面向不同的播放终端提供各种协议的直播流,也可以再转发给第三方CDN或其它服务器,也支持录制和时移。在这些方面,和其它协议注入的直播流是一样的。

1、首先你要在Wowza Streaming Engine的管理界面添加stream file,这个功能我们在其它很多地方都说过,很简单。如下:

srt

注意: 0.0.0.0的意思是当前Wowza服务器上的任何一个网络地址,端口10000是UDP端口。 请注意是否有被防火墙屏蔽。

2、在连接到live应用时,MediaCaster Type请选择"srt",如下:

srt

配置完成了!这时你可以用支持SRT协议的设备(比如编码器、手机客户端、第三方软件等等)给Wowza Streaming Engine推流了。

3、当然了,还有另外一些参数配置,它们不是必须的,你可以根据你的需求来配置。请接着往下看:

srt

srt

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流时采用加密传输,那么srtKeyLengthsrtPassPhrase这两个参数是必须要设置的,任何一个没有设置都不会对流加密。



我这里,再推荐两款支持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