我想.ts
在我的应用程序中播放视频文件。我没有办法做到这一点。我怀疑在Android中是否可以做到这一点。
我听说过Stagefright
框架。所以请告诉我如何Stagefright
在我的应用程序中使用它以及它是否能够播放.ts
文件。
或者还有其他播放.ts
文件的方法吗?
谢谢
我想.ts
在我的应用程序中播放视频文件。我没有办法做到这一点。我怀疑在Android中是否可以做到这一点。
我听说过Stagefright
框架。所以请告诉我如何Stagefright
在我的应用程序中使用它以及它是否能够播放.ts
文件。
或者还有其他播放.ts
文件的方法吗?
谢谢
Android中有2个框架(Stagefright & Nu-Player)
来到 TS,如果它托管在服务器中并且如果您尝试流式传输(http:///1.ts),那么它会被视为渐进式下载(PD),就像您的 Android 手机的 You-Tube 一样。
为了播放本地/PD 内容,Stagefright 会加载 Parser 组件(MPEG2TSExtractor.cpp)来解析 TS 内容。在旧版本中,上述解析器模块不支持渐进式下载。这就是播放不成功的原因。
在最近的版本中,添加了这种支持。
如果你在写一个APP,那么你只能依赖现有的Stagefright。MXPlayer 有自己的多媒体框架来播放内容。
使用GStreamer。它支持Android,并且可以解码TS文件。
教程 5 需要在 Android.mk(在 jni 目录)中稍作修改,以在 GSTREAMER_PLUGINS 中包含 TS 插件:
mpeg2dec mpegdemux2 mpegtsdemux mpegtsmux
那你就可以走了。这适用于 TS 内的 mpeg2。请记住,TS 是一个容器,因此您可能需要具体说明 TS 内的流使用什么编解码器进行编码。
StageFright has support for TS files, even though it is very limited, for starters seek is not supported.
Also it depends what video codec is being used in the TS file, StageFright implementation supports very few (only H264 i think but not sure on this). Apart from this StageFright implementation for TS files is also limited by google's TS parser implementation which is very basic too. It plays a very small subset of "possible" TS files. I say "possible" because TS standard ( ISO/IEC 13818-1) leaves a lot of room for interpretation and possibilities for encoders.
Libstagefright 支持mpeg2ts
(请参阅 Android JellyBean framewroks/av/media/libstagefright/mpeg2ts
)它受 GingerBread 支持(我猜)。
我认为Android stagefright 不支持播放.ts(传输流)或基本流。它仅支持 MP4/3GP/MP3 文件格式或 HLS 播放(m2u8)。
您可以使用 HLS( HTTP Live Streaming
) 来播放您的文件,但您必须传递一个具有此类型http://xxxxxxxxxx.com/playlist.m3u8的 url 。
不过,您必须将 .ts 文件存储在服务器中。请参阅此处了解更多详情。