我们正在开发Android 3D动画应用。
我们需要识别图像,然后使用FFmpeg保存并对视频进行编码(因为Android API不支持)。生成视频后,音频将附加到视频中。
我们面临着两个问题。
首先是在保存用于编码的识别图像时的内存泄漏问题。模拟器的CPU过载。每次选择图像时是否调用FFpmeg?如何解决这个问题?
第二个(如果我们通过第一个),我们无法对所选图像进行编码,因为这会产生绿色视频。这可能是什么原因?
对于从图像到H264的视频编码,是否还有除FFmpeg以外的工具? 图像版本(Rastar或Vector)是否会影响此视频编码? 是否考虑Android OS版本?
非常感谢任何有价值的投入。
由于
答案 0 :(得分:0)
我在Android手机上使用ffmpeg也玩过这个想法,但我建议在功能更强大的服务器上这样做。在服务器上,您不需要考虑智能手机的CPU负载。
通常,为了改善你的ffmpeg运行,你需要发布ffmpeg调用。 ffmpeg是安静复杂的,其中参数的顺序与效率直接相关。
我不知道你喜欢哪种容器格式,但也许一个简单的mjpeg编解码器可能适合你。 AFIK那里只有jpeg帧相互连接,这应该很简单,然后将视频编码为h264 / x264(ffmpeg使用最后一个)。
两者的组合可以是生成mjpeg流,该mjpeg流将在服务器端转换为可以下载到客户端的h264视频。但如果您不想浪费客户的流量,这实际上取决于视频的长度。