JCodec位图到mp4 - 结果视频中的失真

时间:2017-06-11 11:03:25

标签: android video mp4 jcodec

当我尝试使用JCodec将单个位图转换为10秒长的视频时 - 有时我得到一个奇怪的结果,通常是颜色失真 - 或者在结果视频上绘制黑色对角线。 这是我使用的代码(我调试了它,问题发生在那里):

SequenceEncoder enc = new SequenceEncoder(f);
for (int x = 0; x < 250; x++) {
     Log.d("frame", "" + x);
     enc.encodeImage(bitmap);
     publishProgress(pb, 1);
}
enc.finish();

以下是两个问题的示例(以红色箭头标记):

原始图片 enter image description here

渲染后: enter image description here

1 个答案:

答案 0 :(得分:2)

经过很长一段时间后神秘解决了。

如果位图的高度或宽度不是偶数,则会出现失真。 用于android的JCodec在使用这样的位图时不会触发任何错误,正常的Jcodec将触发非法的参数异常。

解决方案:在编码之前,只需将位图大小调整为可被2整除的大小。