我正在尝试为我的iOS应用程序提供Chromecast的隐藏字幕支持。这些文件是分段WebVTT格式(扩展名为.m3u8 )。但视频托管在CDN中,隐藏字幕文件托管在单独的服务器上。这些WebVTT文件的URL是单独提供的,不是视频主播播放列表的一部分。这些字幕适用于原生iOS播放器,但不适用于Chromecast。
我尝试在托管分段的WebVTT文件的同一服务器上托管一个普通的WebVTT (非分段的)文件,它工作得很好。因此,问题出在分段的WebVTT上。
那么,如果分割的WebVTT文件是单独托管的,那么它们是否可以与Chromecast一起工作呢?我正在使用自定义接收器。我需要在receiver文件中特别添加什么来支持这一点吗?
这是我为隐藏字幕创建媒体轨道的方式:
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];发布于 2019-08-01 16:51:02
在这个问题发布近五年后的今天,我经历了完全相同的事情。
下面是字幕播放列表:
#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秒,并且一个接一个地显示。
https://stackoverflow.com/questions/26736455
复制相似问题