Educational Resources

用于推流的多通道编码技术基础知识

什么是编码?
   转码和码率转换
   有压缩或是无压缩的编码
   实时和非实时编码
   硬件和软件编码
   用于推流和录制的编码

什么是多通道编码?
   多通道编码的不同方式
   多通道编码的好处

什么是编码?

编码是指将采集到视频和/或生成的PC图文转换成数字格式,以便于录制、移动、复制、共享、修改或是对视频内容进行处理,以用于编辑、传输和观看。这些处理步骤需要遵守一系列的视频数字化规则,以确保视频能够在观众一端被“解码”观看。解码器可以是专用的硬件或只是软件播放器。编码过程可使用市场销售的标准或是专利的编码方案。

第一步:视频采集

编码的第一步是视频采集。这一步几乎都包含了同时采集音频(如果有音频的话)。

可供采集的媒体有很多。流行的视频采集信号源包括:摄像机、视频制作和切换设备及计算机生成的图文等。

对于摄像机、视频制作和切换设备,有不同的端口用于调出音频和视频。来自这些设备的用于连接编码设备的常用端口(I/O)包括:HDMI® 和SDI。

可以通过很多种方式采集PC生成的图文或是视频。可使用软件采集在PC显示器上显示的内容。另一个选择是通过常用的端口(如DisplayPort™或HDMI)采集PC的图文输出。甚至可以用硬件通过PCI-Express总线从PC内部采集。支持极高密度的采集和/或编码的产品与能够对多路IP摄像机或基带摄像机的视频进行拼接的GPU共同使用,可以用于360°全景视频、虚拟现实(VR)和增强现实(AR)的某些实时录制或是推流。

当使用软件编码(见下图)时,用于PC的采集硬件有很多种形式,如PCI-Express®卡、USB采集设备和其他采集设备。

 

下一步:视频编码

可使用硬件或软件进行视频编码。视工作流程不同,有各种不同功能和价位的硬件和软件。

PC采集硬件有多种形式,包括PCI-Express卡、USB采集设备和通过其他I/O的采集设备


很多种采集和编码视频的选择。手持移动设备有摄像功能,可同时创建编码的视频文件和直播视频流媒体。

转码和码率转换

转码码率转换是其他形式的编码。这指的是转换数字视频信号。一个转码的例子是将一种格式的视频文件(如MPEG-2)转换成另一个格式,如H.264。码率转换的一个例子是改变视频文件的分辨率或比特率特性,但保持同一格式,如H.264。对于某些转码操作,视频必须先被解码,再重新被编码。对于其他类型的转码,可以保持同样的编码格式,但像推流协议这样的参数有可能改变。

有时,在企业内部或是云端运行的软件可用于转码。各种转码操作的目标和性能要求有很大不同。推流工作流程所能容忍的延迟会影响对多种媒体的原始编码及转码选择。

 

有压缩或是无压缩的编码

可以以压缩或是无压缩方式编码原始视频。

比如,在视频编辑环境下,视频经常需要各种的处理,很多工作流程是设计为使用无压缩数字视频的。

如果视频是用来给网上的用户观看的,通常就需要压缩,这样它适合网络传输,还可供用户在不同设备上观看。

当视频由内容所有人直接发送给观众(不经过任何有线或是卫星电视供应商)时,我们通常称它“over-the-top”内容(来源于篮球术语“过顶传球”)或是简称OTT。几乎所有发送给观众的内容,无论任何格式,都属于压缩视频。这包括OTT、Blu-ray、在线流媒体,甚至电影院。

虽然视频可以以压缩或是无压缩方式被编码(数字化),当有压缩时,通常会使用视频编解码器

当编码目的为直播推流或是用于录制媒体点播推流时,需要使用视频编解码器——如H.264来压缩视频。软件和硬件解码器逆转编码的过程,让观众可以观看媒体内容。

网上有很多介绍如何评估流行的编解码器的信息。很多报告显示,H.264仍占相当大的市场份额。如:streamingmedia.com

2017年视频编解码器市场份额估算

实时和非实时编码

