我正在尝试为我的iOS应用提供Chromecast的隐藏式字幕支持。这些文件采用分段WebVTT格式(扩展名为.m3u8)。但视频托管在CDN和托管在单独服务器上的隐藏式字幕文件中。这些WebVTT文件的URL是单独提供的,不是视频主播放列表的一部分。这些字幕适用于原生iOS播放器,但不适用于Chromecast。
我尝试在托管分段WebVTT文件的同一台服务器上托管一个普通的WebVTT(非分段)文件,并且工作正常。因此,问题在于分段的WebVTT。
因此,是否可以将分段的WebVTT文件与Chromecast一起使用(如果它们是单独托管的)。我正在使用Custom接收器。我是否需要专门为接收器文件添加任何内容以支持此功能?
这就是我为隐藏式字幕创建媒体轨道的方法:
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];
答案 0 :(得分:0)
这个问题发布近五年后,我今天经历的事情完全相同。
以下字幕播放列表:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-TARGETDURATION:7310
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:7309.400000,
https://undertekst.nrk.no/prod/MSUB19/12/MSUB19121216AW/MIX/MSUB19121216AW-v2.vtt
#EXT-X-DISCONTINUITY
#EXTINF:5891.920000,
https://undertekst.nrk.no/prod/MSUB19/12/MSUB19121216BW/TTV/MSUB19121216BW-v2.vtt
#EXT-X-ENDLIST
使chromecast彼此重叠显示两个片段。但是,在iOS设备上,它们会偏移7309.4秒,并且会依次显示。