串流直播,免费直播系统,会议直播服务,游戏直播首选

串流直播系统输出流设置功能

   2016-09-23 16:38 本文来源:   未知    作者: 串流团队
本篇我们介绍如何用串流直播系统设置输出流。所谓输出流,就是指原始采集的音视频数据(模拟信号或数字信号)经编码压缩后,按某种编码协议产生的、实时的流媒体数据流,简称之为输出流。
一、串流直播的输出流设置功能简介
基本特性:包括输出视频的分辨率、视频编码方式、码率大小、音频编码格式、采样率等;
设置多码流同步输出。串流直播可对一路原始视频信号并行输出4种不同格式不同协议的输出码流;
 
 注:串流直播提供的多码流输出,可针对用户的网络环境动态调整码流,达到最佳观看效果(需要使用相应的网络播放器)。

二、输出流设置界面

三、输出流详细设置

  1. 保持编码输出的视频宽高比例

即保持编码输出视频图像的宽高比例与原始输入图像的宽高比例一致。如果原始图像在编码前经过了预处理(例如:切边),则输出视频的宽高比例将与经过预处理后的图像保持一致。点击如下图
所示复选框,即可启用或禁用保持宽高比例。

勾选此项后,将不能手工设置码流的视频输出高度,高度设置框变成灰色,为不可设置状态。如上图中矩形红框显示的状态。选择此项可确保输出视频不变形,输出视频的高度自动计算。建议用户
启用该设置。不勾选此项,输出视频高度可以选择或手工输入(如下图),但可能导致输出视频变形。


注:串流提供了一些标准的、常见的视频宽高数值供您选择,点击宽高设置框的箭头即可出现下拉框;如果提供的宽高数值无法满足您的要求,您可以手工输入想要的数值。建议视频的宽高尽量选择标准宽高比值,能够被大多数解码设备支持,不符合规范的宽高数值可能导致某些终端设备在播放时解码异常
              2.   预处理后的视频尺寸

多数情况下,此处的“视频尺寸”与“信号来源”中的“输入尺寸”设置一致。但如果用户进行了视频的切边、缩放预处理,则此处的数值是预处理后的尺寸(关于视频切边、缩放等预处理操作见本站(www.iAVcast.com)后续文章“配置界面--图像处理”中进行介绍)。

例如:在“信号来源”中如将“输入尺寸”设置为1280*720,则“输出流设置”中“预处理后的视频尺寸”也是1280*720,如下图所示:

  

    3.  输出流设置说明图表


 

序号 名称 描述 说明
1 视频图像尺寸 视频图像的宽高值,一般用“宽值×高值”来表示 1024×768:视频输出图像的宽度为1024像素,输出图像高度为768像素。
2 视频编码标准 由ISO和ITU制定的编码标准 串流直播支持H.264/MPEG-4/MPEG-2和最先进的H.265视频编码标准
3 高级编码设置 在编码标准基础上进行高级设置 不同编码标准决定不同的高级设置属性。
1、编码运算方式可选择:
主机CPU并行线程编码、
硬件显卡编码、
CPU核显、
CPU+GPU等;
2、可设定档次、级别;
3、固定位率和可变位率等
4 视频流码率 比特率、码流和位率 单位时间内传输的数据量,即每秒传输多少字节,单位是kbps,其中k=1000,bps全称:bit per second。
5 音频编码标准 音频编码国际标准算法 包括高效高级音频编码(HE-AAC)、
高级音频编码(AAC-LC)、MP3
6 音频码率 音频编码时输出的码率 不同音频编码标准具有不同的码率范围
7 服务器 流媒体服务器 流媒体服务器是向外发布音视频流的必要工具(远程服务器或本地软件)。
串流编码器支持:单流单服务器、单流多服务器、多流单服务器、多流多服务器发布等方式。
8 录制格式 录制后的文件格式 串流编码器支持录制的格式:MP4、F4V、MOV、3GP、FLV、TS流
9 输出Http传送流 通过Http协议进行TS流直播 串流能够在编码时进行实时直播服务,此处设置让串流通过http协议进行MPEG-2 TS流直播,发布的TS流可以用各种标准的终端设备接收
10 UDP传送流 UDP单播或组播发布 启用该项,串流在编码时在指定的UDP地址进行MPEG-2 TS流直播,可以是UDP单播地址或者组播地址直播。由于UDP协议组播一般不能通过互联网,所以选择组播地址,则只能对音视频流进行局域网组播
注:串流直播系统可根据用户选择的音频编码标准自动设定有效的码率范围。
 下面以“输出流#1”中的内容为例,详细说明之间的关系。如下图所示:
