今天给各位分享最新iOS系统功能解析与技巧分享的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
~公司要求使用HLS协议,可以播放m3u8格式。我一听,心里一头雾水。我勒个去?
~查询过程中参考了很多同事的博客。很多知识点比较分散,而且还有很多Demo、第三方SDK、无法使用的下载等等,我在这里总结一下,供大家参考。
知识点:
以下知识点还包括您在查询文档的过程中可能经常遇到的术语。
M3U8:可以适应多种比特率。客户端会根据网络带宽选择适合自身码率的文件进行播放,保证视频流的流畅。
1.传输协议:
HLS:HTTP Live Streaming是Apple提出的基于HTTP的流媒体网络传输协议。服务器要求低,因为涉及到切片,延迟会比较大,需要了解TS流。
RTSP:摄像头特点
RTMP:看一下与流媒体服务器交互的过程。 RTMP协议默认端口为1935,使用TCP协议。并且你需要了解FLV的打包格式
RTP、RTCP等
2、视频推送和视频拉取的工作流程分析
视频流端:将采集到的音视频数据通过流媒体协议发送至流媒体服务器。
2.1 采集音视频数据
在iOS平台采集音视频数据,需要使用AVFoundation.Framework框架从captureSession会话的回调中获取音视频数据。
2.2 音视频数据硬编码、软编码
软编码利用CPU资源来压缩音频和视频数据,而硬编码则相反。
对于软编码,FFmpeg库现在广泛与编码库结合使用。采用FFmpeg+X624对视频数据YUV/RGB进行编码,输出H264数据。
FFmpeg+fdk_aac对音频数据PCM进行编码,输出AAC数据。
2.3 根据选择的流媒体协议对音视频数据进行打包,将音视频打包成数据包
2.4 与服务器交互发送包数据
根据选择的流媒体协议,发送相应指令连接服务器。成功连接到服务器后,就可以发送数据包了。
3、拉动流量
拉流是从流媒体服务器获取音视频数据
3.1 解析协议
播放器端根据URL解析所使用的流媒体协议(RTMP、HLS)
3.2 解封装
解封装是demux的过程,将音视频数据从容器格式(FLV、TS)中分离出来
3.3 解码
解码就是将获取的数据解压缩,恢复成原始数据。解码就是将H264转换成YUV,AAC转换成PCM。
解码可以采用软解码或硬解码。
软解码使用CPU资源来解压缩数据,使用FFmpeg解码。
硬解码,对于iOS平台,可以使用VideoToolbox.Framework(该框架只能在iOS 8.0及以上系统上使用)
硬解码视频数据
3.4 渲染数据
OpenGL用于渲染YUV数据并呈现视频图像。将PCM 发送到设备的硬件资源以播放和生成声音。
iOS播放流式音频使用Audio Queue方法,即使用AudioToolbox.Framework框架
以上是一些简单的知识点,总结了一些,现在推荐一些DEMO和SDK供大家参考。
先说第三方SDK:
1. 融云,http://www.rongcloud.cn/live
下载使用方便,调用方便,集成速度快,但价格有点贵,需要付费。界面与市面上大多数直播应用类似,有竖屏、聊天室、送礼物等功能,但与公司不符。要求,通过
2.暴风云直播,http://www.baofengcloud.com/apisdk/sdk/live/iossdk.html
不太好用,你可以试试
3.网易云直播,http://dev.netease.im/docs?doc=devfunc_LiveStreaming
好像是要付费的。价格不便宜。大多数公司可能不会使用它。功能很强大,但不能满足需求。经过
4.腾讯直播,https://www.qcloud.com/solution/video.html
收取同样的费用。简单看了一下,功能很强大,但是还是不能满足需求。
SDK还剩下很多,吴依依介绍了一下。欲了解更多信息,请复制以下网址查看。有专家总结得很好。
http://www.ccidnet.com/2016/0606/10143020.shtml
演示:
虽然市面上有很多SDK,但都没有特别满足需求,所以我只能参考高手写的Demo。
下面是各个demo,已经测试过,可以使用。但请注意,这不是现场直播。您可以参考参考原则找到您需要的内容并替换网址进行测试。
1.http://code.cocoachina.com/view/129748
2.http://code.cocoachina.com/view/128253
两者都是基于AVplayer编写的
3.http://code.cocoachina.com/view/128343
基于MediaPlayer编写
还有很多,就不举例了。上面的三个demo都是非常轻量级的,在它们的基础上稍微修改一下就可以使用。
好坏我就不评论了,大家可以自己体会。
另外,如果要做功能非常复杂的直播,最好使用SDK
常用直播源:
凤凰中文,http://zv.3gv.ifeng.com/zhongwen800k.m3u8
香港卫视,http://live.hkstv.hk.lxdns.com/live/hks/playlist.m3u8
如果想要其他网站:直播源码目录
如果您想了解更多关于m3u8 :的信息
http://blog.csdn.net/langeldep/article/details/8603045
iOS直播App开发流程分解:
http://blog.sina.com.cn/s/blog_aa7beba30102w8ws.html
【最新iOS系统功能解析与技巧分享】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
一直都是苹果机用的流畅!
有12位网友表示赞同!
想买新手机,iOS系统还是挺吸引人的。
有10位网友表示赞同!
最近IOS更新了好多新功能,试用了感觉不错哦!
有8位网友表示赞同!
苹果手机拍照真的厉害,就是价格有点贵哈~
有9位网友表示赞同!
朋友用的安卓玩游戏卡着,我用iPhone流畅得多。
有9位网友表示赞同!
喜欢苹果的简洁风格和系统稳定性。
有9位网友表示赞同!
iOS操作简单易上手,适合不太懂技术的老人使用。
有18位网友表示赞同!
想体验一下传说中流畅的操作系统的感受。
有6位网友表示赞同!
一直用安卓,感觉想要尝试一下 iOS 系统了 。
有6位网友表示赞同!
有没有推荐一些好用 iOS 应用程序?
有15位网友表示赞同!
苹果手机的生态系统真是强大!
有16位网友表示赞同!
IOS 的APP图标看起来真的很有设计感。
有18位网友表示赞同!
iOS和安卓都有各自的优点吧,不过我还是喜欢苹果的产品更方便。
有8位网友表示赞同!
ios怎么下载?
有9位网友表示赞同!
学习 iOS 开发吗?感觉应该很有挑战性!
有5位网友表示赞同!
听说苹果新手机要发布了,期待着新的系统体验。
有10位网友表示赞同!
IOS的App Store资源很丰富,总能找到自己想要的应用。
有9位网友表示赞同!
用iOS手机可以更好地使用Apple Watch吗?
有14位网友表示赞同!
最近有很多朋友都在说iOS很好用,是不是真的如此呢?
有18位网友表示赞同!