【发布时间】:2014-11-04 13:34:20
【问题描述】:
我正在尝试通过 Chromecast 为我的 iOS 应用程序提供隐藏式字幕支持。这些文件采用分段 WebVTT 格式(扩展名为 .m3u8)。但视频托管在 CDN 中,隐藏式字幕文件托管在单独的服务器上。这些 WebVTT 文件的 URL 是单独提供的,不是视频主播放列表的一部分。这些字幕适用于原生 iOS 播放器,但不适用于 Chromecast。
我尝试在托管分段 WebVTT 文件的同一台服务器上托管一个普通的 WebVTT(非分段)文件,它工作正常。所以,问题出在分段的 WebVTT 上。
那么,如果将分段的 WebVTT 文件单独托管,是否可以让它们与 Chromecast 一起使用。我正在使用自定义接收器。我是否需要在接收器文件中添加任何内容来支持这一点?
这就是我为隐藏式字幕创建媒体轨道的方式:
GCKMediaTrack *track = [[GCKMediaTrack alloc] initWithIdentifier:1
contentIdentifier:@"https://domain_name/track_name.m3u8"
contentType:@"text/webvtt"
type:GCKMediaTrackTypeText
textSubtype:GCKMediaTextTrackSubtypeCaptions
name:@"English"
languageCode:@"en-US"
customData:nil];
如果我们像这样传递一个单独的段,它可以正常工作。
GCKMediaTrack *track = [[GCKMediaTrack alloc] initWithIdentifier:1
contentIdentifier:@"https://domain_name/segments/track_index.webvtt"
contentType:@"text/webvtt"
type:GCKMediaTrackTypeText
textSubtype:GCKMediaTextTrackSubtypeCaptions
name:@"English"
languageCode:@"en-US"
customData:nil];
【问题讨论】:
-
是否为托管 VTT 分段的服务器正确设置了 CORS?
-
我已经更新了这个问题。接收器应用程序和字幕文件托管在同一个域上,所以我猜不需要 CORS 支持。还验证了各个字幕段是否正常工作。
-
能否请您在code.google.com/p/google-cast-sdk/issues/list 开一张票并附上信息(如果您还可以附上信息流就太好了)?
-
问题已发布。这是链接code.google.com/p/google-cast-sdk/issues/…。
标签: ios chromecast webvtt