use*_*676 33 java mpeg image avi movie
我基本上有一个字节矩阵.每行(意为byte [])表示图像.如何创建一个电影(任何格式 - avi,mpeg,等等),并将其保存为文件?每个图像可以是以下之一:
int JPEG Encoded formats.
int NV16 YCbCr format, used for video.
int NV21 YCrCb format used for images, which uses the NV21 encoding format.
int RGB_565 RGB format used for pictures encoded as RGB_565.
int YUY2 YCbCr format used for images, which uses YUYV (YUY2) encoding format.
int YV12 Android YUV format: This format is exposed to software decoders and applications.
Run Code Online (Sandbox Code Playgroud)
只要我创建电影,我就可以选择我喜欢的格式.
public void createMovie(byte[][] images) {
// and ideas on what to write here?
}
Run Code Online (Sandbox Code Playgroud)
我不需要实际的实现,只是让我知道这个想法以及我需要的外部库(如果我需要的话).
我还需要在创建电影之前编辑一些图像(字节流)(添加一些文本).我怎样才能做到这一点?
解决方案需要是"仅限Java"!没有外部程序,没有外部命令(但我可以使用外部jar).
谢谢!
解决方案似乎是使用Mencoder(或者至少,这似乎是一种半流行的选择).
这是一个专门针对Mencoder中的图像到电影功能的链接.
至于在将帧文本作为视频的一部分进行编码之前将文本渲染到帧上,您可以使用Java2D的图像处理库来预先在图像上绘制文本.例如:
这是一种方法,这个FAQ应该让你从Java2D,字体渲染等方面开始,并提供指向更多资源的指针.
ImageIO库还允许您读/写多种图像格式,有效地允许您从.jpg - > BufferedImage - > .png或您需要的任何方式转码图像,如果您愿意在转换过程中临时存储图像文件,和/或在为转换项目导入图像时将所有图像转换为单一格式等.
根据您希望支持的输出格式数量,您可能会执行类似的操作
public void createMovie(BufferedImage[] frames, String destinationFormat)
Run Code Online (Sandbox Code Playgroud)
...其中"destinationFormat"类似于"m4v","mpeg2","h.264","gif"等.
归档时间: |
|
查看次数: |
27625 次 |
最近记录: |