黎 梅
广西广播电视台 广西 南宁市 530022
在数字电视时代,传输电视现场直播信号时无论采用何种传输技术,首先要将直播信号的视音频内容进行数字化编码,之后通过不同信道传输,在接收端重新解码视音频数据并转换为电视信号,采用卫星、光纤、微波等传统传输技术与采用互联网传输最大区别仅是传输链路、协议不同。
传统电视信号的传输技术各有缺点,如卫星传输价格较高,光纤传输要求在指定地点,微波传输对直线距离有一定要求和限制。互联网传输的优点是网络接入点多,成本低,传输距离远,在网络带宽允许情况下可以承担传输任务。
通过互联网传输电视信号的缺点在于其采用的不是专用网络,存在网络带宽不稳定、数据时延不确定等问题,因此一直没有广泛应用。随着电信技术发展,互联网传输速率越来越高。据统计2022 年,中国固定互联网宽带接入速率在100M 和1000M 之间占比为78.4%,1000M以上占比为15.6%,20M 和100M 之间占比为4.8%,20M 以下为1.2%。高带宽使得通过互联网传输电视信号成为可能,这一点在网络视频直播领域得到验证和应用。
互联网常用的网络视频直播协议主要有RTMP、RTSP、HTTP 等,分别基于TCP 或UDP协议工作。
RTMP 协议基于TCP,设计用于进行实时数据通信的网络协议,主要在支持RTMP 协议流媒体/交互服务器之间进行音视频和数据通信。
RTSP 是多媒体播放控制协议,用来控制多媒体串流暂停/继续、后退、前进。RTSP 在体系结构上位于RTP 和RTCP 之上,使用TCP 或UDP 完成数据传输。
在视频直播/点播时,将多媒体流数据切片封装到HTTP 协议中进行发布。
表1 针对这三种协议进行比较,重点在于丢包和延时方面。如表1 所列,RTSP 协议直播延时最低,得益于其在传输多媒体流数据时采用丢包不重传的UDP 协议,但是也容易因丢包而造成解码错误,使视频画面出现花屏、马赛克之类现象。
RTMP、HTTP 协议是基于TCP 协议,采用丢包重传机制,可以保证IP 数据包可靠传输,由于RTMP 协议比HTTP 协议延时低,相比较之下RTMP 协议更适合用于电视现场直播信号传输。
RTMP协议是Adboe公司私有协议,传输flv、f4v格式流,视频编码为H.264,音频编码为AAC。
RTMP 协议应用于网络视频直播时有两种工作模式,一种称为“推流”,指将编码后的视音频流传输到RTMP 服务器,另一种称为“拉流”,指客户端从RTMP 服务器获取其缓存的视音频流。一般的网络视频直播系统由图1所示的这三个部分组成。
图1 RTMP 直播结构
RTMP 推送端将视音频信号按flv、f4v 的格式要求进行编码、封装后,将这些多媒体流数据重新分片发送到RTMP服务器。
RTMP 服务器将收到的流数据暂存在本机内存或磁盘中,并提供RTMP 转发服务,将流数据发送给已连接的RTMP 接收端。
RTMP 接收端根据指定地址与RTMP 服务器建立连接,从RTMP 服务器上取得所需要的多媒体流数据。
RTMP 协议虽然可以在支持TCP/IP 协议的卫星、光纤链路上传输流数据,但相比于传统电视信号传输技术并没有优势,其主要应用互联网传输多媒体流。
图1 是RTMP 网络视频直播的应用架构,在用于传输电视现场直播信号时,需要在原基础上进行修改,增加电视行业专业设备,如图2所示。
图2 广播电视行业RTMP 协议应用
RTMP 推送端设备由视音频采集/输出设备和视频编码器组成,前者主要是电视行业常用的数字摄像机、录像机等设备,其作用是将电视信号通过SDI 接口输出;视频编码器则对输入SDI 信号进行编码,并按RTMP 协议将视音频流推送到指定RTMP 服务器。
市售SDI 视频编码器价格从1 千多元至数万元不等,但功能相差不大,价格差别主要体现在编码质量、性能及稳定性等方面。由于RTMP 推送端多数用于将外场直播信号回传到台内,考虑到外场环境下可能无法提供固定电源和宽带,因此有一些专为这种环境下使用的移动SDI 视频编码器,其自带充电电池,并可以通过Wi-Fi 或内置3G/4G 电话卡上网,完成RTMP 协议推流。
视频编码器配置主要分为以下4 个部分:
(1)网络设置:配置编码器IP 地址、网关、子网掩码、DNS 等常用网络参数。
(2)视频参数设置:配置视频编码方式如H.264、H.265,及码率、帧频、关键帧间隔、视频尺寸等参数。
(3)音频参数设置:配置音频编码如AAC、MP3,及音频采样率、通道、码率等参数。
(4)RTMP 参数配置:配置RTMP 服务的IP 地址(或域名) 及上传端口号(一般为1935),另外就是上传至RTMP服务器的目录名称以及上传节点(流名称),这几个参数缺一不可。
一个RTMP 流的连接串由RTMP 参数配置项的信息组成,包括协议名称、IP 地址(或域名)、端口号、上传目录名称、上传节点(流名称)五部分组成,例如:RTMP://172.16.66.21:1935/live/stream001。
RTMP 服务器不对接收到的流数据重新进行编码,而仅作缓存和转发,因此编码器视音频参数决定最终电视信号质量。由于传输电视信号时视频数据占比较高,重点在于根据网络带宽设置视频码率,当视频采用H.264 编码时,传输1080i 高清电视信号码率设为5Mbps 以上,标清电视信号码率设为2Mbps 以上,符合电视播出要求。
RTMP 服务器主要由服务器硬件、操作系统、RTMP 流媒体服务器软件组成,其核心是RTMP 流媒体服务器软件,主要分为付费商业软件和免费开源软件两类。
付费软件代表是FMS(Adobe Flash Media Server,Adobe公司的流媒体服务软件)优点除稳定性、兼容性好之外,对于推送给FMS 的RTMP 流,接收端可以使用HLS 协议连接。
在免费RTMP 服务软件中,Red5(Red5 Mesia Server,Red5流媒体服务软件)是当前应用较多的一个,完全兼容FMS 的RTMP 协议。用Red5 替换FMS后,推送端、接收端的RTMP 连接参数基本不用修改就可以使用。Red5 的性能和稳定性相比FMS 稍差,且不支持HLS 协议。
此外还有Wowza、 CRTMPD、Nginx-RTMP、SRS 等付费或免费流媒体服务软件支持RTMP 协议,因此RTMP 服务软件可选范围很广。除了自行购买软硬件建立自己的RTMP 服务器外,还可以利用第三方的云视频服务如阿里云、腾讯云、网易视频云、乐视云等平台,实现RTMP 协议推流和拉流,从而发挥云平台并发能力和高带宽优势。
对于一般的网络视频直播,接收端只需在个人计算机、平板电脑、手机上通过影音软件播放RTMP 流,当用于电视信号传输时,需要增加将RTMP 流转换为SDI 信号环节。
低成本方法是通过电脑播放器+截屏转换输出方式,即用影音软件播放RTMP 流,将电脑显卡输出的VGA、DVI、HDMI等信号,通过转换器转换为SDI信号,图3 是通过北京东方艾迪普公司的B-BOX 视音频转换器将电脑显卡信号转为SDI 信号线路图。
这种转换方式对电视信号质量产生一些影响,例如播放时屏幕画面有时会拉条、某几帧画面不同步,或混入其它电脑软件输出声音等问题。
一些广播电视设备可以将RTMP 流通过其内置的SDI 视频板卡输出,如美国TVU Networks 公司TVU Pack 接收服务器,图4 是通过TVU Pack 接收服务器输出的画面,在带宽良好情况下,输出电视信号质量与通过传统传输技术相比没有差别。
图4 TVU Pack 接收服务器SDI 信号输出
使用RTMP 协议传输电视信号较之传统广播电视传输方式(光纤、微波、卫星),及同为互联网传输的RTSP、HTTP 协议而言,主要优势在于打破地域限制,其采用推、拉流工作方式,使得接收端只要连接互联网就可以接收信号,且一个来源信号可以在多个不同地点接收和解码使用,优势明显,缺点是传输信号延时较大,一般延时3 秒,当网络速率较低时,视音频信号会产生卡顿现象。
当使用RTMP 协议传输电视直播信号时,要保障信号稳定,除需要稳定可靠带宽外,还需要利用其推、拉流工作原理,合理分配信号流走向,如2017 年,广西广播电视台“壮族三月三”大直播时,将本台新闻频道直播信号通过RTMP协议传输给中央广播电视总台,上海、贵州、广东等多家电视台,采用多个SDI 视频编码器进行交叉推流,并通过一推一拉方式,保障8 小时信号传输,如图5 所示。
图5 “壮族三月三”大直播RTMP 传输系统
互联网利用RTMP 协议传输电视现场直播信号时,如果需要保证电视信号质量,应设置较高码率,对传输带宽和稳定性有一定要求,因此仍未在广播电视行业广泛应用。
当前H.265 编码开始使用,其在同等画质下比H.264 编码节省约50%的码率,市售大部分视频编码器支持H.265 编码,问题是少有RTMP 流媒体服务器软件支持H.265 编码,这使得H.265 编码暂时无法应用于RTMP 协议体系。随着RTMP 流媒体服务器软件升级换代,此种传输技术将会广泛应用。