Android 如何将onPreviewFrame转换为mp4视频

Android 如何将onPreviewFrame转换为mp4视频,android,android-camera,android-mediarecorder,android-mediacodec,Android,Android Camera,Android Mediarecorder,Android Mediacodec,我通过onPreviewFrame回调设置了一个摄像头预览,我想知道,“如何将onPreviewFrame数据编码到mp4视频文件中?” 到目前为止,我知道安卓4.1有一个MediaCodec(译码器和编码器)。 MediaCodec类是否足以将onPreviewFrame数据编码到mp4视频中?如果是这样的话,实现这一目标的步骤是什么 谢谢,如果您有任何意见或建议,假设您的设备安装了mp4编解码器,MediaCodec可以处理此问题。可以使用创建mime特定编码器。您可能正在寻找“video/

我通过onPreviewFrame回调设置了一个摄像头预览,我想知道,“如何将onPreviewFrame数据编码到mp4视频文件中?”

到目前为止,我知道安卓4.1有一个MediaCodec(译码器和编码器)。 MediaCodec类是否足以将onPreviewFrame数据编码到mp4视频中?如果是这样的话,实现这一目标的步骤是什么


谢谢,如果您有任何意见或建议,

假设您的设备安装了mp4编解码器,
MediaCodec
可以处理此问题。可以使用创建mime特定编码器。您可能正在寻找
“video/mp4v es”
作为参数


有关基础知识的简要概述,请查看。您可以在web上找到更详细的教程,甚至是
MediaCodec
的完整实现。

正如上面链接的问题的答案中所述,在4.1上实现所有功能可能有点困难(例如,摄像头和MediaCodec YUV格式不同)。对于4.3及更高版本,它很简单——请参阅上的CameraToMpegTest。有没有关于如何使用MediaCodec录制字节数组的示例?@fadden CameraToMpegTest不使用onPreviewFrame中的字节,它使用的是Surface。。。如果您再次阅读这个问题,我们将讨论onPreviewFrame-原始帧字节数组看看--这是一个Android CTS测试,它生成YUV数据,对其进行编码、解码,并将其与原始数据进行比较。这比将相机输出直接输入MediaCodec要慢得多。OP似乎想对摄像机数据进行编码,这就是为什么我把它们指向那个方向。但是如果您有来自其他来源的YUV数据,上面的代码将告诉您该怎么做。请记住,您必须使用MediaCodec支持的YUV布局,因此您可能需要转换图像数据。嗨,晓宇,我也面临同样的问题。你有解决办法吗?如果是,请分享。