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

使用ffmpeg将图像序列转换为视频时出现的颜色混乱

龙成仁
2023-03-14

我正在使用ffmpeg从一个PNG序列生成一个视频,但是结果视频的颜色与源文件相比是错误的。获得正确的颜色是很重要的,因为我们同时使用视频资源和图像资源,并且颜色必须完美匹配(或者至少在视觉上尽可能的相似以避免不和谐)。

我们的PNG输入文件在sRGB颜色配置文件中。

下面是我们正在运行的命令:

ffmpeg -r 30 -f image2 -s 1920x1080 -i bg_analyse_%05d.png -vcodec libx264 -crf 25 -pix_fmt yuv420p output5.mp4

下面是一个源PNG(左)和视频中同一帧(右)的对比:

根据我们收集到的信息,H.264不支持sRGB作为内置的颜色配置文件,所以我认为ffmpeg必须执行某种颜色转换。但是,默认的ffmpeg设置似乎会错误地进行转换。

我已经尝试在多个播放器中播放视频文件,以确保它不是显示问题(QuickTime Player X、Chrome等)。视频是完全相同的(比源PNGs轻)在所有播放器。

最终,图像和视频将以电子(铬)显示。如果这改变了视频的生成方式。

我们有一个用于导出文件的AfterEffects项目。我们找不到任何方法来输出正确的颜色,所以我们希望使用ffmpeg和一系列PNGs(AE正确输出)将给我们更多的控制最终的颜色。对如何在AE中正确管理颜色的想法也是开放的。

共有1个答案

凌嘉志
2023-03-14

获得正确的颜色是很重要的,因为我们同时使用视频资源和图像资源,颜色必须完美匹配。

然后,你将需要一个完全不同的方法。没有有损的视频压缩是去什么你想要的。

如果这段视频是某种类型的动画,你必须找到另一种方法来重新创建它。

 类似资料:
  • 我在另一个论坛上问过这个问题,但从来没有运气。我在网上找到了下面的命令,它应该使用FFMPEG从图像创建一个视频(每个持续时间为5秒)。 FFMPEG-F image2-r 1/5-i img%03d.png-vcodec libx264 out.mp4 编辑:添加命令行输出

  • 我正在尝试将png图像序列转换为视频。不幸的是,虽然播放的正是我想要的视频改变了颜色。 用于转换图像的命令: FFMPEG-Framerate 30-pattern_type glob-i'*.png'-C:v libx264-profile:v high-CRF 20-pix_fmt yuv420p out.mp4 编辑我找到的答案如下所示。

  • ffmpeg 是 *nix 系统下最流行的音视频处理库,功能强大,并且提供了丰富的终端命令,实是日常视频处理的一大利器! 实例 flac 格式转 mp3 音频格式转换非常简单:ffmpeg -i input.flac -acodec libmp3lame output.mp3。 ffmpeg 将会使用 libmp3lame 解码器将 input.flac 文件转换为 mp3 格式的 output.

  • 问题内容: 我有一个Android应用程序,可将图像加载为位图并将其显示在ImageView中。问题在于图像似乎具有透明背景;这会导致图像上的某些黑色文本在黑色背景下消​​失。 如果将ImageView背景设置为白色,则可以完成这种工作,但是在图像上会出现丑陋的大边框,将其拉伸以适合父对象(实际图像在中间缩放)。 所以-我想将位图中的透明像素转换为纯色-但我不知道该怎么做! 任何帮助将不胜感激!

  • 我告诉我的服务器升级到最新版本的ffmpeg,他们告诉我他们做到了,我有最新版本的2.2.1。我测试了几个代码来将视频转换为x264,这是一个; 结果呢 FFmpeg版本0.6.5,版权所有(c)2000-2010 FFmpeg开发人员于2012年1月29日17:52:15使用gcc 4.4.5 20110214(Red Hat 4.4.5-6)配置构建:--prefix=/usr--libdir