从服务器流式传输视频。 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的主要内容,如果未能解决你的问题,请参考以下文章
如何从 iOS 设备(而不是自己的相机)流式传输 (RTMP) 视频
如何将 4K HDR 视频流式传输到 Apple TV 4K?
尝试流式传输到自定义 RTMP 时,DJI Mobile SDK 中出现 LiveStreamManager 错误 -3?