- 我们中的有些人,注定要在日常生活的点滴中去寻找生命的意义。---- 《生活大爆炸》|
直播的整个流程
- 直播技术点
- 1.采集视频、音频
- 1.摄像头/麦克风
- 摄像头: CCD CMOS
- 麦克风:拾音器
- 2.iOS采集音视频数据
- 1.导入AVFoundation.Framework框架
- 2.从captureSessions会话的回调中获取音频,视频数据
- 2.视频处理
- 3.视频、音频编码压缩
- 硬编码
- 视频:VideoToolbox框架
- 音频:AudioToolbox框架
- 软编码
- 视频压缩
- 视频编码:MPEG,H.264
- X264把视频元数据YUV/RGB编码H.264
- 音频压缩
- 音频编码:mp3,AAC
- fdk_aac把音频数据PCM转AAC
- 4.推流
- 什么是推流?将采集到的音频,视频数据通过流媒体协议发送到流媒体服务器
- muxing封装
- 音视频封包成FLV或者TS
- 推流技术
- 流媒体协议:RTMP、RTSP、HLS、FLV
- 视频封装格式:TS,FLV
- 音频封装格式:mp3、AAC
- librtmp把数据推送到流媒体服务器(基于RTMP协议)
- HLS:直接用HTTP协议上传
- 5.流媒体服务器处理数据
- 6.拉流
- 什么是拉流?从流媒体服务器获取音频,视频数据
- 流媒体协议:RTMP,RTSP,HLS,FLV
- 7.视频、音频解码
- demuxing解封装
- 把FLV,TS文件分离出音视频
- 视频解码
- 硬解码VideoToolbox
- 软解码x264
- 音频解码
- 硬解码AudioToolbox
- 软解码fdk_aac
- 8.播放
- 9.聊天互动
- IM及时通讯
- 聊天室功能
- 第三方及时通讯SDK:融云,腾讯云