android屏幕录制
Android低版本需要实现屏幕录制,据我目前了解到的,都是需要获取Root权限才行。 本文介绍的屏幕录制是居于Android5.0及之后Android API实现的屏幕录制,以及录制后编码成h264格式保存到文件。屏幕采集主要使用类MediaProjection 和 MediaProjectionManager。数据编码使用类mediacodec一、录屏步骤 1、获取MediaProjectionManager(getSystemService(MEDIA_PROJECTION_SERVICE))2、录屏申请(createScreenCaptureIntent)Intent intent = mediaProjectionManager.createScreenCaptureIntent();startActivityForResult(intent, REQUEST_CODE);3、申请同意后,获取到mediaProjection(ProjectionManager.getMediaProjection)4、创建VirtualDisplay(createVirtualDisplay),输入参数surface,宽高、分辨率等创建VirtualDisplay需要传入surface,所以创建VirtualDisplay前,先初始化并配置编码器mediacodec,从mediacodec获取到surface,参考Encoder5、如果想实现截一张图保存下来,创建VirtualDisplay时也是传入surface(一般是通过ImageReader获取到surface)
通过步骤5实现屏幕保存bitmap到文件(demo 里的CaptureImageActivity.java)
通过步骤4实现屏幕录制,配合mediacodec实现h264编码,编码保存到文件,文件可以通过ffmpeg播放、查看属性等 (录屏、编码参考demo EncodeActivity.java及Encoder.java)
二、mediacodec实现视频数据编码(h264格式介绍)
1、在VirtualDisplay前创建mediacodec初始化(createEncoderByType),通过configure把编码参数配置好(MediaFormat)
2、通过VirtualDisplay创建后,循环mCodec.dequeueOutputBuffer获取编码器buffer输出index,index可以判断出buffer类型(sps、pps、图像帧),把数据保存到文件里。保存的文件可以使用vlc或者ffmpeg播放验证
android屏幕录制相关推荐
- android 屏幕录制方案,Android录制屏幕的实现方法
原文:Paul Kinlan 翻译:Agora.io 长久以来,我一直希望能够直接从Android屏幕上进行录制并将其编码为多种格式,以便将录制内容嵌入在任意位置,而不需要安装任何软件. 如今,我们已 ...
- android屏幕录制功能,Android利用ADB进行屏幕录制
前言 在写博客时,为了方便大家理解,我们经常需要把一些操作或动画录制成Gif,一般需要下载一个屏幕录制App将手机屏幕录制成视频(可能需要Root权限),然后导出到电脑,再转为Gif.今天就来教大家一 ...
- android屏幕 录制检测,Android 录制屏幕的实现方法
Android 录制屏幕的实现方法,长久以来,我一直希望能够直接从Android屏幕上进行录制并将其编码为多种格式,以便将录制内容嵌入在任意位置,而不需要安装任何软件. 如今,我们已经接近这个目标.C ...
- Android屏幕录制并传输,Android录制屏幕的实现方法
*原文:Paul Kinlan 翻译:Agora.io* 长久以来,我一直希望能够直接从Android屏幕上进行录制并将其编码为多种格式,以便将录制内容嵌入在任意位置,而不需要安装任何软件. 如今,我 ...
- android 屏幕录制代码,Android 录制屏幕的实现方法
长久以来,我一直希望能够直接从Android屏幕上进行录制并将其编码为多种格式,以便将录制内容嵌入在任意位置,而不需要安装任何软件. 如今,我们已经接近这个目标.Chrome团队正在添加一种功能,可以 ...
- android p 录制屏幕,Android 屏幕录制
自己实现了Android的屏幕录制App. 用了MediaProjection类来作为源,MediaRecoder来捕捉,编码转换为本地视频. 效果图: 主要是这段代码开始录像: startActiv ...
- android 实现屏幕录制功能,极速简单实现Android 屏幕录制编码为H264并且使用RTMP推流...
最近有使用到屏幕录制功能并需要将屏幕数据推送到服务器端.采用RTMP推送,MediaCodec编码,MediaProjection 获取屏幕数据. 1.录制屏幕 在Android5.0 后可以采用原生 ...
- Android屏幕录制源码Demo下载
Android实现屏幕录制的方式介绍两种,第一种是通过adb shell命令,还一种使用SDK的提供的方法实现. adb shell 命令 语法: screenrecord [options] < ...
- Android 屏幕录制时去除悬浮窗
最近在用Android8.0开发一个屏幕录制的功能,要求录制的视频不能有录屏的控制悬浮窗. 录屏方案使用的是MediaRecorder.MediaProjection.VirtualDisplay. ...
- python web Android屏幕录制
执行测试用例时,自动触发屏幕录制,单用例单录制 录制方式采用多线程,主线程开始,另开一个线程,跑录制脚本 web端 录制检测的是电脑页面,录制电脑页面展示的数据. from datetime impo ...
最新文章
- php批量修改文件名
- 会写代码的AI开源了!C语言写得比Codex还要好,掌握12种编程语言丨CMU
- hdu 1520 没有上司的晚会
- MathType输入补集符号的步骤有哪些
- 大牛是怎么思考设计MySQL优化方案
- nyoj 947 Max Xor(字典树)
- C语言插入排序Insertion Sort算法(附完整源码)
- P6477-[NOI Online #2 提高组]子序列问题【线段树】
- C++ 11右值引用
- 4G发牌或提早 电信联通面临艰难抉择
- java windows wrapper_Java Service Wrapper 发布windows后台程序的方法
- 【Linux学习】pthread_create主线程与创建的新线程之间退出关系
- 2022年最新google drive 谷歌云盘下载文件限额解决方法
- 经济应用数学基础二 线性代数 (第四版) 赵树嫄 编| 中国人大版 课后习题答案
- 38译码器数码管c语言代码,通过38译码器控制数码管显示数字
- linux 好书推荐
- 武警部队公安应急人防安监三维可视化交互电子沙盘方案书
- 新浪短网址在线生成,官方api接口获取方案
- 配置OpenWRTnbsp;校园网实现amp;nbsp…
- 【其他】bilibili下载的m4s格式视频如何还原为mp4
热门文章
- 关于医学影像中的轴位面(横断面)、冠状面、矢状面
- 就算是一件小事也要做好——买土豆的故事
- 主题:北京亿阳信通Oracle笔试题
- git 报错:unable to access “http://gitlab.tydic.com:7666/tx-preformance/tx……“解决方法
- dnf超时空漩涡副本路线流程图_DNF超时空漩涡副本怎么过_DNF超时空漩涡副本快速达成图文攻略...
- WPS 表格 身份证 提取生日 判断性别 计算年龄 15位身份证与18位身份证转换 18位身份证号校验
- Java中ThreadLocal详解
- 排序算法——鸡尾酒排序
- 自学3D游戏建模有哪些教材?
- 许晓斌的《Maven实战》 maven镜像配置