ToB企服应用市场:ToB评测及商务社交产业平台

标题: 2024年安卓最新视频直播技术大全、直播架构、技术原理和实现思路方案整理, [打印本页]

作者: 来自云龙湖轮廓分明的月亮    时间: 2024-6-10 02:02
标题: 2024年安卓最新视频直播技术大全、直播架构、技术原理和实现思路方案整理,
如何做好口试突击,规划学习方向?

口试题集可以资助你查漏补缺,有方向有针对性的学习,为之后进大厂做准备。但是如果你仅仅是看一遍,而不去学习和深究。那么这份口试题对你的资助会很有限。终极照旧要靠资深技术程度语言。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,碰到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提拔。发起先订定学习筹划,根据学习筹划把知识点关联起来,形成一个体系化的知识体系。
学习方向很容易规划,但是如果只通过碎片化的学习,对自己的提拔是很慢的。
同时我还搜集整理2020年字节跳动,以及腾讯,阿里,华为,小米等公司的口试题,把口试的要求和技术点梳理成一份大而全的“ Android架构师”口试 Xmind(实际上比预期多花了不少精力),包罗知识脉络 + 分支细节

在搭建这些技术框架的时间,还整理了体系的高级进阶教程,会比自己碎片化学习结果强太多。

网上学习 Android的资料一大堆,但如果学到的知识不成体系,碰到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提拔。盼望这份体系化的技术体系对大家有一个方向参考。
网上学习资料一大堆,但如果学到的知识不成体系,碰到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提拔。
需要这份体系化学习资料的朋友,可以戳这里获取
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感爱好的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、口试辅导),让我们一起学习成长!


直播App 架构 和 技术点
============================================================================================================================================================================================

直播APP的业务逻辑不复杂,使用基本的MVC框架即可。


一个完备直播APP功能
=========================================================================================================================================================================================
一个完备直播app实现流程
===========================================================================================================================================================================================
1.采集、2.滤镜处置惩罚、3.编码、4.推流、5.CDN分发、6.拉流、7.解码、8.播放、9.聊天互动

了解流媒体(直播需要用到流媒体)
==============================================================================================================================================================================================
☞ 直播的数据,其实是一组图片,包括I帧、P帧、B帧,当用户第一次观看的时间,会寻找I帧,而播放器会到服务器寻找到近来的I帧反馈给用户。因此,GOP Cache增加了端到端耽误,因为它必须要拿到近来的I帧
☞ GOP Cache的长度越长,画面质量越好
☞ 由于人类眼睛的特别生理结构,如果所看画面之帧率高于16的时间,就会认为是连贯的,此现象称之为视觉暂留。并且当帧速到达肯定命值后,再增长的话,人眼也不容易察觉到有明显的流畅度提拔了。
☞ 主要用处,根据文件格式,体系会自动判断用什么软件打开,
注意: 随意修改文件格式,对文件的自己不会造成太大的影响,比如把avi改成mp4,文件照旧avi.
☞ 主要作用:一个视频文件往往会包罗图像和音频,尚有一些设置信息(如图像和音频的关联,如何解码它们等):这些内容需要按照肯定的规则构造、封装起来.
☞ 注意:会发现封装格式跟文件格式一样,因为一样寻常视频文件格式的后缀名即采用相应的视频封装格式的名称,以是视频文件格式就是视频封装格式。
直播底子知识介绍
======================================================================================================================================================================================
采集视频、音频

采集视频、音频编码框架:AVFoundation:AVFoundation是用来播放和创建实时的视听媒体数据的框架,同时提供Objective-C接口来操作这些视听数据,比如编辑,旋转,重编码
视频、音频硬件设备

视频处置惩罚(美颜,水印)


视频处置惩罚框架

视频编码解码框架


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

视频编码技术


☞ 主要作用:是将视频像素数据压缩成为视频码流,从而低落视频的数据量。如果视频不颠末压缩编码的话,体积通常是非常大的,一部影戏可能就要上百G的空间。
☞ 注意:最影响视频质量的是其视频编码数据和音频编码数据,跟封装格式没有多大关系

☞ 注意1:如果是从单个画面清晰度比较,MPEG4有优势;从动作连贯性上的清晰度,H.264有优势
☞ 注意2:由于264的算法更加复杂,程序实现烦琐,运行它需要更多的处置惩罚器和内存资源。因此,运行264对体系要求是比较高的。
☞ 注意3:由于264的实现更加机动,它把一些实现留给了厂商自己去实现,虽然这样给实现带来了很多好处,但是差别产品之间互通成了很大的问题,造成了通过A公司的编码器编出的数据,必须通过A公司的解码器去解这样尴尬的事情

☞ H.265 是一种更为高效的编码标准,能够在同等画质结果下将内容的体积压缩得更小,传输时更快更省带宽
☞ I帧关键帧)保存一副完备的画面,解码时只需要本帧数据就可以完成(因为包罗完备画面)

