Skip to content

一个支持录制和播放音频视频的安卓短视频应用,支持添加水印,并可以选择多种仿抖音滤镜特效展示。A video and audio recorder and player based on OpenGL es,FFmpeg,OpenSl es,MediaCodec on Android platform.It gives video interesting effect through fragment shader.

License

Notifications You must be signed in to change notification settings

yishuinanfeng/UnitedPlayer

Repository files navigation

UnitedPlayer

A video and audio player

一个支持录制和播放音频视频的安卓短视频应用,录制的视频将在播放列表中显示,点击列表项即可播放,并可以选择多种仿抖音滤镜特效展示。

如果觉得不错,记得给颗小星星哦~

博客链接:

介绍一个自己刚出炉的音视频播放录制开源项目

相关博客系列目录:

音视频开发系统学习的浪漫马车之总目录

基本技术实现点:

使用Camera+OpenGL ES实时预览画面,使用OpenSl ES录制音频,通过MediaCodec分别对音视频进行编码,并通过MediaMuxer将音视频封装为MP4格式。

使用ffmpeg解复用、解码MP4文件,通过OpenGL ES渲染视频画面,OpenSl ES播放音频,并通过OpenGL片段着色器提供不同的视频仿抖音滤镜效果。

功能点:

视频音频播放,支持进度条控制和暂停。(已完成)

视频音频录制。(已完成)

音频视频同步。(已完成)

视频尺寸自适应。(已完成)

视频添加水印。(已经实现,待扩展)

视频添加仿抖音滤镜。(已经实现最基础的滤镜:反色、灰度图、闪白、缩放、灵魂出窍、抖动)

  1. 反色:

img

  1. 灰度图:

img

  1. 闪白:

img

  1. 缩放:

img

  1. 灵魂出窍:

img

  1. 颜色偏移抖动:

img

视频添加背景音乐。(待开发)

音频变调。(待开发)

视频断点续录。(待开发)

视频裁剪(待开发)

当前项目只是实现了整体主要功能,用户交互方面还是比较粗糙,性能也没有专门进行优化过,以后应该还会不断优化和扩展功能~~

详细博客系列目录:

C内存与指针:
漫谈C语言内存管理
漫谈C语言指针(一)
漫谈C语言指针(二)
漫谈C语言指针(三)

C++语法重点难点:
初尝C++的世界
进一步走进C++面向对象的世界
感受C++一些令人眼前一亮的语法

C/C++进阶:
C/C++编译流程
一篇文章入门C/C++自动构建利器之Makefile
升级构建工具,从Makefile到CMake
初探ndk的世界(一)
初探ndk的世界(二)

视频理论基础:
视频基础知识扫盲
音视频开发基础知识之YUV颜色编码
解析视频编码原理——从孙艺珍的电影说起(一)
解析视频编码原理——从孙艺珍的电影说起(二)
H264码流结构一探究竟

Android平台MediaCodec系列:
Android硬编解码利器MediaCodec解析——从猪肉餐馆的故事讲起(一)
Android硬编解码工具MediaCodec解析——从猪肉餐馆的故事讲起(二)
Android硬编解码工具MediaCodec解析——从猪肉餐馆的故事讲起(三)

轻松入门OpenGL系列
一看就懂的OpenGL ES教程——图形渲染管线的那些事
一看就懂的OpenGL ES教程——再谈OpenGL工作机制
一看就懂的OpenGL ES教程——这或许是你遇过最难画的三角形(一)
一看就懂的OpenGL ES教程——这或许是你遇过最难画的三角形(二)
一看就懂的OpenGL ES教程——这或许是你遇过最难画的三角形(三)
一看就懂的OpenGL ES教程——这或许是你遇过最难画的三角形(四)
一看就懂的OpenGL ES教程——这或许是你遇过最难画的三角形(五)
一看就懂的OpenGL ES教程——缓冲对象优化程序(一)
一看就懂的OpenGL ES教程——缓冲对象优化程序(二)
一看就懂的OpenGL ES教程——临摹画手的浪漫之纹理映射(理论篇)
一看就懂的OpenGL ES教程——临摹画手的浪漫之纹理映射(实践篇) 一看就懂的OpenGL ES教程——渲染宫崎骏动漫重拾童年

About

一个支持录制和播放音频视频的安卓短视频应用,支持添加水印,并可以选择多种仿抖音滤镜特效展示。A video and audio recorder and player based on OpenGL es,FFmpeg,OpenSl es,MediaCodec on Android platform.It gives video interesting effect through fragment shader.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published