ffmpeg hls_time选项不适用于h264_nvenc

时间:2019-10-26 12:59:12

标签: ffmpeg

我想使用-hls_time将视频分割为HLS切片,但是只有-codec copy可以使用。

我尝试像这样添加关键帧,但仍然无法使用
-force_key_frames expr:"gte(t,n_forced*1)"

这是可以使用-hls_time的代码
ffmpeg -i "/content/test.mp4" -codec copy -hls_list_size 0 -hls_time 6 /content/'480p.m3u8'

这是-hls_time不起作用的代码
ffmpeg -vsync 0 -hwaccel cuvid -i "/content/test.mp4" -c:a copy -c:v h264_nvenc -gpu 0 -b:v 1400000 -force_key_frames expr:"gte(t,n_forced*1)" -hls_time 6 -s 848x480 "/content/480p.m3u8"

2 个答案:

答案 0 :(得分:0)

我只是通过添加来修复它 -hls_flags split_by_time到代码
所以看起来像这样:
ffmpeg -vsync 0 -hwaccel cuvid -i "/content/test.mp4" -c:a copy -c:v h264_nvenc -gpu 0 -b:v 1400000 -hls_flags split_by_time -hls_time 6 -s 848x480 "/content/480p.m3u8"

答案 1 :(得分:0)

我使用的是ffmpeg构建版本3.4.8,它在没有任何hls_flags的情况下可以与GPU正常工作