编码视频是一种可以实时或是带相当长的延时的操作。

比如,现在网上有的通过推流服务观看的电影或是节目的在线视频,它们使用多次编码,以利用能够综合提供最佳的性能和服务质量的压缩技术。画面质量和比特率通常成反比,提高一个因素就会降低另外一个因素。但视频比特率通过多次编码技术可以被大幅降低,但仍提供高画面质量和优异的性能。

了解更多关于多次编码的信息,请浏览afterdawn.com

对于其他应用,实时视频编码更适合。比如,在直播推流中,从摄像机拍摄到观众观看之间能够容忍的延时很小,视频通常在非常短的时间内被采集、编码和打包用于分发。

网上会议通常使用实时视频编码,专业的网播也是这样。

注意:网络会议和网播有“点播”版本,就是将会议内容录下来,以供观众日后方便观看时调出,使用的格式通常与录制现场活动时使用的实时视频编码器一样的格式。这是因为视频一旦使用带压缩的编码器编码后,质量就无法再提高了。

基于硬件和软件的实时编码器之间最大的功能差别之一,是在带宽有限的网络上的延时、质量和比特率优化。无论是基于硬件还是软件,最好的编码器都可以以很低的延时和比特率传输高质量的画面内容。

有时编码器可以与相应的解码器紧密耦合。这意味着厂家同时提供两端的产品,并有一定的优化功能。比如,源信号和目的地两端连接简便和自动连接功能、信号管理和切换,总体性能和质量可以调整以补充和增强传统硬件AV基础设施,在某些情况下甚至可以完全替代。

了解更多信息,请浏览AV over IP基础知识

硬件和软件编码

硬件和软件编码的区别在于硬件使用专用的硬件来进行编码处理,而软件编码则要依靠通用计算机的处理能力来编码。

使用专用硬件编码时,硬件专为自动执行编码处理而设计。设计得好的硬件可以提供更高质量的视频和低功耗,而且延时极低,还可提供其他功能。一般是在需要直播编码时安装这些硬件。

软件编码也需要利用硬件来完成,但使用非专用的处理功能,如计算机或手持移动设备里的CPU来完成。在大多数情况下,软件编码延时更长,消耗更多功率。如果需要编码高质量视频,对延时和功耗的影响会更明显。很多先进的CPU和GPU会具备一定程度的硬件加速功能,专用于编码。有些受I/O限制,主要用于转码。其他系统包含一个硬件编码器用于编码一路流媒体,比如说用于共享正在玩的视频游戏。

使用软件编码处理高质量视频的一个的典型例子是视频编辑:编辑需要经常存储修改的视频。使用无压缩的编码视频以保持质量。视频编辑完成时,重新编码(转码)视频,这次使用压缩,以供大家共同观看或是存储成一个小一些的文件。尽管无压缩的视频一般会存储在某个地点,以供日后编辑,用于观看的拷贝则通常是采用压缩格式的。传输无压缩的视频通常会占用很多带宽。即使是使用新一代的高带宽网络,使用压缩视频也会令有效带宽和伸缩性能达到最大化。

软件编码的另外一个例子是使用PC机的摄像头或是智能手持移动设备进行视频会议。这通常使用一个运行在CPU上能够高度压缩视频的软件完成。

用户可能搞不清硬件加速的编码与软件编码之间的区别。硬件加速对于不同工作流程作用不同。比如,很多手持设备包含CPU,可以加速编码高压缩率视频,用于像视频会议这样的场合。在这种应用中,硬件加速的目标是节省电池消耗,避免手持设备依靠软件在没有加速的情况下完成编码。如果手持设备只依靠软件,视频会议、观看YouTube 视频流媒体、或是观看存储在手机上的视频会很快耗尽电池。

编码任务的复杂程度和是否使用依靠通用计算机的计算能力的软件编码还是使用硬件加速是相关的。比如,一个复杂性的例子是如何在保持视频质量的同时大幅压缩视频尺寸,用于存储或在网络上传输。

这也是视频标准非常重要的原因之一。H.264格式长期使用意味着它在智能手持设备和PC机里是硬件加速的。这也是制作、共享和使用视频内容变得如此方便的重要原因之一。

