Android给视频添加背景音乐的解决方案

源码地址:https://github.com/bookzhan/bzmedia (BackgroundMusicUtil.cpp)

在处理视频背景音乐的时候一般有两种方案:

  1. 在视频原声的基础上添加背景音乐
  2. 用背景音乐替换掉视频原声

方案一,在视频原声的基础上添加背景音乐,同时支持调整视频原声与背景音乐声音的大小:

思路用FFmpeg调用命令行的方式来做就好了,但是需要区分视频是否有音频,这个需要分开处理,这种对输入的背景音乐格式没有严格的要求,取决于FFmpeg编译的时候选择支持的音频… 查看全文

发表在 Android, FFmpeg | 留下评论

开源一个Android 音视频库,包含了视频录制,编解码,以及编辑,和常见的OpenGL,FFmpeg操作

BZMedia 是一个Android 音视频库,包含视频录制,视频编解码,视频编辑,常见的OpenGL操作

项目介绍:这套音视频库包含了常见的音视频处理技术,服务于用户量高达到8亿的APP,里面使用的技术在市场上深度验证过,现在逐步整理出来然后开源,共大家学习交流

完整工程地址:https://github.com/bookzhan/bzmedia.git

版本更新记录:

V1.0.4 :
  1. 支持添加背景音乐
  2. 支持完全替换掉背景音乐
V1.0.3 支持的主要功能是视频录制:
  1. 支持的采集源有YUVI42
查看全文
发表在 Android, FFmpeg | 2条评论

Android裁剪YUV同时支持Camera1 Camera2

在Android中使用Camera避免不了操作YUV,但是我们经常会遇到在不同手机上Camera出来的尺寸不是我们想要的,这个时候就需要裁剪了,最优办法当然是从源头YUV进行处理,一是YUV相对来说数据量较小,二是在源头上处理了,可以为后续流程节省CPU算力开销。如果你们在整个工程中用的是Texture,我也有解决方案,稍后放出来。

源码地址与Demo:https://github.com/bookzhan/bzyuvlib

首先我们要知道Android 中常见的YUV数据结构:

Y… 查看全文

发表在 Android | 留下评论

Android FFmpeg命令行工具支持进度回调

本工程是基于FFmpeg4.2.3,在工程里面也有一个3.3.2的版本,有需要的可以自己去Git库里面checkout,工程17年就做好了,一直没有开源,原谅我懒,哈哈哈

源码地址:https://github.com/bookzhan/bzffmpegcmd.git

工程支持进度回调,移动端常用的的功能都支持,如果需要支持更多的功能需要重新编译FFmpeg,请参考我之前的编译工程:https://raoyunsoft.com/index.php/2020/05/26/ffmpe查看全文

发表在 Android, FFmpeg | 留下评论

使用paddlehub/paddlepaddle/飞桨做人像分离/并替换背景

paddlehub是基于百度paddlepaddle/飞桨的深度学习模型开发工具,paddlepaddle地址:https://www.paddlepaddle.org.cn 上面有很多模型,也有很多学习资料,建议去看看

今天要分享的是用paddlehub做人像分离,但是我测试结果表明用paddlehub做人像分离效果还是可以,但是要达到PS那种连头发丝都都扣出来还是有不小的差距。

环境安装

1.首先你得安装Python3

2.然后安装paddlepaddle

​ 去这个地址选择你要安装的… 查看全文

发表在 机器学习 | 留下评论

ijkplayer使用AndroidStudio/CMake编译

完整工程地址:https://github.com/bookzhan/bzijkPlayer

ijkPlayer是一款基于FFmpeg下很优秀的视频播放器,是值得我们去看看源码学习一下,但是原先的代码组织方式不方便查看源码以及不方便debug于是我就在Android下面使用CMakeLists.txt把工程改写了一下,现在可以很方便的看到代码调用流程以及debug,并且没有改动任何源码,最后改写后的CMakeLists.txt如下:

# For more information abou
查看全文
发表在 Android, FFmpeg | 10条评论