如何使用jcodec将bytearray(以.h264格式)解码为视频?

时间:2015-01-29 04:58:57

标签: android decode live-streaming

在我的应用程序中,我必须解码视频中的bytearray(即.h264格式)和来自实时漫游的字节数。代码如下,

static final int VIDEO_BUF_SIZE = 100000;
 static final int FRAME_INFO_SIZE = 16;
 byte[] frameInfo = new byte[FRAME_INFO_SIZE];
 byte[] videoBuffer = new byte[VIDEO_BUF_SIZE];

File SDFile = android.os.Environment.getExternalStorageDirectory();

File destDir = new File(SDFile.getAbsolutePath() + "/test.h264");


//avRecvFrameData returns the length of the frame and stores it in ret.
int ret = av.avRecvFrameData(avIndex, videoBuffer,
                        VIDEO_BUF_SIZE, frameInfo, FRAME_INFO_SIZE,
                        frameNumber);

fos=new FileOutputStream(destDir,true);
                fos.write(videoBuffer, 0, ret);
                fos.close();

这里我如何解码视频缓冲区(bytearray)?

那我现在该怎么办。

感谢All。

1 个答案:

答案 0 :(得分:0)

直接解码H.264帧没有官方的android api,唯一的方法是将ffmpeg移植到android并用jni包装解码函数。