小编jac*_*500的帖子

如何播放MediaCodec编码器生成的原始h264?

当谈到MediaCodec(以及一般的视频编码/解码)时,我有点新意,所以如果我在这里说的任何错误,请纠正我.

我想用VLC/ffplay播放MediaCodec的原始h264输出.我需要这个才能发挥,因为我的最终目标是将一些实时视频流传输到计算机,而MediaMuxer只在磁盘上生成一个文件,而不是我可以以非常低的延迟流式传输到桌面.(我对其他解决方案持开放态度,但我还没有发现任何符合延迟要求的其他解决方案)

这是我正在使用的代码对视频进行编码并将其写入文件:(它基于此处找到的MediaCodec示例,仅删除了MediaMuxer部分)

package com.jackos2500.droidtop;

import android.media.MediaCodec;
import android.media.MediaCodecInfo;
import android.media.MediaFormat;
import android.opengl.EGL14;
import android.opengl.EGLConfig;
import android.opengl.EGLContext;
import android.opengl.EGLDisplay;
import android.opengl.EGLExt;
import android.opengl.EGLSurface;
import android.opengl.GLES20;
import android.os.Environment;
import android.util.Log;
import android.view.Surface;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;

public class StreamH264 {
    private static final String TAG = "StreamH264";
    private static final boolean VERBOSE = true;           // lots of logging

    // where to put the output file (note: /sdcard requires WRITE_EXTERNAL_STORAGE permission)
    private static final …
Run Code Online (Sandbox Code Playgroud)

android ffmpeg mediacodec

4
推荐指数
1
解决办法
5137
查看次数

标签 统计

android ×1

ffmpeg ×1

mediacodec ×1