问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何为一个直播流配置转码功能

发布网友 发布时间:2022-04-23 09:21

我来回答

1个回答

热心网友 时间:2022-04-20 02:16

  对硬件和驱动的要求

Wowza Transcoder 只能在64位的Windows和Linux系统上运行。此外也不支持Mac OS X
系统。

Wowza Transcoder在64位的Windows Server 上运行时, 系统必须先具备以下功能:

  .NET Framework 3.5.1

  Desktop Experience

硬件加速
Wowza Transcoder
支持Windows 和 LinuxIntel系统上的Quick Sync 和 NVIDIA NVENC 加速编码以及Windows系统上的NVIDIA CUDA
加速编码。 下面的文章介绍了关于这些技术的更多硬件要求:

  Server
specifications for Intel Quick Sync acceleration

  Intel
Quick Sync acceleration on Linux

  Server
specifications for NVIDIA NVENC and NVIDIA CUDA acceleration

  NVIDIA
NVENC accelerated encoding on Linux

  注意:

  你应该在尝试硬件加速转码技术之前,先使用默认的MainConcept软件转码技术。MainConcept软件使用任何硬件加速功能。关于如何调试硬件编码的更多信息,请阅读如何验证Wowza
Transcoder正在使用哪一种编码技术。

  在较新版本的Windows系统上,当Wowza Media Server作为系统服务运行时,由于Session 0
Isolation的安全原因,Intel Quick Sync 和 NVIDIA CUDA
硬件加速功能可能无法使用。要了解更多关于如何解决这个问题,请阅读作为Windows系统服务运行时,Transcoder插件如何使用硬件加速功能。

  当使用Windows远程桌面时, Quick Sync 加速可能无法使用。

  支持的音视频编码格式

为了将输入流(被称作"channels")进行转码或转换为多个不同输出码率的输出流,Wowza
Transcoder 插件提供了很多功能,它支持以下音视品编码格式:

输入流:

  视频解码: H.264, MPEG-2, MPEG-4 Part 2

  音频解码: AAC, MP3, MPEG-1 Layer 1/2, Speex, G.711 (μ-law and
A-law)

输出流:

  视频编码: H.264, H.263v2

  音频编码: AAC

  注意:

  对于mp3格式的音频,系统支持以下采样率: 48000, 44100, and 32000

  Instream CEA-608 隐藏字幕(closed caption)可以通过Wowza Transcoder 插件采用Apple HLS
流媒体被传送给基于iOS的终端设备。要了解更多信息,请阅读如何为HLS流媒体配置隐藏字幕(closed captioning)。

  当使用硬件加速特性时,不支持H.263 视频输出。

  关于Transcoder模版

Wowza Transcoder
使用一个模版系统来为输出流创建转码后的输出流,这个模版可以控制各种编码参数。在[install-dir]/transcoder/templates目录下有三个默认的模版文件,基本满足了常规的转码要求:
transrate.xml, transcode.xml, 以及 audioonly.xml。
要了解更多关于个性化的的转码模版,请阅读模版的配置.

Wowza
Transcoder 模版系统提供一个将多个输出流组合在一个逻辑组的方法(被称作 Stream Name
Groups)。可以用ngrp:前缀来引用这个逻辑组以实现码率自适应。

  Server.license 的配置(Wowza Media Server Perpetual Edition)

Wowza Media
Server和增值插件的授权码(license key) (包括Wowza Transcoder
插件)被存储在[install-dir]/conf/Server.license。

  %WMSCONFIG_HOME%\conf\Server.license
  - Windows

  /Library/WowzaMediaServer/conf/Server.license
  - Mac OS X

  /usr/local/WowzaMediaServer/conf/Server.license
  -
Linux/Unix

试用、日租、月租模式的授权只需要一个license key,但是永久授权模式需要多个license
key。

使用增值插件时,用文本编辑器打开Server.license文件,在每一个新行输入一个新的license
key。当服务被重启后,新的license将会生效。
由于多个授权码是叠加的,因此在添加一个新的授权码时,去保留文件中原有的授权码,然后在新的一行填写新的授权码。多个授权码在文件中的前后顺序是无关紧要的。
授权码的前5位和后5位字符将显示在控制台的输出中信息。

下面是一个Server.license
文件的示例,包括一个永久授权的Wowza Media Server 授权码、两个Wowza Transcoder 插件授权码以及一个Wowza nDVR
插件授权码:

  SVRP3-LaGpC-ZrTD9-F4Y3S-a9bR2-h5t3C
