我想使用-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"
答案 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正常工作