使用FFMPEG 模仿微信拍视频

news/2024/7/10 20:51:51 标签: ffmpeg, android, java

难得有点空闲,就想到了微信经常用的聊天是用什么做的,因为之前自己是做系统Camera的所以就看了一眼,就能发现,微信聊天使用的不是原生相机,那么问题来了,微信使用的是什么相机?

仔细一想,不同的手机平台原生相机相同的时间录制视频大小,码率大小,帧率大小都不可控,为了统一视频格式微信自己对视频进行自己生成,倒不如自己去进行视频的合成,想到了之前学习的

FFMPEG,FFMPEG其功能非常强大(图片和昌视频,视频进行抽帧等等功能)可以对输入的视频流进行独立的合成,不用受用于系统厂家原生相机的限制。原理其实非常简单,就是使用系统原生

的相机进行预览,然后将预览流输入到FFMPEG中进行视频的合成,这样的话就属于借用了原生系统的相机拿到数据流,自己对视频进行合成。

 

原理以及架构分析,可以下载代码自行研究,其中RecoderLib 可以作为单独的lib库

项目效果如下(gifb包含了拍照和切换摄像头操作):

项目地址

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


http://www.niftyadmin.cn/n/1567452.html

相关文章

Android Hook动态替换目标Activity(免AndroidManifest注册 )

Android 7.1 APP 启动流程分析 里面讲解的有Activity的启动流程图,想要使用hook替换目标Activity需要先了解AMS如何创建的Activity。 总体流程 总体的思路就是通过反射,先使用占坑Activity创建activity,然后再替换成目标activity&#xff0…

Java 单向列表的几种操作方式(删除,查找环,环入口)

Java ⼆叉树操作 本文章的列表为单项列表。 列表的节点类,类的内容包括数据int 和 下一个节点的指向。 class Node{int data;Node next;public Node(int data,Node next) {this.data data;this.next next;}} 1.删除节点操作 1.1是头节点为空 1.2删除节点在链表…

Android 11 锁屏调用相机android.permission.SYSTEM_CAMERA报错

遇到一个问题,在锁屏状态下调用相机调用不起来,查看了一下日志在调用相机的时候报了权限拒报错的语句为android.permission.SYSTEM_CAMERA 权限拿不到,就在应用里面配置了一下这个权限发现问题依旧,找到了部分蛛丝马迹&#xff1a…

Windows 10 安装Ubuntu系统(无法全屏问题)

使用工具 VMware Workstation Pro Ubuntu系统 下载自己需要的ISO镜像系统 本案列就使用如下两个版本进行安装。 VMware Workstation 15 Pro ubuntu-20.04.2.0-desktop-amd64.iso VMware Workstation Pro 的安装教程网上有很多,这里不再赘述VMware Workstatio…

Java ⼆叉树操作

Java 单向列表的几种操作方式(删除,查找环,环入口) ⼆叉树的模型形状 首先我们先创建节点类 public class Node { private int data; private Node leftNode; private Node rightNode; public Node(int data, Node leftNode, Node rightNode){ this.dat…

系统添加自定义路径属性到系统属性中

系统开机会加载build.prop 属性到系统中,这样方便系统使用 getprop 获取系统属性的值 , 正常情况下在源码中按照如下方式添加 device/qcom/msmxxx/system.prop添加 my.adb.myroot0 但是我们为了保险起见,比如说机器的唯一标识,…

Repo下载以及Repo init报错解决

1, repo 下载 在工作目录下创建bin文件夹(默认Home下面存在bin文件夹直接放到bin文件夹即可) 1.1如果不存在bin文件夹 $ mkdir ./bin 将bin目录添加到系统环境变量 PATH./bin:$PATH 下载repo脚本(清华源) curl https://mirrors.tuna.tsin…

Android系统Activity的显示原理

本文查看的源码是Android 7.1 所有方法中的代码只保留了本文关注的代码。 抽空研究了一下Activity的显示过程,主要是熟悉Android中的Activiy从设置布局到绘制显示的整个流程。 按照老惯例先上时序图 涉及的文件路径: frameworks/base/core/java/android/app/Act…