我使用以下命令将mp4
转换为hls
格式,使用ffmpeg
。对于输出块具有随机持续时间块大小的事实,一切都工作正常。
ffmpeg -i ad1.mp4 -strict -2 preset:v veryfast -profile:v baseline -level 3.0 -start_number 0 -hls_list_size 0 -hls_segment_filename 'sample-%06d.ts' -f hls sample.m3u8
我甚至尝试使用-hls_time 10
它有点解决了我的问题,时间不是10静态。我可以完全承受与指定大小不同的第一个和最后一个块。有没有严格的方法来做到这一点。
示例输出:Link
使用-hls_time 10时的输出:Link
答案 0 :(得分:1)
HLS和类似的复用器仅在关键帧处拆分,因此添加段时间并强制关键帧与段时间对齐。
-force_key_frames expr:'gte(t,n_forced*10)' -hls_time 10