android - 如何在android上将相机帧编码为mp4

标签 android camera capture frames stagefright

我从 640x480(对我来说足够)的 android 相机中获取相机预览帧,并对它们进行一些修改。但现在我需要将它们编码为新的 MP4 文件(带音频)。

这怎么可能?我不能使用 ffmpeg,因为它的许可证不太好,但我发现 Stagefright 框架应该能够做到这一点。但是我没有找到任何官方文档或教程来做我需要做的事情。

请问有没有办法用这个框架来做?我不需要代码,如果能为我指明正确的方向,我会非常高兴。

最佳答案

有一个场景可以实现所描述的用例。考虑这样一种情况,其中 Camera 输出被馈送到 OpenGL 库,其中一些效果应用于需要记录的预览帧。

在这种情况下,您可以使用传统的 MediaRecorderGrallocSource 而不是 CameraSource。设置看起来像这样:

MediaRecorder 使用 GrallocSource 设置。用于记录的输入表面由实现 SurfaceTextureClientCamera + OpenGL 组合操作提供。一个很好的例子可以在 SurfaceMediaSource_test modules 中找到。 .

关于android - 如何在android上将相机帧编码为mp4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23450387/

相关文章:

android - 使用导航组件时动态更改工具栏后退箭头图标的颜色

java - 如何在android中为TextView的一部分着色?

android - Camera2 Library 在 android 拍摄的照片上没有给出默认的捕捉声音

ios - Phonegap插件半屏摄像头ala Taptalk

android - 在自动化的Android构建中找不到插件gradle错误

java - 如何使用 SharedPreferences 保存标记

java - 没有摄像头的 SurfaceView : preview after start rotated on 90 degree

android - 从相机捕获图像并在 Activity 中显示

ruby - 如何从循环中捕获每个值并将其分配给数组? [ ruby ]

ruby-on-rails - 在方法中使用 form_for 的 Draper