从服务器流式传输视频。 iPhone SDK

Posted

技术标签:

【中文标题】从服务器流式传输视频。 iPhone SDK【英文标题】:Stream video from the server . iPhone SDK从服务器流式传输视频。 iPhone SDK 【发布时间】:2011-01-14 02:28:02 【问题描述】:

我正在尝试使用静态 IP 流式传输视频:http://38.117.88.148/GemTVLink 通过 iPhone。你能告诉我一些关于如何实现它的信息吗?我看到一个苹果视频流应用程序,但它似乎只能显示.mp4 电影?我对吗? 我希望我的应用程序加载 HTTP 地址并播放电影,就是这样。 此链接适用于媒体播放器。

【问题讨论】:

【参考方案1】:

ios 原生视频播放器(AVPlayer、MPMoviePlayerViewController ...)可以从 http 服务器以 m3u8 格式进行流式传输。

我查看了你提到的链接(GemTVLink),它是一个 mms 流,iOS 无法从 Microsoft 流服务器(mms)流式传输,如果你想这样做,你应该使用 ffmpeg 库,因为这个库可以连接任何流媒体服务器(支持 rtsp、mms、tcp、udp、rtmp ...),然后将图片绘制到屏幕上..(用于绘图,您可以使用 opengles 或 uiimage 也可以)

首先,使用 avformat_open_input 连接到您的 IP 地址,然后使用 avcodec_find_decoder 和 avcodec_open2 查找编解码器并打开它们(您应该为音频和视频调用它们)

然后,在while循环中使用av_read_frame方法从服务器读取数据包当你获取帧时,如果是音频则将其发送到AudioUnit或AudioQueue,如果是视频,则使用sws_scale将其从yuv转换为rgb格式方法并将图片绘制到屏幕上。

就是这样。

看看这个包装器 (http://www.videostreamsdk.com),它是在 ffmpeg 库上编写的并且支持 iOS

【讨论】:

【参考方案2】:

iPhone 不支持所有流媒体视频格式。

你应该从阅读HTTP Live Streaming Overview开始

【讨论】:

以上是关于从服务器流式传输视频。 iPhone SDK的主要内容,如果未能解决你的问题,请参考以下文章

编写应用程序以将视频流式传输到iPhone

如何从 iOS 设备(而不是自己的相机)流式传输 (RTMP) 视频

从 ios 流式传输实时视频 [关闭]

如何将 4K HDR 视频流式传输到 Apple TV 4K?

尝试流式传输到自定义 RTMP 时,DJI Mobile SDK 中出现 LiveStreamManager 错误 -3?

如何将视频从浏览器提交/流式传输到服务器?