如何在Android中使用Stagefright?

时间:2012-12-19 06:54:24

标签: android stagefright

我想在我的应用程序中播放.ts视频文件。我没有采取任何办法。 我怀疑它是否可以在Android中实现。

我听说过Stagefright框架。所以请告诉我如何在我的应用程序中使用Stagefright&是否可以播放.ts文件。

或者还有其他方法可以播放.ts文件吗?

由于

5 个答案:

答案 0 :(得分:1)

Android中有2个框架(Stagefright& Nu-Player)

  • 本地播放&渐进式下载(You-Tube) - Stagefright
  • 对于流媒体(rtsp / HLS) - Nu-Player

来到TS,如果它在服务器中托管,如果你尝试流(http:///1.ts),那么它就像你的Android手机一样被视为渐进式下载(PD)。

要播放本地/ PD内容,Stagefright会加载一个Parser组件(MPEG2TSExtractor.cpp)来解析TS内容。在旧版本中,上述解析器模块不支持Progressive Download。这就是播放不成功的原因。

在最近的版本中,添加了此支持。

如果您正在编写APP,那么您只能依赖现有的Stagefright。 MXPlayer拥有自己的多媒体框架来播放内容。

答案 1 :(得分:0)

我认为Android stagefright不支持播放.ts(传输流)或基本流。它仅支持MP4 / 3GP / MP3文件格式或HLS播放(m2u8) 您可以使用HLS(HTTP Live Streaming)播放文件,但必须传递此类型http://xxxxxxxxxx.com/playlist.m3u8的网址。
您必须将.ts文件存储在服务器中。有关详细信息,请参阅here

答案 2 :(得分:0)

Libstagefright支持mpeg2ts(请参阅Android JellyBean framewroks/av/media/libstagefright/mpeg2ts) 它得到了GingerBread的支持(我猜)。

答案 3 :(得分:0)

使用GStreamer。它支持Android,可以解码TS文件。

教程5需要在Android.mk(在jni目录中)稍作修改才能在GSTREAMER_PLUGINS中包含TS插件:

mpeg2dec mpegdemux2 mpegtsdemux mpegtsmux

然后你很高兴。这是针对TS内的mpeg2。请记住TS是一个容器,因此您可能需要特定于TS内的流编码的编解码器。

答案 4 :(得分:0)

StageFright支持TS文件,即使它非常有限,也不支持初学者搜索。

此外,它取决于TS文件中使用的视频编解码器,StageFright实现支持的很少(我认为只有H264但不确定)。除了这个StageFright实现的TS文件也受到谷歌的TS解析器实现的限制,这也是非常基本的。它播放“可能”TS文件的一小部分。我说“可能”,因为TS标准(ISO / IEC 13818-1)为编码器的解释和可能性留下了很大的空间。