如何使用JCODEC将字节数组(.h264格式)解码为视频



在我的应用程序中,我必须将字节数组(即.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();

在这里,我如何解码视频缓冲区(字节数组)?

那我现在能做什么。

谢谢大家。

没有官方的 android API 可以直接解码 H.264 帧,唯一的方法是将 ffmpeg 移植到 android 并使用 jni 包装解码功能。

最新更新