Video 将.ts视频剪辑附加到m3u8 HLS流

Video 将.ts视频剪辑附加到m3u8 HLS流,video,ffmpeg,http-live-streaming,flowplayer,m3u8,Video,Ffmpeg,Http Live Streaming,Flowplayer,M3u8,我试图通过使用m3u8清单将多个流合并在一起,而无需重新编码视频 每个视频的开头都是一样的,结尾也是一样的,中间有一小段,有7000多种不同。我想做的是创建7000多个m3u8文件,每个文件将通用介绍、定制中间部分和通用端合并在一起,形成一个HLS流。这可能吗 以下是ffmpeg生成的m3u8文件: #EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:12 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-PLAYLIST-TYPE:VOD

我试图通过使用m3u8清单将多个流合并在一起,而无需重新编码视频

每个视频的开头都是一样的,结尾也是一样的,中间有一小段,有7000多种不同。我想做的是创建7000多个m3u8文件,每个文件将通用介绍、定制中间部分和通用端合并在一起,形成一个HLS流。这可能吗

以下是ffmpeg生成的m3u8文件:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:12
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:11.520000,
3_1080p_000.ts
#EXTINF:9.600000,
3_1080p_001.ts
#EXTINF:9.600000,
3_1080p_002.ts
#EXTINF:9.600000,
3_1080p_003.ts
#EXTINF:11.520000,
3_1080p_004.ts
#EXTINF:8.440000,
3_1080p_005.ts
#EXT-X-ENDLIST
我尝试在结尾(也在开头)添加一个额外的剪辑,该剪辑的持续时间为844000秒,如下所示:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:12
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:11.520000,
3_1080p_000.ts
#EXTINF:9.600000,
3_1080p_001.ts
#EXTINF:9.600000,
3_1080p_002.ts
#EXTINF:9.600000,
3_1080p_003.ts
#EXTINF:11.520000,
3_1080p_004.ts
#EXTINF:8.440000,
3_1080p_005.ts
#EXTINF:8.440000,
4_1080p_005.ts
#EXT-X-ENDLIST
当我试着运行这个程序时,flowplayer会检测到更新的长度并播放流,但是当它开始播放附加的剪辑时,它会跳回到开始,就像它停止了一样。任何帮助都将不胜感激,否则我将不得不完整地渲染每个视频,还有7000多件事要做

问题流可供查看。它正好在1分钟结束,而不是在1:08结束


提前感谢。

这里的问题可能源于这样一个事实,即4_1080p_005.ts块不是3_1080p_005.ts时间戳的直接延续。解码器检测到这些块之间的流中存在中断,并且无法继续

请查看HTTP实时流媒体规范,该规范考虑了这些情况,并为m3u8清单提供了EXT-X-intercontinuction标记,指示解码器存在此类中断

与您的情况相关的片段

EXT-X-不连续性标签表示 后面的媒体段和前面的媒体段

其格式为:

#EXT-X不连续性

如果发生变化,则必须提供EXT-X-不连续性标签 以下任何特征:

o文件格式

o轨道的编号、类型和标识符

时间戳序列

尝试修改m3u8清单并在这两个受影响的块之间添加标记,如下所示:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:12
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:11.520000,
3_1080p_000.ts
#EXTINF:9.600000,
3_1080p_001.ts
#EXTINF:9.600000,
3_1080p_002.ts
#EXTINF:9.600000,
3_1080p_003.ts
#EXTINF:11.520000,
3_1080p_004.ts
#EXTINF:8.440000,
3_1080p_005.ts
#EXT-X-DISCONTINUITY
#EXTINF:8.440000,
4_1080p_005.ts
#EXT-X-ENDLIST

太谢谢你了@tbucher我真是太感谢你了,这帮我省了好几天的时间!精彩当播放每个不连续标记后的片段时,播放过程中会出现短暂的间隙。你知道为什么吗?看见谢谢不幸的是,这是不连续性的缺点,在不同的客户机之间,尽可能平滑地附加具有不同属性的块的能力会有所不同。在html5模式下,您将看到不同玩家和不同浏览器的不同结果。