TRN23-Ry6qe-4mT8J-yKj2W-4N5sH-2Td3a
TRN13-y9Gj2-kneqT-2zjHp-GadzB-N6fwa
DVRA3-k3r3R-nzxCB-ypjs5-Sk3y9-ahFdF

  Application.xml的配置

建立一个直播应用,然后对Application.xml文件进行一些配置以使用Wowza
Transcoder插件,请按下面进行:

  创建一个应用的目录[install-dir]/applications/live.

  创建一个配置目录[install-dir]/conf/live
,将[install-dir]/conf/Application.xml 文件拷贝到这个新目录下

  用文本编辑器打开这个新拷贝的Application.xml 文件,然后做如下改动(有些设置可能已经配好了):

  将Streams/StreamType 设置为:

  Code:
  <StreamType>live</StreamType>

  将HTTPStreamers 设置为:

  Code:
  <HTTPStreamers>cupertinostreaming,smoothstreaming,sanjosestreaming</HTTPStreamers>

  将Streams/LiveStreamPacketizers 设置为:

  Code:
  <LiveStreamPacketizers>cupertinostreamingpacketizer,smoothstreamingpacketizer,sanjosestreamingpacketizer</LiveStreamPacketizers>

  将RTP/Authentication/PlayMethod 设置为:

  Code:
  <PlayMethod>none</PlayMethod>

  将Transcoder/LiveStreamTranscoder 设置为:

  Code:
  <LiveStreamTranscoder>transcoder</LiveStreamTranscoder>

  如果输入流是H.264视频编码AAC 或 MP3
音频编码,你希望创建多个不同码率的输出流,以实现码率自适应,请将Transcoder/Templates 设置为:

  Code:
  <Templates>${SourceStreamName}.xml,transrate.xml</Templates>

  如果输入流是MPEG-2
或 MPEG-4 Part 2 视频编码,你希望转码为H.264 和 AAC,以面向Wowza支持的例如Adobe
Flash播放器、Apple iOS 设备和Microsoft Silverlight的播放器技术, 请将Transcoder/Templates
设置为:

  Code:
  <Templates>${SourceStreamName}.xml,transcode.xml</Templates>

  注意:
当使用transcode.xml时,同样也支持多码率自适应。

  如果你希望转码的输入流时SHOUTcast 或 Icecast MP3
媒体流,请在MediaCaster/Properties 中添加下面的属性以配置Wowza Media Server
在每个包中发送一个MP3 帧:

  Code:
  <Property>
<Name>shoutcastMP3GroupCount</Name>
<Value>1</Value>
<Type>Integer</Type>
</Property>

  (只针对基于RTSP/RTP的编码器),用文本编辑器打开[install-dir]/conf/publish.password文件,添加一个用户名和密码来控制对RTSP/RTP
推流的访问。 下面是一个例子,用户名为myuser,密码为mypassword)。

  Code:
  # Publish password file (format [username][space][password])
# username password
myuser mypassword

  启动 Wowza Media Server.

  模版的配置

如果你使用系统自带的transrate.xml 或 transcode.xml 模版文件,
转码后的输出流将使用下面的stream names:

  [stream-name]_360p: Main Profile stream

  [stream-name]_160p: Baseline Profile stream

  ngrp:[stream-name]_all: 面向Apple HTTP Live Streaming (cupertino)、
Microsoft Smooth Streaming以及 Adobe HTTP Dynamic Streaming
(sanjose)的码率自适应

[stream-name] 是输入到Wowza Media
Server的输入流。例如,一个输入是myStream,
那么转码后的输出流就是myStream_360p、myStream_160p以及
ngrp:myStream_all。

转码的工作机制很简单。推送到live应用的所有输入流将被采用在[install-dir]/conf/[application]/Application.xml文件Transcoder/Templates中设置的转码模版文件中的参数来转码。
你可以根据需要配置多个转码后的输出流。

让我们仔细看以下转码模版中的配置。下面是随Wowza Media
Server安装后自带的transrate.xml模版文件:

  Code:
  <!-- Example template for transrate, procing four new streams at different bitrates. Resultant streams can be played back indivially or as a group. source, 360p and 160p encode blocks are enabled through the Enable property, other examples are not enabled. Add additional encode blocks to your template as needed. -->
