背景是,我使用FFMPEG将视频(mp4,mov)分割成PNG帧,然后使用GraphicsMagick将它们转换为jpeg。
所以我在NodeJS中使用GraphicsMagick,来自here及以下是一个片段:
var gm = require('gm').subClass({imageMagick: true});
gm('input.png')
.write('output.jpg', (err) => {
if (err) return console.log(err);
console.log('done');
});
但输出的jpeg颜色要么被洗掉,要么太暗。 有关输出,请参阅here。原始视频保留(mov),转换后的JPEG视频为中间和右侧。 中间一个是在 Heroku 上运行的节点应用程序,右侧图像是我的osx机器上的节点应用程序。
我已经读过它可能与'个人资料'但这似乎没有什么区别:
.profile('sRGB.icc')
' sRGB.icc'是我下载的颜色配置文件。
有什么想法吗?
我还尝试将颜色设置为16,777,216,尝试将位深度设置为8和16,尝试将颜色空间设置为' rgb'无济于事。
答案 0 :(得分:0)
因此经过很长时间的大量测试和配置(使用Docker构建丰富)后,问题是较新的FFMPEG版本会使用某种混乱的轮廓渲染图像,这会导致颜色问题。
恢复到旧版的FFMPEG(2014版本)解决了这个问题。