我有一个要求,每3秒记录一个mp4 ( mp4文件是连续的)。并使用ffmpeg在每生成3s mp4后将mp4文件转换为ts文件。所以现在我有很多3s ts文件( ts文件是连续的,可以在播放器中播放)。然后,我生成一个m3u8文件,其中包含有关这些ts文件的信息。现在一切看起来都很好,但是当我使用播放器播放m3u8文件时,总是在播放完第一个ts文件后阻塞。
我认为m3u8中的ts文件之间一定存在某种关系(可能是时间戳?)和我的没有这些关系,所以我的m3u8块后,第一个ts文件播放。
我不太了解ts和m3u8,谁能告诉我m3u8中ts文件之间的关系,或者我如何生成正确的m3u8文件?
发布于 2018-06-07 23:39:53
您的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
https://stackoverflow.com/questions/50691932
复制相似问题