ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:24.36KB ,
资源ID:13993370      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13993370.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(直播类APP功能及技术难点Word格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

直播类APP功能及技术难点Word格式.docx

1、禁播、隐藏、审核等;一个完整直播 app 原理直播原理:把主播录制的视频,推送到服务器,在由服务器 分发给观众观看直播环节:推流端(采集、美颜处理、编码、推流)、服务 端处理(转码、 录制、截图、鉴黄) 、播放器(拉流、解码、 渲染)、互动系统(聊天室、礼物系统、赞) 一个完整直播 app 实现流程1.采集、2.滤镜处理、3.编码、4.推流、5.CDN分发、6.拉流、7.解码、 8.播放、 9.聊天互动 一个完整直播 app 架构 一个完整直播 app 技术点 一、流媒体(直播需要用到流媒体)?流媒体开发:网络层(socket或st)负责传输,协议层(rtmp或his) 负责网络打包,封装层(

2、flv、ts)负责编解码数据的封装, 编码层(h.264和aac)负责图像,音频压缩。 帧 : 每帧代表一幅静止的图像GOP: ( Group of Pictures )画面组,一个 GOP就是一组连续的画面,每个画面都是一帧,一个GOP就是很多帧的集 合 直播的数据,其实是一组图片,包括I帧、P帧、B帧, 当用户第一次观看的时候,会寻找 I帧,而播放器会到服务器寻找到最近的I帧反馈给用户。因此, GOP Cache增加了端到端延迟,因为它必须要拿到 最近的 I 帧GOP Cache的长度越长,画面质量越好码率:图片进行压缩后每秒显示的数据量。帧率:每秒显示的图片数。影响画面流畅度,与画面流畅

3、 度成正比:帧率越大,画面越流畅;帧率越小,画面越 有跳动感。由于人类眼睛的特殊生理结构,如果所看画面之帧率 高于16的时候,就会认为是连贯的,此现象称之 为视觉暂留。并且当帧速达到一定数值后,再增 长的话,人眼也不容易察觉到有明显的流畅度提 升了。分辨率: (矩形 )图片的长度和宽度,即图片的尺寸压缩前的每秒数据量:帧率X分辨率(单位应该是若干个字 节)压缩比 :压缩前的每秒数据量 /码率 (对于同一个视频源并采用同一种视频编码算法,则:压缩比越高,画面质量 越差。) 视频文件格式: 文件的后缀, 比如 .wmv,.mov,.mp4,.mp3,.avi, ? 主要用处,根据文件格式,系统会自

4、动判断用什么软件打开, 注意 : 随意修改文件格式,对文件的本身不会造成太大的影响,比如把avi改成mp4,文件还是avi. 视频封装格式:一种储存视频信息的容器,流式封装可以有TS、FLV等,索引式的封装有 MP4,M0V,AVI等, 主要作用:一个视频文件往往会包含图像和音频,还 有一些配置信息 (如图像和音频的关联,如何解码 它们等 ):这些内容需要按照一定的规则组织、封 装起来 . 注意:会发现封装格式跟文件格式一样,因为一般视 频文件格式的后缀名即采用相应的视频封装格式 的名称 ,所以视频文件格式就是视频封装格式。视频封装格式和视频压缩编码标准:就好像项目工程和编 程语言, 封装格式

5、就是一个项目的工程, 视频编码方式 就是编程语言,一个项目工程可以用不同语言开发。 二、直播所用到的基础知识:1.采集视频、音频1.1采集视频、音频编码框架AVFoundation:AVFoundation 是用来播放和创建实时的视听 媒体数据的框架,同时提供 Objective-C 接口来操作这些视听 数据,比如编辑,旋转,重编码1.2视频、音频硬件设备CCD: 图像传感器: 用于图像采集和处理的过程,把图像 转换成电信号。 拾音器 : 声音传感器: 用于声音采集和处理的过程,把声 音转换成电信号。音频采样数据:一般都是PCM格式视频采样数据:一般都是YUV,或RGB格式,采集到的原始音视频

6、的体积是非常大的, 需要经过压缩技术处理来提 高传输效率2.视频处理(美颜,水印)视频处理原理:因为视频最终也是通过 GPU, 帧一帧渲染 到屏幕上的,所以我们可以利用 OpenGL ES,对视频帧进行 各种加工,从而视频各种不同的效果,就好像一个水龙头流 出的水,经过若干节管道,然后流向不同的目标现在的各种美颜和视频添加特效的 app都是利用GPUImage这个框架实现的。视频处理框架 GPUImage : GPUImage 是一个基于 OpenGL ES 的一个强大 的图像 /视频处理框架 ,封装好了各种滤镜同时也可以编 写自定义的滤镜 ,其本身内置了多达 120多种常见的滤 镜效果。 ?

7、OpenGL:OpenGL (全写 Open Graphics Library)是个定义了 一个跨编程语言、 跨平台的编程接口的规格, 它用于三 维图象(二维的亦可)。OpenGL是个专业的图形程序 接口,是一个功能强大,调用方便的底层图形库。OpenGL ES:OpenGL ES (OpenGL for Embedded Systems)是OpenGL三维图形 API的子集,针对手机、 PDA和游戏主机等嵌入式设备而设计。3.视频编码解码3.1视频编码框架 FFmpeg:是一个跨平台的开源视频框架 ,能实现如视频编码解码,转码 ,串流 ,播放等丰富的功能。其支持的视频格式 以及播放协议非常丰

8、富 ,几乎包含了所有音视频编解码、 封装格式以及播放协议。 -Libswresample: 可以对音频进行重采样 ,rematrixing 以及转换采样格式等操 作。 -Libavcodec: 提供了一个通用的编解码框架 ,包含了许多视频,音频,字幕流 等编码/解码器。 -Libavformat: 用于对视频进行封装 /解封装。 -Libavutil: 包含一些共用的函数 ,如随机数生成 ,数据结构,数学运算等。 -Libpostproc: 用于进行视频的一些后期处理。 -Libswscale: 用于视频图像缩放 ,颜色空间转换等。 -Libavfilter: 提供滤镜功能。 X264: 把视

9、频原数据 YUV 编码压缩成 H.264 格式 VideoToolbox:苹果自带的视频硬解码和硬编码 API,但是在iOS8之后才开放。AudioToolbox: 苹果自带的音频硬解码和硬编码 API3.2视频编码技术 视频压缩编码标准: 对视频进行压缩 (视频编码 )或者解压缩(视频解码)的编码技术,比如MPEG, H.264,这些视频编码技术是压缩编码视频的 ? 主要作用 :是将视频像素数据压缩成为视频码流, 从而 降低视频的数据量。如果视频不经过压缩编码的 话,体积通常是非常大的,一部电影可能就要上 百G的空间。 注意 :最影响视频质量的是其视频编码数据和音频编码数据,跟封装格式没有多

10、大关系 ?MPEG: 一种视频压缩方式,它采用了帧间压缩,仅存储连 续帧之间有差别的地方 ,从而达到较大的压缩比 ?H.264/AVC: 种视频压缩方式,采用事先预测和与 MPEG中 的P-B帧一样的帧预测方法压缩,它可以根据需要产生 适合网络情况传输的视频流 ,还有更高的压缩比,有更 好的图象质量 ? 注意1:如果是从单个画面清晰度比较, MPEG4有优势;从动作连贯性上的清晰度, H.264有优势 注意 2:由于 264的算法更加复杂, 程序实现烦琐, 运行它需要更多的处理器和内存资源。因此,运行 264 对系统要求是比较高的。 注意 3:由于 264的实现更加灵活, 它把一些实现留给了厂

11、商自己去实现,虽然这样给实现带来了很多好 处,但是不同产品之间互通成了很大的问题,造 成了通过 A 公司的编码器编出的数据,必须通过 A 公司的解码器去解这样尴尬的事情 ? H.265/HEVC: 一种视频压缩方式 ,基于 H.264 ,保留原来的某 些技术,同时对一些相关的技术加以改进, 以改善码流、 编码质量、 延时和算法复杂度之间的关系, 达到最优化 设置。 H.265 是一种更为高效的编码标准,能够在同等画质 效果下将内容的体积压缩得更小,传输时更快更 省带宽 I帧:(关键帧)保留一副完整的画面,解码时只需要本帧数据就可以完成(因为包含完整画面) ? P帧:(差别帧)保留这一帧跟之前帧

12、的差别, 解码时需要用之 前缓存的画面叠加上本帧定义的差别,生成最终画面。(P帧没有完整画面数据,只有与前一帧的画面差别的 数据) ?B帧:(双向差别帧)保留的是本帧与前后帧的差别,解码 B帆 不仅要取得之前的缓存画面, 还要解码之后的画面, 通 过前后画面的与本帧数据的叠加取得最终的画面 压缩率高,但是解码时 CPU会比较累? 帧内( Intraframe )压缩 : 当压缩一帧图像时,仅考虑本帧的 数据而不考虑相邻帧之间的冗余信息 ,帧内一般采用有 损压缩算法 ?帧间( Interframe )压缩:时间压缩( Temporal compression ), 它通过比较时间轴上不同帧之间的

13、数据进行压缩。 帧间 压缩一般是无损的 ? muxing (合成):将视频流、音频流甚至是字幕流封装到 一个文件中 (容器格式( FLV ,TS) ),作为一个信号进 行传输。3.3音频编码技术AAC , mp3 :这些属于音频编码技术,压缩音频用3.4码率控制多码率 :观众所处的网络情况是非常复杂的,有可能是 WiFi ,有可能4G、3G、甚至2G,那么怎么满足多方需求呢?多搞 几条线路,根据当前网络环境自定义码率。列如:常常看见 视频播放软件中的 1024, 720,高清,标清,流畅等,指的 就是各种码率。3.5 视频封装格式TS : 一种流媒体封装格式,流媒体封装有一个好处,就是 不需要

14、加载索引再播放,大大减少了首次载入的延迟, 如果片子比较长,mp4文件的索引相当大,影响用户体 验?FLV: 一种流媒体封装格式 ,由于它形成的文件极小、加载速度极快,使得网络观看视频文件成为可能 ,因此 FLV格式成为了当今主流视频格式4.推流4.1数据传输框架librtmp: 用来传输 RTMP 协议格式的数据4.2流媒体数据传输协议RTMP:实时消息传输协议,Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的开放协议,因为 是开放协议所以都可以使用了。chunk: 消息包 RTMP 协议用于对象、视频、音频的传输。 这个协议建立在TCP协议或者轮询HTTP协议之上。 RTMP 协议就像一个用来装数据包的容器,这些数据可以是 FLV 中的视音频数据。 一个单一的连接可以 通过不同的通道传输多路网络流,这些通道中的 包都是按照固定大小的包传输的5.流媒体服务器

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1