在 iPhone MPMoviePlayerController 上播放字节流

发布于 2024-10-11 00:47:19 字数 179 浏览 4 评论 0 原文

我有一个字节流,代表带有 H264 视频和 AAC 音频的电影。我使用 RTMP 库 (rtmp-dump) 获取它,数据通过网络传输到我的 iOS 模拟器。

但是我不知道如何向用户显示它。 MPMoviePlayerController 似乎只接受 URL。有没有办法通过提供类似 NSPipe 或类似播放器的东西来播放视频?

I have a stream of bytes that represent a movie with H264 video and AAC audio. I got it using an RTMP library (rtmp-dump) and the data is comming through the network to my iOS simulator.

However I have no idea how to show it to the user. The MPMoviePlayerController seems to accept only an URL. Is there a way to play videos by supplying something like a NSPipe or similar to the player?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

屋顶上的小猫咪 2024-10-18 00:47:19

您可以尝试实现自定义 URL 协议(请参阅 NSURLProtocol)。基本上,您创建协议并注册它,然后任何加载具有此协议的 url 的应用内请求都将被路由到您的协议实例。您可能必须模仿 HTTP 服务器为渐进式下载文件发送的响应。

如果 MPMoviePlayerController 使用较低级别的 CFNetwork 调用而不是 NSURLConnection 来发出请求,则这将不起作用。这个问题意味着 MPMoviePlayerController 确实使用了 NSURLConnectino: 如何使用自定义 NSURLProtocol 播放带有 URL 的电影?

另请阅读 URL 加载系统 文档。

You could try implementing a custom URL protocol (see NSURLProtocol). Basically you create the protocol and register it, then any in-app requests to load a url having this protocol will be routed to your protocol instance. You'd likely have to mimic the responses that a HTTP server would send for a progressive-download of the file.

This wont work if MPMoviePlayerController uses lower-level CFNetwork calls vs. NSURLConnection to make its requests. This question implies that MPMoviePlayerController DOES make use of NSURLConnectino: How to play movie with a URL using a custom NSURLProtocol?

Also read the URL Loading System docs.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文