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

时间:2010-02-07 15:15:30

标签: iphone video sdk stream

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

2 个答案:

答案 0 :(得分:3)

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

您应该首先阅读HTTP Live Streaming Overview

答案 1 :(得分:2)

iOS原生视频播放器(AVPlayer,MPMoviePlayerViewController ...)可以从m3u8格式的http服务器流式传输。

我查看了你提到的链接(GemTVLink),它是一个mms流,iOS无法从微软流媒体服务器(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