【问题标题】:android live streaming - h264 decodingandroid直播-h264解码
【发布时间】:2013-06-24 12:30:48
【问题描述】:

由于我对 Android 和视频流有点熟悉,我知道处理从设备到设备的实时视频流很复杂。

要求:播放传入的原始 h264 流

除了提供 rtp/rtsp 来播放流之外,还有其他方法吗? VideoView 需要本地 rtsp 或 http 服务器来处理流,我不敢相信,没有其他方法可以简单地播放它。

GStreamer / FFMpeg 可能是解码流的好解决方案吗?

【问题讨论】:

  • 你看过MediaCodec吗?我认为它只在 JellyBean 上可用。
  • 是的,但是 MediaCodec API 的文档很糟糕,只有几个例子......是否可以解码原始 h264 流并通过 videoview 直接播放?
  • 看起来 VideoView api 并没有提供这样做的方法 - 你可能不得不这样做。
  • 或者看看MediaPlayer,或者如果你需要做的非常低级,也许可以用这个来获得灵感:dranger.com/ffmpeg
  • videoview 实现了媒体播放器,因此我认为这行不通。谢谢你的启发,我去看看!

标签: android ffmpeg gstreamer rtsp live-streaming


【解决方案1】:

为此,您可以使用 Jelly Bean 中引入的新 MediaCodec API。

您所要做的就是在配置时设置一个表面,例如

mDecoder.configure(mFormat, surfaceHolder.getSurface(), null, 0);

然后,当您释放输出缓冲区时,只需告诉解码器在表面上显示帧,例如

mDecoder.releaseOutputBuffer(decoderIndex, true);

如果您需要熟悉 MediaCodec API,本教程对我来说是一个好的开始:http://dpsm.wordpress.com/2012/07/28/android-mediacodec-decoded/

【讨论】:

    猜你喜欢
    • 2015-03-26
    • 2014-04-15
    • 2014-02-06
    • 2013-04-25
    • 2015-03-25
    • 2012-10-29
    • 2012-02-24
    • 2021-08-30
    • 2011-11-24
    相关资源
    最近更新 更多