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

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

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

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

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

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

项目地址

使用FFMPEG 模仿微信拍视频相关推荐

  1. android图片视频图片封装,Android图片、视频资源选择库(支持图片/视频/仿微信拍照、拍视频)...

    简介 Android媒体资源选择库(支持图片/视频/仿微信拍照.拍视频),非常简单使用,支持图库多选.单选.仿微信拍照拍视频.系统照相机拍照拍视频(v1.1.2).如需使用美颜滤镜.简单图片编辑,ff ...

  2. 解决微信企业号和公众号无法调用摄像头拍视频的问题

    一直以来在微信里面始终无法用<input id="videofile" name="videofile" type="file"  a ...

  3. FFmpeg 开发(12):Android FFmpeg 实现带滤镜的微信小视频录制功能

    前文利用 FFmpeg 分别实现了对 Android Camera2 采集的预览帧进行编码生成 mp4 文件,以及对 Android AudioRecorder 采集 PCM 音频进行编码生成 aac ...

  4. Android模仿微信录制小视频

    模仿微信录制小视频 使用系统MediaRecorder进行录制 效果预览: 预览apk下载:https://fir.im/sd36 github源代码:https://github.com/yuanf ...

  5. android服务拍视频,Android仿微信拍摄、录制视频,以及视频播放(基于JCameraView和GSYVideoPlayer)...

    本项目使用Androidstudio开发工具 引入权限 引入依赖 //视频录制 implementation 'cjt.library.wheel:camera:1.1.9' //视频播放 api(' ...

  6. 微信“拍一拍”,竟然可以使用Python实现,你get到了吗?

    最近微信"拍一拍"火遍了各大微信群,并迅速占据了热搜话题榜 于是我突发奇想,决定用pyhton自动实现微信"拍一拍",没想到还真给搞成功了,整个过程才用了30行 ...

  7. 微信“拍一拍”新增“炸一炸”功能;爱奇艺 CEO:会费涨价是行业必然趋势;微软终止 Windows 10X 开发|极客头条...

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  8. 高仿微信拍照,视频录制-----JCameraView

    JCameraView(1.1.9) 使用方法 Gradle依赖: compile 'cjt.library.wheel:camera :1.1.9' 引用源码 :  clone源码后 引入lib - ...

  9. FFmpeg学习(音视频理论知识)

    文章目录 1. 音视频理论知识 1.1 基本概念 1.1.1 音视频必备的基本概念 常用的视频封装格式 常用的视频编码器 常用的音频编程器: 视频流 裸数据YUV 1.1.2 音视频常见处理 采集 处 ...

  10. Android 仿微信短视频录制

    VideoRecorder 项目地址:junerver/VideoRecorder 简介: Android 仿微信短视频录制 更多:作者   提 Bug 标签: Android 仿微信短视频录制 项目 ...

最新文章

  1. java正则 group_Java正则表达式,分组 group()、groupCount()
  2. VMWARE HOST-ONLY方式共享上网
  3. rocktmq 消息延时清空_RocketMQ-延时消息
  4. 参数binlog_rows_query_log_events和binlog_row_image 与用 binlog恢复数据
  5. Google Chrome 总提示flash插件过期,用命令行模式解决
  6. lg gw880 qq2011 android beta4版,LG GW880评测:CMMB天线、细节设计
  7. php mysql 复制数据库表结构图_MySQL_Mysql复制表结构、表数据的方法,本文给大家分享了好几种复制 - phpStudy...
  8. 一些诗作-2015年
  9. Zabbix 监控Nginx连接的状态
  10. 7-24 求集合数据的均方差 (15 分)
  11. php部分---注册审核
  12. 极客大学架构师训练营、区块链、数字货币、以太坊、Libra、联盟链 第28课 听课总结
  13. 51单片机波特率计算的公式和方法
  14. matlab 求反余弦,matlab中反余弦函数
  15. 2022年奶茶行业发展趋势
  16. 基于POC的不可能三角解决方案:深度解析存储公链Subspace Network
  17. flutter拨打电话url_launcher
  18. 教你用Python画了一棵圣诞树
  19. 前端数据可视化之高德地图
  20. 数据结构 严薇敏 队列 的实现及其使用方法详解

热门文章

  1. 现代软件工程 第一章 【概论】练习与讨论 王旭阳(2,3,4)
  2. Hypervisor
  3. 零基础学习计算机路线,我在B站开专栏讲解了!
  4. pure-ftpd服务器搭建
  5. 添加视频字幕后期制作Premiere Pro 2022中文
  6. 人们说程序员很高大上,程序员是做编程的,编程又是做什么呢?
  7. Android WiFi Direct文件传输
  8. 2023计算机毕业设计SSM最新选题之java住院病人管理系统pebfh
  9. 利用Python爬取拉勾网招聘信息
  10. Windows10安装apt-cyg教程