【问题标题】:create m3u8 with multi isolate ts使用多隔离 ts 创建 m3u8
【发布时间】:2018-11-14 11:01:01
【问题描述】:

我有一个需求,每 3 秒录制一个 mp4(mp4 文件是连续的)。 使用 ffmpeg,我在每生成 3s mp4 后将 mp4 文件转换为 ts 文件。 所以现在我有很多 3s ts 文件(ts 文件是连续的,并且在播放器中播放)。 然后我生成一个 m3u8 文件,其中包含有关这些 ts 文件的信息。 现在一切看起来都很好,但是当我使用播放器播放 m3u8 文件时,总是在播放第一个 ts 文件后阻塞。

我认为 m3u8 中的 ts 文件之间一定存在某种关系(可能是时间戳?),而我的没有这些关系,所以在播放第一个 ts 文件后我的 m3u8 块。

我对ts和m3u8不太了解,谁能告诉我m3u8中的ts文件是什么关系,或者如何生成正确的m3u8文件?

【问题讨论】:

  • 时间戳和连续性计数器必须跨 ts 保留。

标签: video ffmpeg http-live-streaming m3u8 mpeg2-ts


【解决方案1】:

您的 m3u8 文件是什么样的? 像这样?

#EXTM3U
#EXT-X-TARGETDURATION:6
#EXT-X-ALLOW-CACHE:YES
#EXT-X-KEY:METHOD=AES-128,URI="http://example.com/path/to/resource.mp4/crypt.key?id=somekey"
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:1
#EXTINF:6.000,
http://example.com/path/to/resource.mp4/segment1_0_a.ts
#EXTINF:6.000,
http://example.com/path/to/resource.mp4/segment2_0_a.ts
#EXTINF:6.000,
http://example.com/path/to/resource.mp4/segment3_0_a.ts
#EXTINF:1.992,
http://example.com/path/to/resource.mp4/segment4_0_a.ts
#EXT-X-ENDLIST

如有疑问,请阅读文档:https://datatracker.ietf.org/doc/html/draft-pantos-http-live-streaming-23#section-3

【讨论】:

    猜你喜欢
    • 2019-02-02
    • 1970-01-01
    • 2011-03-13
    • 1970-01-01
    • 1970-01-01
    • 2020-09-14
    • 2012-07-24
    • 2022-01-03
    • 2020-10-08
    相关资源
    最近更新 更多