1)  输出流视频尺寸
一般来说输出流的视频分辨率(宽高比)由输入视频的图像大小决定。一般可选用如下输出尺寸,如下图所示:
 

2)  视频编码标准
串流直播既支持主流的视频编码标准,也支持当前最先进的视频编码标准,包括:MPEG-2、MPEG-2、H264、H265。关于上述编码协议的详细资料可以参考本站(www.iAVcast.com)中专业知识的内容。
3)  高级编码设置
在选择好编码算法以后,可能需要对编码参数进行更进一步优化,请点击编码标准右边的按钮可进入高级编码设置窗口,选择不同的编码算法,出现的高级设置窗口是不一样的,下面分别对H264、
H265、MPEG-2、MPEG-4等4种编码方式的高级设置进行一一说明。
一、H264/AVC的高级编码设置

  •  H264/AVC的并行编码优化

    可选择5种并行编码优化方式,包括: 自动选择、 主机CPU并行线程编码、 NVIDIA图形处理卡编码、 CPU核显、 显卡加CPU模式编码; 另外,还可设定档次*、级别以及选择CBR固定位率或VBR
    可变位率等。当选择“自动选择编码运算单元”时,串流将根据当前的主机硬件环境自动决定何种编码方式进行编码。H.264编码单元的选择参考如下表所示:

运算单元 描述
软件编码器 只采用主机的CPU进行编码,编码器可以让您指定具体用多少个并行线程来进行编码。当前CPU大多具备了多个核心,一般选择CPU核心数的1.5倍,例如您有4个CPU核心,则选择6。如果选择自动(Auto),则系统自动决定用多少线程来进行编码。
nVidia图形显示卡 当前nVidia出品的Geforce系列显示卡已经内建了专用H.264编码运算单元NVENC,串流能够自动识别这类显示卡。如果您的系统具备此显示卡,则nVidia图形显示卡单元为可用状态,否则为灰色不可用状态。采用nVidia图形显示卡后,编码视频将不需要主机CPU资源,因此可以提高性能。您可以安装多块显示卡,如果确实有多块显示卡,您将能够设置具体使用那块显示卡进行压缩编码。
Intel集成GPU核显 Intel公司从第3代i7/i5/i3CPU开始集成显示卡,即集成在CPU模块里的显示电路,Intel公司称之为核显。Intel集成的显示卡里有内建H.264编码单元QSV,可用于H.264编码。串流能够自动检测这用可用性,如果您的系统能够采用核显编码,则此项为可用状态。当前Intel公司在每块CPU里只集成了一个运算单。
nVidia显卡图像处理器 nVidia公司的CUDA(Compute Unified Device Architecture),是一种由NVIDIA推出的通用并行计算架构,该架构使显卡里的GPU能够解决复杂的计算问题。它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎,需要CPU辅助。编码H.264时质量比较差,建议慎用,只有在没有其它可替代方案时才采用。新的nVidia驱动程序已经移除了这种编码能力。
当选择“软件编码器(采用主机CPU)”时,可按“CPU核数×1.5”计算来选择“并行线程数”,如下图所示:
注:这里的并行线程数,是基于CPU的流水线计算模式,在同一时间可以启用CPU中的多条流水线进行运算,这样可以增强CPU的计算量。串流可以检测到系统里安装有多少CPU(或者CPU核)数,您在这里可以设置采用的线程数来调整CPU的运算量,一般设置为CPU核数的1.5倍,如果您的CPU足够强大,可以将这个数设置得更小,以减少操作系统切换CPU的开销。同等条件下,编码质量最好的是软件编码器单元。关于nVidia的NVENC(nVidia VideoEncoder)与Intel的QSV(Quick Sync Video)的更多知识请参考互联网
  • H264/AVC的通用设置
