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