这是我们公司的一个项目:直播软件,是给其他公司开发的,外包项目。现在公司不做了,就想着把这个项目源码分享给爱技术的人。
- 主播端: 把主播实时录制的视频,经过(采集、美颜处理、编码)推送到服务器
- 服务器: 处理(转码、录制、截图、鉴黄)后分发给用户播放端
- 播放器: 获取服务器地址, 进行拉流、解码、渲染
- 互动系统: 聊天室、礼物系统、赞
相关技术知识点概括
1.采集视频、音频
***** 1.1 采集视频、音频编码框架 *****
AVFoundation:AVFoundation是用来播放和创建实时的视听媒体数据的框架,同时提供Objective-C接口来操作这些视听数据,比如编辑,旋转,重编码
***** 1.2 视频、音频硬件设备 *****
CCD:图像传感器: 用于图像采集和处理的过程,把图像转换成电信号。
拾音器:声音传感器: 用于声音采集和处理的过程,把声音转换成电信号。
音频采样数据:一般都是PCM格式
视频采样数据: 一般都是YUV,或RGB格式,采集到的原始音视频的体积是非常大的,需要经过压缩技术处理来提高传输效率
2.视频处理(美颜,水印)
视频处理原理:因为视频最终也是通过GPU,一帧一帧渲染到屏幕上的,所以我们可以利用OpenGL ES,对视频帧进行各种加工,从而视频各种不同的效果,就好像一个水龙头流出的水,经过若干节管道,然后流向不同的目标
现在的各种美颜和视频添加特效的app都是利用GPUImage
这个框架实现的,.
***** 视频处理框架 *****
GPUImage: GPUImage是一个基于OpenGL ES的一个强大的图像/视频处理框架,封装好了各种滤镜同时也可以编写自定义的滤镜,其本身内置了多达120多种常见的滤镜效果。
OpenGL:OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。
OpenGL ES:OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。
3.视频编码解码
***** 3.1 视频编码框架 *****
FFmpeg :是一个跨平台的开源视频框架,能实现如视频编码,解码,转码,串流,播放等丰富的功能。其支持的视频格式以及播放协议非常丰富,几乎包含了所有音视频编解码、封装格式以及播放协议。-Libswresample:可以对音频进行重采样,rematrixing 以及转换采样格式等操 作。
-Li
今天的文章直播软件源代码_android服务端开发教程[通俗易懂]分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/75444.html