FFMPEG hls_time 和 hls_init_time 一起不起作用

FFMPEG hls_time 和 hls_init_time 一起不起作用

我正在使用 ffmpeg v4.4,尝试使用此命令将 HLS 段(.ts)按初始段(4 秒)和其余段(10 秒)拆分,但段仅使用 hls_init_time 生成,hls_time 不适用:

ffmpeg -y -i input.mp4 -pix_fmt yuv420p -vcodec libx264 -profile:v main -level 3.0 -preset veryslow -force_key_frames expr:gte\(t,n_forced*1\) -g 30 -keyint_min 30 -f hls -hls_segment_type mpegts -hls_flags single_file -hls_init_time 4 -hls_time 8 -hls_list_size 20 output.m3u8

我需要生成具有字节范围的单个 .ts 文件,第一个块的字节范围为 6 秒持续时间,其余所有块的字节范围为 12 秒

我尝试将 key_frame 的长度保持在不同的 1 秒、3 秒、6 秒,并且 hls_list_size=0,但没有任何效果,这里出了什么问题?

答案1

这似乎是一个错误。目前,使用-force_key_frames expr:if(eq(t,4),1,not(mod(t-4,8)))

相关内容