小编lif*_*ger的帖子

使用MediaCodec和MediaMuxer的图像到视频

我有一堆本地图像保存为jpeg文件.我的图像是使用CameraPreview捕获的,而PreviewFormat是默认值:NV21.我想从固定数量的图像生成一个小视频.

我不打算使用FFMpeg因为它需要NDK并且会引入兼容性问题.

MediaCodec和MediaMuxer似乎很有效,但网上没有一个可行的解决方案.

有一些参考资料导致我目前的解决方案.

1. EncodeAndMuxTest:http://bigflake.com/mediacodec/EncodeAndMuxTest.java.txt

这个是由法登写的.它非常适合我的需要,除了他使用的是createInputSurface而不是queueInputBuffer.

2. 将位图数组转换为YUV(YCbCr NV21)

我按照这个答案进行转换./sf/answers/1198188981/

3. 使用MediaCodec将一系列图像保存为视频

这个问题看起来与我的很相似,但我不打扰使用MediaMuxer.

我的代码如下:

public class EncodeAndMux extends Activity {
private static final String TAG = "EncodeAndMuxTest";

private static final boolean VERBOSE = false;

private static final File OUTPUT_DIR = Environment
        .getExternalStorageDirectory();

private static final String MIME_TYPE = "video/avc";

private static final int FRAME_RATE = 10;
// 10 seconds between I-frames
private static final int IFRAME_INTERVAL = 10;

private static final int NUM_FRAMES …
Run Code Online (Sandbox Code Playgroud)

android mediacodec

17
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

mediacodec ×1