Android视频播放/直播学习笔记

MediaCodec.configure(MediaFormat format,Surface surface, MediaCrypto, crypto, int flags)
方法需要传一个surface参数。

  • 如果不是输出视频流,或者将输出是ByteBuffer,就传null
  • 如果你不对视频帧任何编辑,可以直接传
    SurfaceView.getHolder().getSurface()获得的surface。这时候用SurfaceView即可,不需要用GLSurfaceView
  • 如果你想要编辑视频帧,就需要获取和编辑纹理SurfaceTexture。这时候传入的surface就是通过Surface(SurfaceTexture surfaceTexture)函数构造的。获取SurfaceTexture的方法如下:

(1)在使用TextureView的情况下,可以通过TextureView.getSurfaceTexture() 方法获得SurfaceTexture 代码示例

(2)在使用GLSurfaceView的情况下,可以通过GLES20.glGenTextures()获得texture,然后构造一个SurfaceTexture(传入 int texId) 代码示例

直播知识点思维导图

Android视频播放/直播学习笔记_第1张图片
mmexport1506269197237.jpg

直播协议的选择
rtmp 协议分析及交互过程

你可能感兴趣的:(Android视频播放/直播学习笔记)