为家庭用户提供电影和节目的视频推流服务有时使用基于软件的编码,以达到最高画面质量和最低的比特率,目的是为几百万同时观看的用户提供高质量、可靠的观看体验。但对于这种应用,一般使用大量计算机做长时间播放,以找到出最优化的编码参数。这不是实时完成的,更适合于点播流媒体,而不是直播推流。

对于主要用于窄播的编码,如视频编辑基础设施,使用不太复杂的处理技术更合理一些,这样能够使用无压缩或是有轻微压缩的编码视频。

对于企业、政府、教学机构和其他制作很多视频自用(而不是用来卖给消费者)的组织来说,需要均衡考虑多种变量。视频质量很重要,但保持视频质量的同时又要能够用于网络传输,以确保服务的稳定性和性能也同样重要。对于直播推流来说,延时低、视频质量高而且使用低带宽是首要考虑因素。“录制”用于点播观看通常在编码进行直播推流的同时进行。所以视频编码基础设施所使用的高带宽在此并不实用。而用于电影推流服务的高度优化的多次编码方法则过去昂贵,而且做不到实时,不符合应用要求。

用于推流和录制的编码

编码视频只是推流或录制的第一步。那么编码后的视频如何从编码器发送给观众或是录制设备?解码器需要把视频发送到某个目的地,但还需要告诉接收器它发送的是什么。

推流协议是各种不同的流媒体推送规则和优化运算方法,封装好以用于不同目的和优先权,如视频延时、网络带宽和多种设备兼容性、视频帧率、性能等。

推流协议令已编码的视频可以实时或是之后传输。协议并不影响视频本身,但影响用户/观众如何与视频互动、视频流媒体传输的可靠性或是哪种设备/软件播放器可以播放它。某些协议属于专利协议,只可供特定厂商的硬件使用,大大降低了互操作性及可观看内容的人群范围。

AV行业过度简单的产品通常使用专利流媒体格式,锁定固定的厂商,降低互操作性,而且大幅限制了这些媒体资产在企业内部的使用范围。但厂商确保自己生产的产品之间的互操作性。有时,客户愿意接受这种限制,因为他们相信大量的分发终端将无缝地互操作,而且厂家在出现不兼容、bug或其他问题时会提供足够的支持。

不同的协议用于不同的应用。比如,在一个本地网络上共享一个直播活动时,延时会是很重要的考虑因素。观众不一定需要回放控制,而网络可靠性由某些供应商来保障,所以对于成熟的纠错技术的需要并不高。在云端或是公用因特网上使用的协议跟AV over IP的基础设施使用的协议有可能不同。

当向多个平台发送流媒体,以在因特网上大规模分发时,HLS、MPEG-DASH和Web RTC是广泛分发视频常用的几种协议。在使用这些协议进行流媒体分发时,从制作公司向云服务上传流媒体有可能使用类似RTMP这样的协议。如果网络不稳定,但视频质量仍需要保障时,新出现的协议,如SRT有可能就成了最佳的选择。

Secure Reliable Transport (SRT)是一种新型协议,专为替换RTMP而开发。很多硬件和软件公司已提供对这种新的传输协议的支持。

还有很多本文未提及的协议,每种协议各有千秋。要了解更多 ,请观看 Matrox网络研讨会推流协议

当视频被存储时,而不是作为直播流媒体观看时,它需要一种存储方法。理所当然,有很多存储无压缩、轻微压缩和高度压缩的视频的选择。虽然我们可以对存储的视频文件进行处理,令它可以日后以不同的方式使用,对于存储后的视频最终会被如何使用考虑得越多,在采集时对于如何数字化就可以做出越有前瞻性的决定。就像以上讨论的推流问题一样,每个工作流程都有自己的工具。在多通道编码中,很多存储的选择都可以在采集的时候和/或使用媒体服务器和其他工具转码时就确定。

要了解更多信息,请观看《视频封装格式比较》。此链接还有其他信息链接,包括多媒体播放器比较及它们支持哪种封装格式。

