如何解决ffmpeg错误,错误为设置-profile:v main初始化输出流0:0
我们正在使用ffmpeg从avi,mp4,mp3,mkv,m4a等多种输入视频和音频类型生成HSL流文件(.m3u8,.ts)。我们正在尝试将所有内容编码为h264流以支持现代浏览器。但是我们在转换少量avi和mp4类型的视频(不是全部)时面临问题。下面是ffmpeg命令(在NodeJS上使用ffmpeg流畅)。
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
时。我不确定其背后的原因。
我运行ffprobe来从无法生成流的视频中获取信息。我将它们上传到了这里:https://gist.github.com/vishwasnavadak/91b5c978e2a3cb7a7c7a2bb505487263
有什么我想念的吗?如果出现-profile:v main
选项,它会出错的原因是什么?
解决方法
添加-pix_fmt yuv420p
。您的输入已转换为yuv444p
,这对于H.264主配置文件是不可接受的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。