ffmpeg - 使用 ffmpeg 将 jpg 转换为 mov 使用 DNXHD 编解码器时出错
问题描述
我正在使用 ffmpeg 将 jpg 转换为 mov。我被要求使用 DNxHD 115 编解码器,并且帧率为 24,所以我编写了以下命令:
ffmpeg -i my.jpg -r 24 -s 1920x1080 -vcodec dnxhd -b:v 115m -y test.mov
但它抛出错误:
[swscaler @ 0xefae40] deprecated pixel format used, make sure you did set range correctly
[dnxhd @ 0xf1c580] video parameters incompatible with DNxHD. Valid DNxHD profiles:
[dnxhd @ 0xf1c580] Frame Size:1920x1080p; bitrate:175Mbps; pixel format:yuv422p10; framerate:24000/1001
[dnxhd @ 0xf1c580] Frame Size:1920x1080p; bitrate:185Mbps; pixel format:yuv422p10; framerate:25/1
[dnxhd @ 0xf1c580] Frame Size:1920x1080p; bitrate:115Mbps; pixel format:yuv422p; framerate:24000/1001
[dnxhd @ 0xf1c580] Frame Size:1920x1080p; bitrate:120Mbps; pixel format:yuv422p; framerate:25/1
[dnxhd @ 0xf1c580] Frame Size:1920x1080p; bitrate:175Mbps; pixel format:yuv422p; framerate:24000/1001
[dnxhd @ 0xf1c580] Frame Size:1920x1080p; bitrate:185Mbps; pixel format:yuv422p; framerate:25/1
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg(native) -> dnxhd(native))
Error while openig encoder for output stream #0:0 - maybe incorrect parameter such as bit_rate, rate, width or height
我已经尝试了所有选项,但没有成功。
解决方案
第一次尝试
ffmpeg -i my.jpg -r 24000/1001 -s 1920x1080 -vcodec dnxhd -b:v 115m -y test.mov
如果上述失败,则像素格式不可接受,所以尝试
ffmpeg -i my.jpg -r 24000/1001 -pix_fmt yuv422p -s 1920x1080 -vcodec dnxhd -b:v 115m -y test.mov
请注意,您的输入是单个图像。所以输出持续时间将是1001/24000
s
推荐阅读
- jhipster - 如何在 Jhipster 中定义和对象集合?
- excel - 如何使用 Excel 作为数据源并在 UIPath 中执行 SQL 查询
- r - 绘制具有不同长度的 2 个变量以显示比例,而不是绝对数字
- docker - 如何在 Dockerfile 中卸载 docker 卷?
- c# - Azure 功能:在 MAIL FROM [DB6P189CA0021.EURP189.PROD.OUTLOOK.COM] 期间,客户端未经过身份验证以发送匿名邮件
- python - Django 通道:连接到套接字
- nested - TYPO3:带有嵌套 For 循环的 If 语句的内联表示法
- node.js - nodejs base64到blob的转换
- gitlab - 如何在 gitlab 项目页面中隐藏冗余(auto devops kubernetes CI/CD)按钮
- python - 如何在 django admin 的非只读字段中突出显示一些单词?