使用FFmpeg将图像编码为视频

3
我们正在开发Android 3D动画应用程序。
我们需要识别图像,然后使用FFmpeg保存和编码相同的视频(因为Android API不支持)。一旦生成视频,就会将音频附加到其中。
我们在此遇到了两个问题。
第一个是在保存识别出的图像以进行编码时存在内存泄漏问题。模拟器的CPU过载了。每次选择图像时,是否都要调用FFpmeg?如何解决这个问题?
第二个问题(如果我们通过了第一个问题)是无法对选定的图像进行编码,因为这会生成绿色的视频。这可能是什么原因?
是否有除FFmpeg之外的其他工具可以将图像从图像编码为H264的视频?
图片版本(Rastar或Vector)是否会影响此视频编码?
是否考虑Android操作系统版本?
非常感谢任何有价值的意见。
1个回答

0

我曾经也考虑过在安卓手机上使用ffmpeg,但我建议在拥有更多计算能力的服务器上进行。在服务器上,您不需要考虑智能手机的CPU负载。

一般来说,要改善您的ffmpeg运行,您需要发布ffmpeg调用。ffmpeg非常复杂,参数顺序直接影响效率。

我不知道您偏好哪种容器格式,但也许简单的mjpeg编解码器适合您。据我所知,只有连接在一起的jpeg帧,这应该比将视频编码为h264 / x264(ffmpeg使用后者)简单得多。

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


谢谢您发送这个。我们会调查一下。 - AndroidGeek
@AndroidGeek 如果您喜欢我的回答,请点赞;如果它对您有帮助,请接受它作为解决方案。 :-) - rekire
另外,关于绿色视频生成的原因怎么样?我们在使用NDK方法对ffmpeg的图像进行视频编码处理。感谢您的任何反馈。 - AndroidGeek
关于绿色图像,我绝对不确定。我只在mpeg视频中看到过这种情况。我认为这只是表示视频流已经损坏了... - rekire

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接