我正在研究要播放HLS视频(VOD和live)以及MP4的Roku和TVOS应用程序。根据Roku docs EIA-608在两者都支持,并且也应该在TVOS上工作。如何显示来自m3u8 URL的HLS视频流的隐藏字幕格式
我的问题是,如果给出指向m3u8
的URL,我怎么能告诉每个流中正在使用隐藏字幕的特定格式(EIA-608,WebVTT等)?
主要m3u8
的内容(注1流说不准CC,但它确实有它)的
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=380000,RESOLUTION=400x228,CODECS="avc1.66.30, mp4a.40.2",CLOSED-CAPTIONS=NONE
http://d.com/i/video/2426832/2426832_,350,640,1000,2000,.mp4.csmil/index_0_av.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=750000,RESOLUTION=640x360,CODECS="avc1.77.30, mp4a.40.2",CLOSED-CAPTIONS=NONE
http://d.com/i/video/2426832/2426832_,350,640,1000,2000,.mp4.csmil/index_1_av.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1044000,RESOLUTION=1280x720,CODECS="avc1.64001f, mp4a.40.2",CLOSED-CAPTIONS=NONE
http://d.com/i/video/2426832/2426832_,350,640,1000,2000,.mp4.csmil/index_2_av.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2127000,RESOLUTION=1280x720,CODECS="avc1.64001f, mp4a.40.2",CLOSED-CAPTIONS=NONE
http://d.com/i/video/2426832/2426832_,350,640,1000,2000,.mp4.csmil/index_3_av.m3u8
内容一号流的m3u8
#EXTM3U
#EXT-X-TARGETDURATION:4
#EXT-X-ALLOW-CACHE:YES
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:1
#EXTINF:4.000,
http://d.com/i/video/2426832/2426832_,350,640,1000,2000,.mp4.csmil/segment1_0_av.ts
...
我可以使用ffprobe -hide_banner
来显示第1个节目的信息流具有隐藏式字幕。例如:
Duration: 00:02:36.76, start: 0.100511, bitrate: 0 kb/s
Program 0
Metadata:
variant_bitrate : 380000
Stream #0:0: Video: h264 (Constrained Baseline) ([27][0][0][0]/0x001B), yuv420p, 400x228 [SAR 1:1 DAR 100:57], Closed Captions, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Metadata:
variant_bitrate : 380000
Stream #0:1: Audio: aac (LC) ([15][0][0][0]/0x000F), 44100 Hz, mono, fltp, 48 kb/s
Metadata:
variant_bitrate : 380000
然而,正如你所看到的,节目0>流0只是说,这是有Closed captions
- 它没有列出的隐藏式字幕技术类型/规格被使用。
如何显示Closed Captions
的格式?
谢谢。如果我上面的示例是EIA-608,为什么标题会显示在Roku上,而不是TVOS? TVOS声称EIA-608兼容。任何想法? – rynop
您是否在清单中设置了标题格式?它记录在苹果网站上。 – szatmary
你有指向文档页的链接吗?我们没有看到任何东西...... – rynop