使用ffmpeg将图像编码为视频

时间:2012-09-29 05:56:20

标签: android ffmpeg h.264

我们正在开发Android 3D动画应用。

我们需要识别图像,然后使用FFmpeg保存并对视频进行编码(因为Android API不支持)。生成视频后,音频将附加到视频中。

我们面临着两个问题。

首先是在保存用于编码的识别图像时的内存泄漏问题。模拟器的CPU过载。每次选择图像时是否调用FFpmeg?如何解决这个问题?

第二个(如果我们通过第一个),我们无法对所选图像进行编码,因为这会产生绿色视频。这可能是什么原因?

对于从图像到H264的视频编码,是否还有除FFmpeg以外的工具? 图像版本(Rastar或Vector)是否会影响此视频编码? 是否考虑Android OS版本?

非常感谢任何有价值的投入。

由于

1 个答案:

答案 0 :(得分:0)

我在Android手机上使用ffmpeg也玩过这个想法,但我建议在功能更强大的服务器上这样做。在服务器上,您不需要考虑智能手机的CPU负载。

通常,为了改善你的ffmpeg运行,你需要发布ffmpeg调用。 ffmpeg是安静复杂的,其中参数的顺序与效率直接相关。

我不知道你喜欢哪种容器格式,但也许一个简单的mjpeg编解码器可能适合你。 AFIK那里只有jpeg帧相互连接,这应该很简单,然后将视频编码为h264 / x264(ffmpeg使用最后一个)。

两者的组合可以是生成mjpeg流,该mjpeg流将在服务器端转换为可以下载到客户端的h264视频。但如果您不想浪费客户的流量,这实际上取决于视频的长度。