音频编码技术

AAC,mp3:这些属于音频编码技术,压缩音频用
码率控制


☞ 比方:经常瞥见视频播放软件中的1024,720,高清,标清,流畅等,指的就是各种码率。
视频封装格式


☞ 为什么要用TS:这是因为两个TS片段可以无缝拼接,播放器能连续播放

推流

数据传输框架

流媒体数据传输协议

☞ RTMP协议用于对象、视频、音频的传输。
☞ 这个协议创建在TCP协议或者轮询HTTP协议之上。
☞ RTMP协议就像一个用来装数据包的容器,这些数据可以是FLV中的视音频数据。一个单一的连接可以通过差别的通道传输多路网络流,这些通道中的包都是按照固定大小的包传输的
☞ chunk:消息包
流媒体服务器

常用服务器

数据分发

☞ CDN:代理服务器,相当于一个中介。
☞ CDN工作原理:比如哀求流媒体数据
☞☞ 1.上传流媒体数据到服务器(源站)
☞☞ 2.源站存储流媒体数据
☞☞ 3.客户端播放流媒体,向CDN哀求编码后的流媒体数据
☞☞ 4.CDN的服务器相应哀求,若节点上没有该流媒体数据存在,则向源站继续哀求流媒体数据;若节点上已经缓存了该视频文件,则跳到第6步。
☞☞ 5.源站相应CDN的哀求,将流媒体分发到相应的CDN节点上
☞☞ 6.CDN将流媒体数据发送到客户端

☞ 比如64位、800MHz的前端总线,它的数据传输率就等于64bit×800MHz÷8(Byte)=6.4GB/s

☞ 通过某种负载分担技术,将外部发送来的哀求匀称分配到对称结构中的某一台服务器上,而接收到哀求的服务器独立地回应客户的哀求。
☞ 均衡负载能够平均分配客户哀求到服务器列阵,籍此提供快速获取紧张数据,办理大量并发访问服务问题。
☞ 这种聚集技术可以用最少的投资得到靠近于大型主机的性能。

拉流


☞ 即时性要求较高或有互动需求的可以采用RTMP,RTSP
☞ 对于有回放或跨平台需求的,推荐使用HLS


☞ HLS是以点播的技术方式来实现直播
☞ HLS是自适应码率流播,客户端会根据网络状况自动选择差别码率的视频流,条件答应的情况下使用高码率,网络繁忙的时间使用低码率,并且自动在二者间随意切换。这对移动设备网络状况不稳固的情况下保障流畅播放非常有资助。
☞ 实现方法是服务器端提供多码率视频流,并且在列表文件中注明,播放器根据播放进度和下载速率自动调整。

☞ HLS协议的小切片方式会生成大量的文件,存储或处置惩罚这些文件会造成大量资源浪费
☞ 相比使用RTSP协议的好处在于,一旦切分完成,之后的分发过程完全不需要额外使用任何专门软件,平凡的网络服务器即可,大大低落了CDN边沿服务器的设置要求,可以使用任何现成的CDN,而一样寻常服务器很少支持RTSP。
总结

我近来从朋友那里网络到了2020-2021BAT 口试真题解析,内容很多也很体系,包罗了很多内容:Android 底子、Java 底子、Android 源码相干分析、常见的一些原理性问题等等,可以很好地资助大家深刻理解Android相干知识点的原理以及口试相干知识
这份资料把大厂口试中常被问到的技术点整理成了PDF,包知识脉络 + 诸多细节;尚有 高级架构技术进阶脑图 资助大家学习提拔进阶,也节省大家在网上搜刮资料的时间来学习,也可以分享给身边好友一起学习。
这里也分享给广大口试同胞们,盼望每位程序猿们都能口试成功~
Android 底子知识点

Java 底子知识点

Android 源码相干分析

常见的一些原理性问题

腾讯、字节跳动、阿里、百度等BAT大厂 2019-2020口试真题解析

网上学习资料一大堆,但如果学到的知识不成体系,碰到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提拔。
需要这份体系化学习资料的朋友,可以戳这里获取
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感爱好的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、口试辅导),让我们一起学习成长!
dRMMge-1715109107234)]
Android 源码相干分析
[外链图片转存中…(img-T2wXk8Xs-1715109107235)]
常见的一些原理性问题
[外链图片转存中…(img-Ptpjpi1G-1715109107235)]
腾讯、字节跳动、阿里、百度等BAT大厂 2019-2020口试真题解析
[外链图片转存中…(img-kB3Hhs2p-1715109107235)]
网上学习资料一大堆,但如果学到的知识不成体系,碰到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提拔。
需要这份体系化学习资料的朋友,可以戳这里获取
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感爱好的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、口试辅导),让我们一起学习成长!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4