我正在尝试在Java中对视频进行编码。 我可以访问独立的I420 YUV帧(这些来自我无法更改的程序的不同部分)。 基本上,我针对一帧有3个字节缓冲区(+尺寸),分别代表不同的平面。 据我所知,我的格式每个像素的y平面占1个字节,u和v各半个字节。
最佳的方法是将它们编码为MP4视频文件? 我已经尝试使用xuggler API,但似乎找不到直接使用yuv帧的方法。 现在,我将其转换为BufferedImage(TYPE_3BYTE_BGR)后才能使用xuggler API将其编码到视频中。
但这会导致巨大的开销(需要将yuv数据转换为rgb以处理每个像素),并且是不必要的,因为xuggler将它们再次编码为yuv帧以将其存储在视频文件中?(不确定。)
那么,在Java中直接编码原始yuv帧到视频文件是否存在更简单的方法?
感谢任何指导。