# UnitedPlayer
**Repository Path**: jansonshen2016/UnitedPlayer
## Basic Information
- **Project Name**: UnitedPlayer
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-08-22
- **Last Updated**: 2024-08-22
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# UnitedPlayer
A video and audio player
**一个支持录制和播放音频视频的安卓短视频应用,录制的视频将在播放列表中显示,点击列表项即可播放,并可以选择多种仿抖音滤镜特效展示。**
**如果觉得不错,记得给颗小星星哦~**
## 博客链接:
[介绍一个自己刚出炉的音视频播放录制开源项目](https://blog.csdn.net/sinat_23092639/article/details/104142700)
## **相关博客系列目录:**
[音视频开发系统学习的浪漫马车之总目录](https://juejin.cn/post/7033711226827833351)
## 基本技术实现点:
使用Camera+OpenGL ES实时预览画面,使用OpenSl ES录制音频,通过MediaCodec分别对音视频进行编码,并通过MediaMuxer将音视频封装为MP4格式。
使用ffmpeg解复用、解码MP4文件,通过OpenGL ES渲染视频画面,OpenSl ES播放音频,并通过OpenGL片段着色器提供不同的视频仿抖音滤镜效果。
## 功能点:
### 视频音频播放,支持进度条控制和暂停。(已完成)
### 视频音频录制。(已完成)
### 音频视频同步。(已完成)
### 视频尺寸自适应。(已完成)
### 视频添加水印。(已经实现,待扩展)
### 视频添加仿抖音滤镜。(已经实现最基础的滤镜:反色、灰度图、闪白、缩放、灵魂出窍、抖动)
1. 反色:

2. 灰度图:

3. 闪白:

4. 缩放:

5. 灵魂出窍:

6. 颜色偏移抖动:

### 视频添加背景音乐。(待开发)
### 音频变调。(待开发)
### 视频断点续录。(待开发)
### 视频裁剪(待开发)
**当前项目只是实现了整体主要功能,用户交互方面还是比较粗糙,性能也没有专门进行优化过,以后应该还会不断优化和扩展功能~~**
# 详细博客系列目录:
**C内存与指针:**
[漫谈C语言内存管理](https://juejin.cn/post/7033711811006464030)
[漫谈C语言指针(一)](https://juejin.cn/post/7033711907660005413)
[漫谈C语言指针(二)](https://juejin.cn/post/7033713132178669582)
[漫谈C语言指针(三)](https://juejin.cn/post/7033713772011192333)
**C++语法重点难点:**
[初尝C++的世界](https://juejin.cn/post/7033714154880008222)
[进一步走进C++面向对象的世界](https://juejin.cn/post/7033715596348882974)
[感受C++一些令人眼前一亮的语法](https://juejin.cn/post/7035447100464693256)
**C/C++进阶:**
[C/C++编译流程](https://juejin.cn/post/7043778638802518052)
[一篇文章入门C/C++自动构建利器之Makefile](https://juejin.cn/post/7046401218331017224)
[升级构建工具,从Makefile到CMake](https://juejin.cn/post/7058217745321558024)
[初探ndk的世界(一)](https://juejin.cn/post/7061553507622453279)
[初探ndk的世界(二)](https://juejin.cn/user/2541726614684216)
**视频理论基础:**\
[视频基础知识扫盲]()\
[音视频开发基础知识之YUV颜色编码]()\
[解析视频编码原理——从孙艺珍的电影说起(一)]()\
[解析视频编码原理——从孙艺珍的电影说起(二)]()
[H264码流结构一探究竟](https://juejin.cn/post/7092773284000989191/ "https://juejin.cn/post/7092773284000989191/")
**Android平台MediaCodec系列:**\
[Android硬编解码利器MediaCodec解析——从猪肉餐馆的故事讲起(一)](https://juejin.cn/post/7110805190512967717/ "https://juejin.cn/post/7110805190512967717/")\
[Android硬编解码工具MediaCodec解析——从猪肉餐馆的故事讲起(二)](https://juejin.cn/post/7111340889691127815/ "https://juejin.cn/post/7111340889691127815/")\
[Android硬编解码工具MediaCodec解析——从猪肉餐馆的故事讲起(三)](https://juejin.cn/post/7113767096512675870 "https://juejin.cn/post/7113767096512675870")
**轻松入门OpenGL系列**\
[一看就懂的OpenGL ES教程——图形渲染管线的那些事](https://juejin.cn/post/7119135465302654984 "https://juejin.cn/post/7119135465302654984")\
[一看就懂的OpenGL ES教程——再谈OpenGL工作机制](https://juejin.cn/post/7121525553491869703 "https://juejin.cn/post/7121525553491869703")\
[一看就懂的OpenGL ES教程——这或许是你遇过最难画的三角形(一)](https://juejin.cn/post/7125449091563126792 "https://juejin.cn/post/7125449091563126792")\
[一看就懂的OpenGL ES教程——这或许是你遇过最难画的三角形(二)](https://juejin.cn/post/7134356782452834334/ "https://juejin.cn/post/7134356782452834334/")\
[一看就懂的OpenGL ES教程——这或许是你遇过最难画的三角形(三)](https://juejin.cn/post/7143614036046217230 "https://juejin.cn/post/7143614036046217230")\
[一看就懂的OpenGL ES教程——这或许是你遇过最难画的三角形(四)](https://juejin.cn/post/7144335420644392991 "https://juejin.cn/post/7144335420644392991")\
[一看就懂的OpenGL ES教程——这或许是你遇过最难画的三角形(五)](https://juejin.cn/post/7145094035521470500 "https://juejin.cn/post/7145094035521470500")\
[一看就懂的OpenGL ES教程——缓冲对象优化程序(一)](https://juejin.cn/post/7147144845038419999/ "https://juejin.cn/post/7147144845038419999/")
[一看就懂的OpenGL ES教程——缓冲对象优化程序(二)](https://juejin.cn/post/7149775557398364167)
[一看就懂的OpenGL ES教程——临摹画手的浪漫之纹理映射(理论篇)](https://juejin.cn/post/7150869291208802341)
[一看就懂的OpenGL ES教程——临摹画手的浪漫之纹理映射(实践篇)](https://juejin.cn/post/7155040552353234951)
[一看就懂的OpenGL ES教程——渲染宫崎骏动漫重拾童年](https://juejin.cn/post/7160304816877469733)