<Root>
<Transcode>
<Encodes>
<!-- Example Encode block for source, not required unless Member of StreamNameGroup. -->
<Encode>
<Enable>true</Enable>
<Name>source</Name>
<StreamName>mp4:${SourceStreamName}_source</StreamName>
<Video>
<!-- H.264, H.263, PassThru, Disable -->
<Codec>PassThru</Codec>
<Bitrate>${SourceVideoBitrate}</Bitrate>
<Parameters>
</Parameters>
</Video>
<Audio>
<!-- AAC, PassThru, Disable -->
<Codec>PassThru</Codec>
<Bitrate>${SourceAudioBitrate}</Bitrate>
<Parameters>
</Parameters>
</Audio>
<Properties>
</Properties>
</Encode>
<!-- Setup for 720p, high bandwith, main profile for desktop or set-top box -->
<Encode>
<Enable>false</Enable>
<Name>720p</Name>
<StreamName>mp4:${SourceStreamName}_720p</StreamName>
<Video>
<!-- H.264, H.263, PassThru, Disable -->
<Codec>H.264</Codec>
<!-- default, CUDA, QuickSync, NVENC -->
<Transcoder>default</Transcoder>
<GPUID>-1</GPUID>
<FrameSize>
<!-- letterbox, fit-width, fit-height, crop, stretch, match-source -->
<FitMode>fit-height</FitMode>
<Width>1280</Width>
<Height>720</Height>
<!-- <Crop>0,0,0,0</Crop> -->
<!-- <SourceRectangle>0,0,320,240</SourceRectangle> -->
</FrameSize>
<!-- baseline, main, high -->
<Profile>main</Profile>
<Bitrate>1300000</Bitrate>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
cad里面打完字怎么还原十字架 财务建帐需要什么 建账建账的基本要求 当爱情与亲情需要丢弃一样时,你会选择丢弃哪一方 当爱情和亲情有冲突时你会怎样决择?你会为你所爱的人不顾一切吗? 剑网三 查看余额 因为某些特殊原因不好登陆游戏查看,求其他方式_百度知 ... 右肺上叶中叶结节灶怎么回事 节能门窗有哪些标准 节能门窗有哪些 节能门窗具有哪些特征 网上的手机卡能用吗、? 当下流行的脏辫是一种什么样的发型?它长什么样? 脏辫最适合哪种女孩? adobe animate cc与flash有什么区别 关于网络电视(又追加得分哦) 2012第31届香港电影金像奖颁奖典礼直播视频?第三十一届香港电影金像奖2012在直播吗? 2011.12.10的月全食过程哪里有直播(网站) 财经类视频 html css js如何获取直播网站的直播 html5&lt;video&gt;解析m3u8播放视频 家庭用水如何记录? 视频直播软件开发中常用的流媒体传输协议有哪些? 在网上买的手机卡能打电话吗?不需要用身份证办吗? h5直播互动技术有哪些?什么平台的技术好? 人类潜入水中的时间最长记录是多少分钟? 高铁站需要安检证吗? 高铁站安检员这个工作怎么样? *电视台播放的大型纪录片《水问》,向人们说明了水是生命之源,万物之基,是人类最宝贵的自然资源,唤 高铁安检员工作好不好? 吉尼斯记录一次喝水最多的是谁? 谁介绍一下JAVA里的g.setFont();函数的参数?我想要具体的值分别是什么? 这个Java程序的结果为什么是goodandgbc 最近流行的脏脏辫,适合什么样的女生呢? JAVA问题 public void paint (graphics g)是什么意思 脏辫发型做一次很麻烦需要几个小时,脏辫应该如何清洗呢? 喜欢扎脏辫的八大女星,看看谁最漂亮? 启动eclipse时显示chould not open G:&#92;eclipse&#92;java&#92;jre6&#92;lib&#92;386i&#92;jvm.cfg重装JDK也不行 高手指点下 为什么我在E盘安装了java,命令指示符输入后却提示系统找不到指定路径? 怎样写童谣 猫咪油尾怎么办 有没有什么危害 ? 张天爱脏辫造型亮相vlog,哪些女星比较适合脏辫造型? - 信息提示 两眼外凸大嘴巴,有个尾巴比身大,青草假山来相伴,绽放朵朵大红花。打一动物? 重庆一女孩编完“脏辫”嫌贵报警,店家是否有告知顾客价格? 尾巴比一般的狗粗长 耳朵朝上,请问是什么狗 星之卡比怎样叫同伴 女孩编完脏辫后报警称5300元太贵,店家在编发前有提前告知顾客价格吗? 嘴尖身子长尾巴也长,有点像老鼠,但比老鼠大很多,是什么动物 两眼外凸大嘴巴,有条尾巴比身大,清草假山来相伴,绽放朵朵大红花 重庆女孩编完脏辫后报警称5300元太贵,难道女孩提前不知道价格吗?