包括:档次(profile) 、级别(level)和关键帧间隔。
档次和级别:是用来衡量编码技术复杂度的指标,档次*和级别*越高,编码越高级,相应的复杂度就越高。在国际中的编码标准,从MPEG-2开始分档次和级别,MPEG-4/H.264/H.265都有档次和级别。
1)档次分为三类,Baseline Profile, Main Profile, High Profile,如图下图所示:

Baseline profile(基本档次):此档次复杂度低,可用于实时的编码通话;
Main profile(主要档次):适用于较大的存储,如IPTV(网络电视);
High profile(高级档次):适用于极大的存储,如蓝光光盘;
2)级别是档次上的算法微调,级别越高,算法越先进,复杂度越高,质量越好
H.264级别的范围是1.0~5.2,如:1.0, 1.1, 1.2; 2.0, 2.1, 2.2; 3.0, 3.1 3.2; 4.0, 4.1,4.2; 5.0, 5.1, 5.2;如下图所示:

3)关键帧间隔:关键帧是视频解码器的解码起始帧,关键帧需要更多的编码数据量。设置关键帧的间隔时间可以调整解码延时,关键帧间隔时间越短则解码延时越短;但过多的关键帧会增加编码输出的数据量。因此设置时应该综合考虑,建议采用3秒的预设值。在实时性要求比较强的场合,可减小这个值。如下图所示:
二、H265/HEVC的高级编码设置
H.265高级编码设置如下图所示。并行编码优化可选“自动选择编码运算单元”、“软件编码器(采用主机CPU)”即主机CPU并行线程编码方式和硬件编码器,并行线程数范围1~16;可设定档次、级别。
H.265由于是目前最先进的编码标准,目前只有Main profile,可能未来的1-2年会出High profile;如下图所示:

H.265的级别范围:1.0~6.2,如下图所示:

三、MPEG-2高级编码设置
MPEG-2的高级编码设置如下图所示。并行编码优化“自动选择编码运算单元”、“软件编码器(采用主机CPU)”和硬件编码器,并行线程数范围1~16;可设档次和关键帧间隔。

MPEG-2的档次分为:Simple、Main、High,级别不可选,关键帧间隔与H.264相同。
四、MPEG-4高级编码设置
MPEG-4的高级编码设置如下图所示。并行编码优化“自动选择编码运算单元”、“软件编码器(采用主机CPU)”和硬件编码器,并行线程数范围1~16;
MPEG-4的档次分为:Simple、Advanced Realtime Simple、Advanced Simple、Main,无High Profiles。如下图所示:

MPEG-4的级别为:L0、L1、L2、L3、L4。如下图所示:
4) 视频码率
视频码率是每秒传输的字节数,单位是kbps。无论哪种编码标准码率均相同,如下图所示:

针对H264视频编码的码率设置经验(本经验仅供参考,用户需要根据具体应用场景确定。)
1、图像运动越快的视频应设置较大码率,图像运动越慢的视频可以设置较低的码率。图像很少运动的视频可以考虑用可变码率的低码率设置。例如:体育比赛、军事演习这样的场景图像运动量比较大,应该考虑大码流;课堂讲课,会议演讲等这种情况运动量比较小,可以考虑小码流,尤其是讲台会议这种图像基本不运动的场景可以采用可变码率的低码率设置。
2、码率与图像尺寸存在相关性,图像的面积越大需要的码流越多。
进行IPTV直播的码率设置参考(仅供参考),单位:kbps。
参考帧率为25~30帧,其它帧率请酌情调整码率。
图像尺寸 H264 H265 MPEG-4 MPEG-2
4096×2160 12000~18000 4000~8000 不支持 不支持
1920×1080 3000~4500 1800~2500 8000~12000 20000~50000
1280×720 1800~2500 1000~1500 5000~6000 12000~30000
1024×768 1200~1500 800~1200 3000~4200 8000~20000
720×576 600~1000 400~600 1200~2500 4000~6000
352×288 300~400 200~300 600~1000 1500~2000
注:其中1920×1080称为1080P,1280×720称为720P,4096×2160称为4K。
5) 音频编码标准
包括HE-AAC、AAC-LC和MP3。(关于音频编码的详细资料可以参考本站(www.iAVcast.com)中专业知识的内容。)
6) 音频码率
不同音频编码标准的码率有所不同,HE-AAC的码率范围是24~51,默认设置值为48kbps。如图所示:

AAC-LC和MP3两种音频编码的码率范围是64~384,默认设置值为128kbps。如图所示:

7) 发布到服务器
串流支持将每路流发布到一个或者多个目标服务器,如下图所示:

请在“发布设置”属性页进行目标服务器设置,只有在该处设置好服务器信息后才能作为输出流的发布目标服务器。
如果选择所有服务器,则本路流将发布到在“发布设置”属性页已经设置好的所有服务器上。如果在在“发布设置”属性页里没有进行过任何服务器的设置,则此处的发布设置将失效。如果在“发布设置”属性页里相应的服务器属性没有正确设置,则即使在这里进行了选择,发布流仍旧会失败。
要正确设置发布服务器,请参考后续文章“配置界面--发布设置”的内容。
串流直播支持Adobe的RTMP协议簇发布,包括RTMPT、RTMPS、RTMPE、RTMPTE等协议;也支持UDP、HTTP与MSDP(Media Secure Distribute Protocol),但发布是否成功由服务器的接受能力决定,只有服务器支持这种协议时,串流直播才能发布成功。
具体的流媒体服务器资料请参考相应服务提供商的文件。
8) 录制格式
串流直播系统支持的录制格式:MP4、F4V、MOV、3GP、FLV、TS流,如图所示:

每路输出流同时只能保存为一种文件格式,其中MP4、F4V、MOV、3GP为国际标准格式,采用这几种格式时,串流录制的文件是完全标准的格式,录制的文件能够在所有移动设备上播放。如果采用FLV录制,则可能在很多移动设备上不能播放。TS为MPEG-2 传送流格式,该文件格式主要用于传送,含有过多的传输控制信息段,因此如果没有特别需要,应该避免采用这种格式。具体的录制文件相关内容参考本站后续文章“配置界面--录制设置”
9) 输出Http传送流
串流直播程序在编码时可以同时进行本机直播服务,将编码的输出流打包成传送流进行播出是串流编码器内建的一项功能,能够满足规模小于1000并发用户的收看要求。考虑到大多数机顶盒终端都支持HTTP传送流,因此,该项功非常适合于此类应用。串流输出的HTTP传送流是标准的,您可以采用第三方播放器进行收看,例如VLC(http:// http://www.videolan.org),或基于ffplay的播放器。
具体如何接收http传送流请参考本站后续文章“配置界面--http传送流”。
如果要将音视频流发布到网络,让终端用户用电视、机顶盒等媒体播放器播放视频流的,请选中“输出Http传送流”。
10)输出UDP传送流
串流在编码时可以同时进行UDP传送流直播服务,可进行单播或组播。对UDP传送流的详细设置请参考“UDP传送流”设置页。如果进行组播输出,则接收的并发人数不受限制,但组播数据一般不能跨网段(能否跨网段需要网络管理员进行设置)。
如要将输出流进行UDP输出,请选中"输出UDP传送流"。

专业视频直播服务提供商
视频直播服务,会议直播服务