回到页顶

什么是多通道编码?

多通道编码指可同时使用多个采集的视频源信号提供多路流媒体的能力。对于需要一路媒体源信号即时被观看(直播流媒体)或是之后被观看(点播流媒体)的应用来说,这是最有用的。多通道编码处理这类问题:同时观看的观众数目、观看设备类型(硬件、软件、无线设备等)以及用于之后点播服务的录制选项。

而在制作环境下,需要整个编辑环境都使用无压缩视频,大多数的多通道编码处理的是压缩视频,以用于在多个地点或是整个公共因特网上分发内容。

多通道编码的不同方式

有很多不同的工作流程,可以用来创建多路流媒体。

使用多通道编码器

一种生成多个不同流媒体的方法是使用一个能够处理多路流媒体的编码器直接产生多路流媒体。

多通道编码器

使用多通道编码器的好处是下游的处理环节所需要的硬件少一些。对所需要的通道的设置可以在本地进行并测试。这类编码器通常更加复杂一些,比起便宜的编码器功能更多,更灵活,而且通常可以提供更高质量的视频。

使用流媒体服务器

另一种方法是使用流媒体服务器,这通常意味着在专用设备、PC或是服务器上运行的软件。它把信号源流媒体作为输入,利用流媒体服务器的处理能力转码和复制可用的流媒体数目。某些流媒体服务器是运行在公司内部的。某些运行在云上。

使用流媒体服务器

有很多种媒体服务器。有些是用于家庭媒体内容的。有些是用于转码操作的,供企业分发视频。媒体服务对于增强任何类型的编码器的功能均很有用。但是,它们要么需要更多硬件(企业内部的媒体服务器),要么需要租用服务供应商(基于云技术的服务器)的服务,有时两种都需要。

尽管流媒体服务器具备灵活性(特别是对于基于云的服务),但它们无法提高收到的视频的质量。因此,如果A选择是直接使用高质量、多通道编码器推流,而B选择是使用低质量单通道编码器结合流媒体服务器,两者费用会差不多,或者B选择稍微便宜一点,但A选择发送的视频质量远远高于B选择。

但流媒体服务器和多通道编码器并不相互排斥。比如,您有可能在一项活动中使用多通道编码器在局域网上提供多种分辨率,使用来自多通道编码器的更多通道将另外一路流媒体送往媒体服务器。或者,多通道编码器可将一路流媒体送往联网的存储器(NAS),再将另外一路流媒体送往流媒体服务器。在两种情况下,多通道编码器都可以满足本地要求,而且将高质量视频送往流媒体服务器进行大规模分发。

要了解更多 媒体服务器的信息,请查看《 2017媒体服务器购买指南》。

多通道编码的好处

使用多通道编码器和/或媒体服务器提供多种好处。

  1. 改变/扩充协议
  2. 改变/增加分辨率数目
  3. 改变/扩充流媒体类别或是视频封装格式(文件格式)
  4. 以不同方式处理不同网络带宽并为每种应用优化

改变/扩充协议

由于不同视频推流协议适合不同应用,所以有时需要使用多种不同的协议从媒体源(如摄像机)向多种同时消费节点(如智能电话、平板电脑、PC、媒体播放器、游戏控制台等)传送视频,以及长距离传送给大量不同观众。这通常需要使用云服务或是公共因特网。

比如,“连续”推流协议,如RTMP有助于保持某方面的视频性能同时最大限度降低延时。

基于HTTP的协议,如HLS和MPEG-DASH,将视频流媒体打成小包,和正常的数据一样在网络上传输,以更好地利用网络强大的互操作性和软件应用。它们依靠TCP传输来纠错,依靠HTTP穿过防火墙而无需特别指示。但是,这些协议要求大量的缓存才能顺利运行,这造成了长的延时。这些解决方案对于点播推流工作流程来说是完全可以接受的。但业内正在全力以赴缩短直播推流的延时。

所以如果有多种协议而且可以能够根据工作流程的不同环节改变协议,令您可以有一些更先进的节点,这些节点能够保持低延时和极高的视频性能,同时确保所有其他因素都与流媒体分发系统兼容性,最大限度提高分发范围和性能。

