【问题标题】:how to access StageFright API's to decode h264 video and render from application layer on Android (Gb and ICS)如何访问 StageFright API 以解码 h264 视频并从 Android(Gb 和 ICS)上的应用程序层渲染
【发布时间】:2013-02-18 06:07:23
【问题描述】:

是否有任何示例代码让我了解如何访问 StageFright API 以解码 h264 视频以及使用来自 Android 应用层(GB、ICS)的 Surfaceflinger API 渲染解码数据(将在 YUV420 中) .

【问题讨论】:

  • 如果有人知道就分享吧..请帮帮我..!!!

标签: android stagefright surfaceflinger


【解决方案1】:

在标准的 android 发行版中,有一个命令行实用程序也称为stagefrightframeworks\base\cmds\stagefright (ICS),它将执行基于命令行的独立解码。

如果您希望在Surface 上解码和显示数据,那么您需要创建一个MediaPlayer,它是Stagefright 框架之上更高级别的抽象。可以通过MediaPlayer的SetVideoSurface方法设置具体的Surface。

【讨论】:

  • 感谢 Ganesh 的回复。实际上,我有自己的 rtsp 堆栈和捕获和记录视频数据的 java 应用程序。现在我的问题是我正在获取 h264 视频和 aac 音频数据,所以现在我想直接解码和显示来自我的 rtsp 堆栈的数据并渲染使用我的 Java 应用程序的表面。我的 rtsp 堆栈在我的应用程序的 jni 中。所以我想要访问解码器和渲染器。如果您知道任何解决方案,请告诉我.... !!!提前致谢
  • 如果您在Java 级别获得RTSP 数据,我觉得您可以将您的源转换为MediaSource 为MediaPlayer。我建议您参考NuPlayer 实现,它实际上实现了流播放器。
  • 嗨 Ganesh 您对此有什么想法吗?表示如何使用我的 jni 代码中的流媒体播放器。任何参考链接。提前致谢。实际上我想在 ICS android 中通过 rtsp 播放视频和音频。我想实施一些解决方法来播放 rtsp 流。
  • @Prashant .. 你可以参考这个问题stackoverflow.com/questions/15152172/… 这有一个例子可以为你提供一个现成的例子。您也可以参考developer.android.com/reference/android/media/MediaPlayer.html了解更多。
  • 感谢 Ganesh 的回复。实际上我想要一些 C 或 CPP 中的包装器或解决方法,它们将采用 url,在这个程序中我将使用一组 API 进行流。
猜你喜欢
  • 2011-07-19
  • 2011-10-10
  • 2012-02-24
  • 2016-01-19
  • 1970-01-01
  • 2014-03-21
  • 2012-11-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多