HLS是苹果推出的一项技术,主要是能够利用http服务器,以http的方式传输音视频文件,由于音视频文件都分割的足够小,所以下载也足够快的情况下,可以认为就相当于实时直播,相对于RTSP/RTMP这种实时的音视频传输来讲,TA不是最实时的。
直播的整个流程大概是这样:
采集视频源和音频源
对视频源H264编码,对音频源AAC编码
分割为TS文件
组装M3U8文件
Http传输以及部署到CDN
M3U8其实是一个索引文件,就像一个TXT一样,后缀名叫M3U,只不过是以UTF-8来编码的,所以命名为M3U8。
TA当中每一段描述了一段TS,TS是分割的十分小的已经编码好的音视频文件,可以直接播放,M3U8就描述了,比如一共10个TS文件,每段多长时间,地址是什么类似的信息。
TS文件可以无缝衔接,而MP4之类的文件很可能产生衔接过程闪动、黑屏等等原因。
HLS方式的主要优点就是利用了标准的Http技术,复用了当前标准的代理服务器和CDN这些成熟的技术,使得直播部署就像简单的下载服务器的部署一样
第一:Free Schema意味着重复Schema。在MongoDB数据存储的时候,不但要存储数据本身,Schema(字段key)本身也要重复的存储(例如:{“name”:”zhuanzhuan”, “infoid”:1,“infocontent”:”这个是转转商品”}),必然会造成存储空间的增大。
第二:Free Schema意味着All Schema,任何一个需要调用MongoDB数据存储的地方都需要记录数据存储的Schema,这样才能较好的解析和处理,必然会造成业务应用方的复杂度。
业务热点数据和索引的总量要能全部放入内存中,即:Memory > Index + Hot Data
所有业务都做到“无状态”和“异步化”
iOS 10 增加了新的安全设定。 如果要访问相机 相册 麦克风需要在 info.plist 内增加条目
根据控制台的提示,我们需要在plist文件添加相应的字段
相机权限
添加key字段NSCameraUsageDescription,string类型,value字段是给用户的提示文字,例如“我们需要使用您的相机“
通信录
NSContactsUsageDescription
麦克风
NSMicrophoneUsageDescription
相册
NSPhotoLibraryUsageDescription