如何在 iOS 本地播放 .ts(传输流)文件

Posted

技术标签:

【中文标题】如何在 iOS 本地播放 .ts(传输流)文件【英文标题】:How to play .ts (transport Stream) file locally in iOS 【发布时间】:2011-06-03 12:45:22 【问题描述】:

我想播放存储在本地磁盘中的 .ts 文件。我可以通过流式传输使用 .m3u8 播放 .ts 文件。

但我想直接播放这些存储的本地 ts 文件(使用我的 AVPlayer)而不进行流式传输。我的意思是我想在不使用 m3u8 的情况下玩。

ios 中可以吗?如果可能,请说明如何实现这一目标?

【问题讨论】:

如果您注册了一个帐户,您将能够编辑您的帖子并离开 cmets。 【参考方案1】:

如果 file:// URL 不起作用,我猜你可以在你的应用程序中运行一个最小的 HTTP 服务器并将文件提供给 AVPlayer。

【讨论】:

嗨 steven Kramer,我可以通过从服务器流式传输在我的 iOS 中播放 ts。但是我将 ts 文件存储在本地目录中,例如 mp4 或 mp3。是否可以通过提供文件路径直接播放 ts 作为 mp4 播放。我正在使用 iOS 模拟器进行测试。 我明白这一点。我建议你试着把这些文件放到你的资源中,然后用一个文件的 URL 来播放它们。尝试使用[[NSBundle mainBundle] URLForResource: @"playlist.m3u8" withExtension: nil] 之类的方法来获取 URL。将其传递给 AVPlayer。如果做不到这一点,我认为你必须在你的应用程序中嵌入一个小型 HTTP 服务器,它将数据提供给 AVPlayer,让你可以使用普通的 HTTP url。 嗨史蒂文克莱默,感谢您的回复,我按照您的上述步骤操作。 1. 我使用 [[NSBundle mainBundle] URLForResource: @"List.m3u8" withExtension: nil] 然后我将 fileURL 传递给 AVplayer,但它没有播放。 2. 我在我的应用程序中添加了 mini MongooseDaemon HTTP 服务器来将数据提供给 AVplayer。它启动我的应用程序并突然退出而没有错误或异常。那么你能解释一下如何追踪这个吗? @StevenKramer 最小的 HTTP 服务器嵌入,你有任何文件吗? 抱歉,帮不了你,我没有进一步调查。

以上是关于如何在 iOS 本地播放 .ts(传输流)文件的主要内容,如果未能解决你的问题,请参考以下文章

如何将TS源流重新封装并通过P2P协议传输在安卓终端和苹果终端播放

如何在 iOS 应用程序中将传输流转换(重新包装)为 MPEG-4 容器?

使用 .ts 流 url 在网络上实时流式传输

iPhone MPMoviePlayerController :在流式传输时下载文件并在本地播放它们

vlc 播放ts网络流和hls网络流 进度条时间不显示

用 ts 包装 h264 流(传输流)