当前位置: 首页 > 知识库问答 >
问题:

FFMPEG颜色范围裁剪为RGB中的15-235

巫马欣嘉
2023-03-14

我有一系列的BMPs(或PNG)图像,我想转换成XVID和MP5电影格式。

编码工作,但最终的电影有一个褪色的外观,黑色不知何故被移动到RGB 16,最亮的255个值被移动到235。我希望输出电影使用与源帧相同的0到255种颜色。

现在FFMPEG有各种各样的冲突文档,所以我希望有人有一个示例命令行来满足我的需要。我尝试过各种各样的pix_fmt标志,但没有一个能在全彩色范围内输出电影。

对于XVID

ffmpeg.exe -framerate 60 -i "D:\SRC%05d.BMP"  -c:v mpeg4 -vtag xvid -qscale 1 -y "D:\OUTPUT.AVI""

对于H265

ffmpeg.exe -framerate 60 -i "D:\SRC%05d.BMP" -c:v libx265 -x265-params lossless=1 -s 3840x2160 -pix_fmt yuvj420p -an -y "D:\OUTPUT.MP4""

yuvj420p应该提供完整的颜色范围,但ffmpeg抱怨“编解码器'libx265'的像素格式'yuvj420p'不兼容,自动选择格式'yuv420p'”

那么,有没有FFMPEG大师可以给我神奇的开关,让我的输出电影保持原始帧文件0-255 RGB值的黑色和颜色。

共有1个答案

冀冯浩
2023-03-14

输出范围可以强制,颜色范围元数据也可以强制,但您的播放器或编辑器可能强制有限的范围解释,因此,请注意转码器。

话虽如此,您必须设置两个标志:第一个为缩放器,然后为元数据。

ffmpeg.exe -framerate 60 -i "D:\SRC%05d.BMP" -vf format=yuv420p -dst_range 1 -color_range 2 -c:v mpeg4 -vtag xvid -qscale 1 -y "D:\OUTPUT.AVI""

(因为您使用的是mpeg4编码器,所以这不是Xvid,它将是-c: v libxvid;您需要链接这个库才能使用它。)

对于x265,可以使用编码器标志设置范围。

ffmpeg.exe -framerate 60 -i "D:\SRC%05d.BMP" -c:v libx265 -x265-params lossless=1:range=full -s 3840x2160 -dst_range 1 -pix_fmt yuv420p -an -y "D:\OUTPUT.MP4""
 类似资料:
  • 如何通过编程确定给定像素是否为黄色?还是红色?还是其他颜色? 在RGB空间中,红色通常是(255,0,0),但我们也知道(230,0,0)也会出现红色。 有没有什么标准将RGB空间分成八种主要颜色——红色、绿色、蓝色、黄色、洋红色、青色、黑色和白色?

  • 选择颜色范围 “色彩范围”命令选择现有选区或整个图像内指定的颜色或色彩范围。如果想替换选区,在应用此命令前确保已取消选择所有内容。“色彩范围”命令不可用于 32 位/通道的图像。 若要细调现有的选区,请重复使用“色彩范围”命令选择颜色的子集。例如,若要选择青色选区内的绿色区域,请选择“色彩范围”对话框中的“青色”选项并单击“确定”。然后,重新打开“色彩范围”对话框并选择“绿色”。(由于此技术在颜色

  • 我正在使用https://github.com/writingminds/ffmpeg-android-java命令裁剪视频: 其中“in”是inputfile,“out”是outputfile。

  • 我有一个返回十进制值的java代码,如下所示 第一个值表示红色的颜色代码,第二个值表示绿色的颜色代码,第三个值表示蓝色的颜色代码。 有没有什么方法可以将这些RGB值转换为java中相应的颜色?

  • 我正在尝试裁剪一些栅格数据并进行一些计算(特别是获得平均海面温度)。 但是,当比较在进行计算之前裁剪光栅数据的范围时,我得到的结果与在裁剪结果数据之前进行计算的结果相同。 光栅数据的原始范围是-180、180、90、90(xmin、xmax、ymin、ymax),我需要将其裁剪到由纬度和经度坐标定义的任何所需区域。 这是我正在使用的脚本进行测试: 这是平均值的输出。brick1-平均值。砖2: 如

  • 本文向大家介绍HTML采用的是RGB颜色还是CMYK颜色?为什么?相关面试题,主要包含被问及HTML采用的是RGB颜色还是CMYK颜色?为什么?时的应答技巧和注意事项,需要的朋友参考一下 用在电脑或者手机上显示的大部分都是RGB,用于需要印刷的都用CMYK 并且不同的显示器色域不同会导致色差,不同浏览器也有自己的调色板,后面总结出来过一套web安全色,就是专用在web上大部分情况下都不会有明显色差