视频通话流程详解

1、视频通话全程图

ios音频编码 苹果的音频编码_ios音频编码


词语解释

(1)H.264又称为MPEG-4第10部分,高级视频编码,是一种面向块的基于运动补偿的视频编码标准,到2014年,它已经成为高精度视频录制、压缩和发布的最常用格式之一。

(2)AAC ,Advanced audio coding,叫高级音频编码,出现于1997年,基于MPEG-2的音频编码技术。2000年,MPEG-4标准出现后,AAC重新集成了其特性,加入了SBR技术和PS技术,为了区别于传统的MPEG-2,AAC又称为MPEG-4 AAC

(AAC与MP3规格对比)

比特率: AAC —最高512/MP3-32~320kbps

采用率:AAC — 最高96kHZ / MP3 - 最高48kHZ

声道数:AAC — (5.1) 六声道 /MP3 -两声道

采样精度:AAC —最高32bit / MP3 -最高16bit

(3)M3U8:是Unicode 版本的M3U,用于UTF-8编码,所以叫做M3u8。“M3u”和“M3U8”文件都是苹果公司使用HTS格式的基础,这种格式可以在IPhone和Macbook等设备播放。

(4)RTSP

RTSP协议,Real time Streaming Protocol (即时流协议)

用来控制声音或视频的多媒体流协议,并允许同时多个流需求控制,传输时所用的网络通信协议并不在其定义的范围内,服务器端可以自行选择使用tcp或upd来发送流内容,所以比较能容忍网络延迟。

RTSP协议是主要负责服务器和客户端之间建立连接,并响应用户的操作请求,如暂停、快进、快退、音量加减等。

(5)播放器端解码

FFmpeg 是一个跨平台的开源视频框架,能实现如视频编码、解码、转码、串流、滤镜、播放等丰富的功能。其支持的视频格式以及播放协议非常丰富,几乎包含了所有音视频编解码、封装格式以及播放协议。而实时视频一般使用的协议,如RSTP,在FFmpeg中得到了很好支持。

(6)flv (flash video)

是一种网络视频格式,用作流媒体格式,它的出现有效地解决了视频文件导入flash 文件后,使导出的SWF文件体积庞大,不能在网络上有效使用等缺点。

(7)RTMP

real time message protocol (实时消息传输协议)

该协议基于tcp,是一种用来设计进行实时数据通信的网络协议。

2、录入源流程

3、RTMP的协议的视频播放。

IJKPlayer是对开源框架Ffmpeg的封装。

或者 PLPlayerKit




文章参考部分文章