这种情况既适用于本地系统也适用于因特网。

本地层面

在本地层面,运行在一个质量好的网络上的编码器可以直接向解码器发送信号并提供高分辨率视频和低延时。如果是一台多通道编码器,这台编码器可以通过网络较低带宽的部分提供更多用于标准播放器和浏览器(包括无线设备)的流媒体。无论您的编码器是否支持多通道编码,均有可能使用网络上的流媒体服务器复制流媒体和/或修改协议,以适合您的应用。

某些编码器厂家还提供硬件和/或软件解码器——这样所有设备兼容,最大限度降低了安装的复杂性。

“录制”以用于点播推流同样有可能相当重要,因为需要避免在断网时或是关键时刻漏掉重要的讲话内容。有时,多通道编码器和/编码器和流媒体服务器组合可为正在录制而且同时录制到云端的内容提供一个本地的缓存。或者,录制和同时直播推送采集的视频流媒体有可能是一个比较好的解决方法。同样,有可能使用不同的协议,如FTP(用于MPEG-4文件录制)和直播RTMP H.264流媒体。

用于MPEG-4文件录制和RTMP H.264直播流媒体的FTP

云/因特网

这也适用于云/因特网,多通道编码确保视频推流工作流程的不同部分使用相应的协议。

通过利用恰当的协议,混合很高性能的节点和很容易接入的节点成为可能。协议灵活性还允许您混合老旧的计算机设备与更先进的设备。这意味着你无需大规模的更新就可以改进您的视频流媒体基础设施。

很多云推流结构目前使用低延时协议,将视频推送到云端,如RTMP,使用兼容性更广泛的基于HTTP的协议进行大规模分发。

多通道的负担可以放在编码器或是流媒体服务器上,或是由两者同时承担。

录制的文件

另一个协议的变化的例子是当从存储的文件而不是直播信号源推流时。一个完美的例子是视频点播(VOD)服务。这些服务供应商必须将视频内容存储在一个封装器里,当用户启动一个观看要求时,它将存储的文件转换成视频流媒体,通过因特网向客户发送。这可以由多通道编码器或是流媒体服务器完成。它们与观看设备(如SmartTV)通讯使用的协议将有助于通知它们可用的带宽和网络的可靠性,令他们能够选择从存储的文件创建分辨率正确的流媒体。

改变/增加分辨率数目

影响直播流媒体的比特率的最重要的一个变量是推送的视频的分辨率。

通用广播分辨率比较

多通道编码也需要面对这个问题。

提供视频流媒体

发送视频流媒体的关键是在画面质量和流媒体稳定性之间找到一个平衡点。早期,当用户在网上观看视频时,用户经常会对卡顿现象沮丧不已。很多视频根本就没法观看。

在有多少可用的带宽和每个节点可传输的信息量之间寻找平衡点,以提供最佳的观看体验方面,人们做了大量努力,也取得了很多进步(更高分辨率需要传输更多信息)。

今天, 自适应的比特率推流技术自动检测用户带宽和计算机实时处理能力,然后提供一个适合这些限制的流媒体。

云端设备的转码是一个会带来延时并需要付费的服务。因此,很多需要制作大量内部视频的公司为了平衡负荷,要么在公司内部将每个采集的视频信号源从多通道编码器发送多个不同分辨率的视频,要么就使用某些播放器能够利用的自适应比特率编码器。这些兼容的多媒体播放器,能够在不同部分切换不同比特率并提供最佳画面质量(经常是指分辨率)以最优化地使用计算机的功能和此播放节点的网络条件。

在企业、媒体和娱乐节目编码中,这基本上意味着视频源信号是以最高画面质量的分辨率发送的,但本地编码器和/或流媒体服务器也创建低分辨率版本文件。

这种通过复制不同类型流媒体视频对视频源信号“上下变换”的功能对于即时适应不同类型的目的地来说是很有用的。比如,一个4K信号源可以保持4K分辨率,并在功能对应的观看节点解码。但同一4K信号源可以方便地将同样的内容送往平板电脑和智能手机。这些设备的屏幕本身分辨率就较低,送往这些设备的流媒体的分辨率也相应降低以适应无线网络和这些无线设备的处理能力。

