ffmpeg 错误,错误初始化输出流 0:0 用于设置 `-profile:v main`
ffmpeg errors out with Error initializing output stream 0:0 for the setting `-profile:v main`
我们正在使用 ffmpeg 从多种类型的输入视频和音频(如 avi、mp4、mp3、mkv、m4a 等)生成 HSL 流文件(.m3u8、.ts)。我们正在尝试将所有内容编码为 h264 流以支持现代浏览器。但是我们在转换少数 avi 和 mp4 类型的视频(不是全部)时遇到了问题。下面是 ffmpeg 命令(它在 NodeJS 上使用 ffmpeg fluent)。
ffmpeg(fileName)
.outputOptions([
'-c:v h264',
'-profile:v main',
`-vf scale=1280:-2`,
'-hls_list_size 0',
'-start_number 0',
'-hls_time 10',
'-loglevel error',
])
.output(output_file_path)
当我们尝试 运行 使用一组特定的 avi 和 mp4 样本时,它会出错
Error: ffmpeg exited with code 1: Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
.
我尝试更改一些命令(例如提供 crf 值)并尝试 运行 它们,唯一一次成功转换转换它们是在我删除输出选项时 -profile:v main
。我不确定背后的原因。
I 运行 ffprobe 从无法生成流的视频中获取信息。我已将它们上传到要点:https://gist.github.com/vishwasnavadak/91b5c978e2a3cb7a7c7a2bb505487263
有什么我想念的吗?当存在 -profile:v main
选项时出错的原因是什么?
添加-pix_fmt yuv420p
。您的输入正在转换为 yuv444p
,这对于 H.264 主配置文件是不可接受的。
我们正在使用 ffmpeg 从多种类型的输入视频和音频(如 avi、mp4、mp3、mkv、m4a 等)生成 HSL 流文件(.m3u8、.ts)。我们正在尝试将所有内容编码为 h264 流以支持现代浏览器。但是我们在转换少数 avi 和 mp4 类型的视频(不是全部)时遇到了问题。下面是 ffmpeg 命令(它在 NodeJS 上使用 ffmpeg fluent)。
ffmpeg(fileName)
.outputOptions([
'-c:v h264',
'-profile:v main',
`-vf scale=1280:-2`,
'-hls_list_size 0',
'-start_number 0',
'-hls_time 10',
'-loglevel error',
])
.output(output_file_path)
当我们尝试 运行 使用一组特定的 avi 和 mp4 样本时,它会出错
Error: ffmpeg exited with code 1: Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
.
我尝试更改一些命令(例如提供 crf 值)并尝试 运行 它们,唯一一次成功转换转换它们是在我删除输出选项时 -profile:v main
。我不确定背后的原因。
I 运行 ffprobe 从无法生成流的视频中获取信息。我已将它们上传到要点:https://gist.github.com/vishwasnavadak/91b5c978e2a3cb7a7c7a2bb505487263
有什么我想念的吗?当存在 -profile:v main
选项时出错的原因是什么?
添加-pix_fmt yuv420p
。您的输入正在转换为 yuv444p
,这对于 H.264 主配置文件是不可接受的。