cpp mp4转换h264 deprecated pixel format used, make sure you did set range correctly
时间: 2024-04-30 13:19:25 浏览: 137
这个问题可能是因为你的输入文件中使用了过时的像素格式,比如说 YUV420p。你可以尝试使用以下命令来将输入文件转换为新的像素格式:
```
ffmpeg -i input.mp4 -c:v libx264 -pix_fmt yuv420p output.mp4
```
这个命令将会将输入文件转换为 H.264 编码格式并使用 yuv420p 像素格式。如果你需要使用其他像素格式,可以在命令中指定。另外,你也可以通过设置正确的范围来解决这个问题。
相关问题
mp4转换h264 deprecated pixel format used, make sure you did set range correctly cpp
这个问题通常是由于使用了过时的像素格式(deprecated pixel format)导致的,需要确保正确设置了像素范围(range)。
你可以尝试使用 FFmpeg 工具将 MP4 转换为 H.264:
```bash
ffmpeg -i input.mp4 -c:v libx264 -preset slow -crf 22 -c:a copy output.mp4
```
其中,`-c:v libx264` 表示使用 H.264 编码器,`-preset slow` 表示使用慢速预设,`-crf 22` 表示输出视频的质量,数值越小,质量越高,`-c:a copy` 表示不对音频进行重新编码,直接复制到输出文件中。
如果还是出现了相同的错误,你可以尝试在命令行中加入 `-vf scale=trunc(iw/2)*2:trunc(ih/2)*2`,将视频的宽高分别缩小到偶数像素,这也有可能解决该问题。
mp4转换h264 deprecated pixel format used, make sure you did set range correctly
这个警告信息意味着输入的像素格式已经过时,需要使用更现代的格式。同时,它也提醒你确认你设置了正确的范围。
在进行转换的时候,你可以尝试使用更现代的像素格式,例如YUV420P。在命令行中,你可以使用以下命令来转换:
```
ffmpeg -i input.mp4 -c:v libx264 -preset slow -profile:v high -pix_fmt yuv420p output.h264
```
其中,`-pix_fmt yuv420p`表示使用YUV420P像素格式进行转换。如果你的警告信息依然存在,你可以尝试添加`-color_range pc`来设置正确的范围。
阅读全文