如何为VOD点播配置字幕

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何为VOD点播配置字幕相关的知识,希望对你有一定的参考价值。

Wowza Stream Engine 4 通过VODTimedTextProviders 支持VOD点播中的隐藏字幕。每一个provider都知道如何将来自不同类型的字幕数据源做为timed text嵌入到Wowza的 generic timed text 数据模型。 Wowza Stream Engine 4 包括了针对嵌入到3GPP/MPEG-4中的字幕以及外部文件形式的字幕的providers。 可以在一个Wowza的vod应用中配置接收字幕源时需要的provider(要了解更多,请阅读配置)。 注意,3GPP provider 是"enabled" 它配置文件中已经默认包含对它的配置。 


TTML 例子


下面的例子展现了一个简单的TTML文件。这个文件(sample.ttml) 要和对应的VOD文件(sample.mp4)放在同一个内容目录下。 注意,除非你在客户端中配置了wowzacaptionfile参数的URL,否则这个TTML文件必须采用和VOD内容文件相同的名字,不同的仅仅是扩展名。 

Code:
<?xml version='1.0' encoding='UTF-8'?>
<tt xmlns='http://www.w3.org/ns/ttml' 
    xmlns:tt='http://www.w3.org/ns/ttml' 
    xmlns:ttm='http://www.w3.org/ns/ttml#metadata' 
    xmlns:tts='http://www.w3.org/ns/ttml#styling' 
    xmlns:ttp='http://www.w3.org/ns/ttml#parameter' 
    xml:lang='eng'>
  <head>
    <ttm:title>Sample caption file</ttm:title>
    <metadata>
      <ttm:title>sampleTitle</ttm:title>
      <ttm:desc>This a sample TTML file.</ttm:desc>
      <ttm:copyright>Public Domain</ttm:copyright>
    </metadata>
    <styling>
      <style xml:id='backgroundStyle' 
             tts:fontFamily='proportionalSansSerif' 
             tts:fontSize='1.5c' 
             tts:textAlign='center' 
             tts:origin='0% 90%' 
             tts:extent='100% 8%' 
             tts:backgroundColor='rgba(0,0,0,0)' 
             tts:displayAlign='center'/>
      <style xml:id='speakerStyle' 
             style='backgroundStyle' 
             tts:color='white' 
             tts:textOutline='0px 1px' 
             tts:backgroundColor='transparent'/>
    </styling>
    <layout>
      <region xml:id='speaker' style='speakerStyle' tts:zIndex='1'/> 
      <region xml:id='background' style='backgroundStyle' tts:zIndex='0'/>
    </layout>
  </head>
  <body>
    <div> 
    <p region='speaker' begin='00:00:00' end='00:00:031'>Caption 1 at 00:00:00</p>  
    </div>
    <div> 
    <p region='speaker' begin='00:00:05' end='00:00:08'>Caption 2 at 00:00:05</p>  
    </div>
    <div> 
    <p region='speaker' begin='00:00:10' end='00:00:13'>Caption 3 at 00:00:10</p>  
    </div>
    <div> 
    <p region='speaker' begin='00:00:15' end='00:00:18'>Caption 4 at 00:00:15</p>  
    </div>
  </body>
</tt>
SRT 例子


下面的例子展现了一个简单的SRT文件。这个文件(sample.srt) 要和对应的VOD文件(sample.mp4)放在同一个内容目录下。 注意,除非你在客户端配置了wowzacaptionfile参数的URL,否则这个SRT文件必须采用和VOD内容文件相同的名字,不同的仅仅是扩展名。 

Code:

1

00:00:00,000 --> 00:00:3,000

SRT (0)


2

00:00:05 --> 00:00:08.000

English (5)


3

00:00:10,000 --> 00:00:15,

SRT (10)


4

00:00:20,000 --> 00:00:24,400

Text at 20 seconds

WebVTT 例子 


下面的例子展现了一个简单的WebVTT 文件。 这个文件(sample.webvtt) 要和对应的VOD内容文件(sample.mp4)放在同一个内容目录下。 除非你在客户端配置了wowzacaptionfile 参数的URL,否则这个WebVTT文件必须采用和VOD内容文件相同的名字,不同的仅仅是扩展名。

Code:

WEBVTT


0

00:00:04.000 --> 00:00:09.500

First cue


1

00:00:10.000 --> 00:00:15.000

Lorem


2

00:00:25.000 --> 00:00:30.500

ipsum


3

00:01:05.500 --> 00:01:25.501

Fourth caption

SCC 例子 


下面的例子展现了一个简单的SCC文件。这个文件(sample.scc)要和对应的VOD内容文件(sample.mp4)放在同一个内容目录下。 除非你在客户端配置了wowzacaptionfile参数的URL,否则这个SCC文件必须采用和VOD内容文件相同的名字,不同的仅仅是扩展名。

Code:

Scenarist_SCC V1.0


