2010-02-07 139 views
1

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

回答

2

iOS原生视频播放器(AVPlayer,MPMoviePlayerViewController ...)开始可以从HTTP服务器M3U8格式流。

我看了一下你提到的链接(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,如果是视频,然后将其从YUV转换使用sws_scale方法RGB格式,并绘制图片到屏幕上。

就是这样。

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