ffmpeg hls_time选项不适用于h264_nvenc

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ffmpeg hls_time选项不适用于h264_nvenc相关的知识,希望对你有一定的参考价值。

我想使用-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"

我想使用-hls_time将视频分割为HLS切片,但是只有-codec复制可以使用它。我曾尝试像这样添加关键帧,但仍然无法使用-force_key_frames expr:“ gte(t,n_forced * 1)”这...

答案

我只是通过添加来解决它-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"

以上是关于ffmpeg hls_time选项不适用于h264_nvenc的主要内容,如果未能解决你的问题,请参考以下文章

FFmpeg 中用于最快转换为 h264 的线程计数选项?

将视频转换为 H264 时出现无法识别的选项“c:v”ffmpeg 错误

ffmpeg用于将视频编码为H264编解码器格式

MediaCodec H264 编码器不适用于 Snapdragon 800 设备

ffmpeg 不适用于包含空格的文件名

bindProcessToNetwork 不适用于 android 中的 ffmpeg