使用 "Option pixel_format not found"时 FFMpeg 打印 "pix_fmt"

标签 ffmpeg video-processing

我正在尝试做一个相对简单的任务——通过重新编码将视频从一种像素格式转换为另一种像素格式。这是我当前的命令:

ffmpeg -hide_banner -loglevel error -pix_fmt yuv444p -i "%1" video.mp4
在哪里 %1是文件名。然而,奇怪的是,ffmpeg 打印出这个:
Option pixel_format not found.
它是红色的,所以这是一个错误。添加 -loglevel verbose没有提供更多信息。我对此感到非常困惑——我没有定义任何“pixel_format”选项。从批处理文件和直接从 cmd.exe 调用此命令时都会出现此问题。实例。
将“pix_fmt”替换为“pixel_format”并放入pix_fmt-i 之后不能解决问题。

最佳答案

您正在尝试使用 yuv444p 强制读取输入文件.尝试

ffmpeg -hide_banner -loglevel error -i "%1" -pix_fmt yuv444p video.mp4
h264 解码器不支持用户指定的像素格式,因此出现错误:Option pixel_format not found.另一方面,默认的 h264 编码器 ( libx264 ) 允许 -pix_fmt用于指定输出像素格式的选项。

关于使用 "Option pixel_format not found"时 FFMpeg 打印 "pix_fmt",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71989859/

相关文章:

c# - 视频文件中的对象跟踪

python - 增加帧数会减少opencv videowriter中视频的持续时间吗?

ffmpeg - 为什么 ffmpeg 会创建额外的文件?

c# - 如何使用 Emgu 检测对象的方向和数量?

ffmpeg - 使用 ffmpeg 转码时如何消除文件内的 PTS 间隙?

c++ - 将 FFmpeg 与 Direct Show 结合使用

performance - MJPEG 与 MPEG-4 编码时间

python - 如何确定视频的角速度?

FFMPEG画中画和水印

nginx - 无法使用 nginx-rtmp-module 重新流式传输