00:00:01:09 9420 1370 9723 d04f d020 4fce 2043 c1d0 5449 4fce d380 94d0 9723 d04f d020 4fce 20c1 cec4 204f 4646 2054 c845 20d3 4352 4545 ceae 9420 942c 942f 9420 1370 97a2 54c8 45d9 20c1 5245 20d5 d345 c420 5749 54c8 20d0 524f c752 c1cd d380 94d0 97a2


00:00:02:27 5749 54c8 20cd d54c 5449 d04c 4520 43c8 c152 c143 5445 52d3 ae80

Note: Support for SCC files was added to Wowza Media Server 3.6.


配置


配置Application.xml


在[install-dir]/conf/Application.xml 文件的<TimedText> 部分允许配置隐藏字幕的"providers"以及对应的功能。 可以在其中定义下面的providers:


vodcaptionprovidermp4_3gpp. 从MP4文件的3GPP轨道(codecID "tx3g")中读取字幕数据。这个选项在Application.xml 问价中默认被包含了。

vodcaptionproviderttml. 从与VOD内容文件在一起(同目录下的同名文件,只是扩展名不同)的TTML格式的字幕文件中读取字幕数据。

vodcaptionprovidertsrt. 从与VOD内容文件在一起(同目录下的同名文件,只是扩展名不同)的SRT格式的字幕文件读取字幕数据。

vodcaptionprovidertwebvtt. 从与VOD内容文件在一起(同目录下的同名文件,只是扩展名不同)的WebVTT格式的字幕文件读取字幕数据。

vodcaptionprovidertscc. 从与VOD内容文件在一起(同目录下的同名文件,只是扩展名不同)的SCC格式的字幕文件读取字幕数据。


Code:
<TimedText>
    <!-- VOD caption providers (separate with commas): vodcaptionprovidermp4_3gpp, vodcaptionproviderttml, vodcaptionproviderwebvtt, vodcaptionprovidersrt, vodcaptionproviderscc -->
    <VODTimedTextProviders>vodcaptionprovidermp4_3gpp</VODTimedTextProviders>
    <!-- Properties for TimedText -->
    <Properties>
    </Properties>
</TimedText>
多个timed text providers可以按如下的例子设置: 
Code:
<TimedText>
    <!-- VOD caption providers (separate with commas): vodcaptionprovidermp4_3gpp, vodcaptionproviderttml, vodcaptionproviderwebvtt, vodcaptionprovidersrt, vodcaptionproviderscc -->
    <VODTimedTextProviders>vodcaptionprovidermp4_3gpp, vodcaptionproviderttml,vodcaptionproviderwebvtt,  vodcaptionprovidersrt, vodcaptionproviderscc</VODTimedTextProviders>
    <!-- Properties for TimedText -->
    <Properties>
    </Properties>        
</TimedText>

配置 TimedTextProviders.xml 


默认的TimedTextProviders配置应该足以满足大部分隐藏字幕使用场景的需求,在正常情况下,你不用做任何修改。要了解更多关于Timed Text Provider的配置,请阅读Wowza Media Server Configuration Reference。 


支持的播放器


ios 播放器 在启用设备的隐藏字幕功能后,可以从Apple HLS (Cupertino)流媒体的CEA-608信息获取字幕并显示在屏幕上。

JW Player播放器 当使用合适的字幕插件后,就可以从RTMP流中获取字幕并显示在界面上。要了解更多,请阅读使用JW Player 播放RTMP流.

Flowplayer播放器 当使用合适的字幕和流媒体插件后,可以从RTMP以及Adobe HDS (San Jose) 流中获取字幕并显示在界面上。要了解更多,请阅读使用Flowplayer播放RTMP和Adobe HDS/San Jose流.



播放


注意:要播放你自己的内容,将它拷贝到[install-dir]/content 文件夹下,并替换下面例子URL中的sample.mp4文件名。


注意: 要采用VOD文件之外的字幕文件,按如下说明进行:

将同名的TTML (.ttml)、SRT (.srt)、或SCC (.scc) 字幕文件也放在[install-dir]/content 文件夹下,并确认和VOD文件名相同(例如,sample.ttml 和 sample.mp4). 这允许对应的VODTimedTextProvider 找到字幕文件并将其作为字幕嵌入到当前播放流中

根据你的字幕文件类型,在你的Application.xml文件中定义合适的VODTimedTextProvider。要了解更多,请阅读配置 Application.xml.



注意:每一个播放器可能有自己的用户控制,用来启用或禁用字幕的展现以及字幕的语言选择。

参考技术A 惹麻烦;上课; 人;来我们,

以上是关于如何为VOD点播配置字幕的主要内容,如果未能解决你的问题,请参考以下文章

Azure Media Services -可提供视频点播(VOD)

阿里云视频点播VOD

阿里云视频点播VOD

阿里云视频点播VOD

阿里云视频点播VOD

接口规范 点播流相关接口