改变/扩充流媒体类别或是视频封装格式(文件格式)

影响直播流媒体的比特率的最重要的变量之一是正在推送的视频的分辨率。

多通道编码的另一方面是将一种编解码格式或是视频文件格式转换成另一种或是多种其他格式的能力。这比起上述例子中的改变协议来需要更多处理能力。从一种编解码格式转换到另一种格式通常需要解码原始流媒体或是视频文件,转码(对其重新编码)成另外一种或是多种不同的编解码格式或是文件格式。

改变视频资产的编解码格式有多种不同原因。

这是一个简单的例子:

比如说,一家公司添加了一台新设备,可以产生极高分辨率的文件,如4K。当新的资产以全分辨率采集时,使用一种只占很小带宽的编解码格式有可能会很有诱惑力。但为了降低带宽而从源信号直接使用的编解码格式和/或编码类别有可能并不是用于大规模分发内容的最优化的编解码格式或是编码类型。

提供视频流媒体

使用HEVC(H.265)编码4K内容有可能会削减一部分带宽并有助于保障流媒体从采集点到网络或是因特网上转发点之间的稳定性。但HEVC比H.264在手持设备上消耗更多电池,而且很多较老的设备没有安装HEVC硬件。因此媒体服务器和其他工具仍在大量使用,以将新的HEVC源信号转成使用更方便的H.264流媒体,以适合多种应用。

相反,某些公司有老式的MPEG-2视频。在这种情况下,经过转码后,带宽的占用可以下降,而且提高下游设备的兼容性。

并不是所有编码器设计都一样。

值得指出的时,编码器之间的性能相差很大。某些高度优化的H.264编码器可产生比早期或是简单的HEVC编码器更好的比特率。同样的情况也发生在其他编码性能方面,如延时或是画面质量。

但随着时间变化,市场在分辨率和编解码格式方面有些转换。技术发展到一定程度,人们意识到,有时,在从源信号侧的编码器到内容分发基础设施之间和在内容分发网络到最终消费节点之间使用不同的技术更加合理。将最高分辨率的内容存档有时就是向新出现的技术过渡的足够理由,以减轻存储成本。但大规模分发总是需要比较成熟的系统以达到最大的兼容性和最广的覆盖率。

转码的成本有可能很高。应该先研究一下最大限度降低转码给视频分发基础设施带来的负担能有什么好处。当视频库是以兼容性极高的格式存档的,从一开始就使用一个比较成熟通用的编解码格式,如H.264仍是值得的。某些新出现的标准停止继续发展或是被忘却了。而某些已广泛使用的标准则继续滋生出更先进的系统,而且它们的性能和广泛兼容性方面一直都很好。
但无论您的工作流程的需求是什么,多通道编码器和转码软件及服务通常可以帮助您在不同编解码格式和编码类型之间转换,并帮助您发送给更多观众。

以不同方式处理不同网络带宽并为每种应用优化

以上三个小节加在一起,介绍了使用多通道编码如何同时支持多协议、如何转码和进行码率转换、如何产生不同分辨率和质量的流媒体,以适应不同比特率和解码器/播放器。

我们还介绍了不同方式的多通道编码,包括:可直接从源信号产生多路流媒体的多通道编码器、可产生多编码类型的自适应比特率编码器以供兼容目的地选择,还有转码媒体服务器,即令您可以操控和复制视频源信号,以适应您的应用。

能够完全利用以上一种或是多种编码技术的混合环境令企业可以以最佳的综合性能提供流媒体内容,综合考虑安全、网络带宽、解码器/播放器数目和类型等。

提供视频流媒体



建造多通道推流和录制工作流程?

了解Matrox企业用编码器如何助您一臂之力。

Matrox 6120获得年度最佳产品奖 View Matrox Maevex 6150 appliance 直播推流和录制



技术资料


用于推流的多通道 编码技术基础知识

回到页顶