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屏幕录制相关推荐

  1. android 屏幕录制方案,Android录制屏幕的实现方法

    原文:Paul Kinlan 翻译:Agora.io 长久以来,我一直希望能够直接从Android屏幕上进行录制并将其编码为多种格式,以便将录制内容嵌入在任意位置,而不需要安装任何软件. 如今,我们已 ...

  2. android屏幕录制功能,Android利用ADB进行屏幕录制

    前言 在写博客时,为了方便大家理解,我们经常需要把一些操作或动画录制成Gif,一般需要下载一个屏幕录制App将手机屏幕录制成视频(可能需要Root权限),然后导出到电脑,再转为Gif.今天就来教大家一 ...

  3. android屏幕 录制检测,Android 录制屏幕的实现方法

    Android 录制屏幕的实现方法,长久以来,我一直希望能够直接从Android屏幕上进行录制并将其编码为多种格式,以便将录制内容嵌入在任意位置,而不需要安装任何软件. 如今,我们已经接近这个目标.C ...

  4. Android屏幕录制并传输,Android录制屏幕的实现方法

    *原文:Paul Kinlan 翻译:Agora.io* 长久以来,我一直希望能够直接从Android屏幕上进行录制并将其编码为多种格式,以便将录制内容嵌入在任意位置,而不需要安装任何软件. 如今,我 ...

  5. android 屏幕录制代码,Android 录制屏幕的实现方法

    长久以来,我一直希望能够直接从Android屏幕上进行录制并将其编码为多种格式,以便将录制内容嵌入在任意位置,而不需要安装任何软件. 如今,我们已经接近这个目标.Chrome团队正在添加一种功能,可以 ...

  6. android p 录制屏幕,Android 屏幕录制

    自己实现了Android的屏幕录制App. 用了MediaProjection类来作为源,MediaRecoder来捕捉,编码转换为本地视频. 效果图: 主要是这段代码开始录像: startActiv ...

  7. android 实现屏幕录制功能,极速简单实现Android 屏幕录制编码为H264并且使用RTMP推流...

    最近有使用到屏幕录制功能并需要将屏幕数据推送到服务器端.采用RTMP推送,MediaCodec编码,MediaProjection 获取屏幕数据. 1.录制屏幕 在Android5.0 后可以采用原生 ...

  8. Android屏幕录制源码Demo下载

    Android实现屏幕录制的方式介绍两种,第一种是通过adb shell命令,还一种使用SDK的提供的方法实现. adb shell 命令 语法: screenrecord [options] < ...

  9. Android 屏幕录制时去除悬浮窗

    最近在用Android8.0开发一个屏幕录制的功能,要求录制的视频不能有录屏的控制悬浮窗. 录屏方案使用的是MediaRecorder.MediaProjection.VirtualDisplay. ...

  10. python web Android屏幕录制

    执行测试用例时,自动触发屏幕录制,单用例单录制 录制方式采用多线程,主线程开始,另开一个线程,跑录制脚本 web端 录制检测的是电脑页面,录制电脑页面展示的数据. from datetime impo ...

最新文章

  1. php批量修改文件名
  2. 会写代码的AI开源了!C语言写得比Codex还要好,掌握12种编程语言丨CMU
  3. hdu 1520 没有上司的晚会
  4. MathType输入补集符号的步骤有哪些
  5. 大牛是怎么思考设计MySQL优化方案
  6. nyoj 947 Max Xor(字典树)
  7. C语言插入排序Insertion Sort算法(附完整源码)
  8. P6477-[NOI Online #2 提高组]子序列问题【线段树】
  9. C++ 11右值引用
  10. 4G发牌或提早 电信联通面临艰难抉择
  11. java windows wrapper_Java Service Wrapper 发布windows后台程序的方法
  12. 【Linux学习】pthread_create主线程与创建的新线程之间退出关系
  13. 2022年最新google drive 谷歌云盘下载文件限额解决方法
  14. 经济应用数学基础二 线性代数 (第四版) 赵树嫄 编| 中国人大版 课后习题答案
  15. 38译码器数码管c语言代码,通过38译码器控制数码管显示数字
  16. linux 好书推荐
  17. 武警部队公安应急人防安监三维可视化交互电子沙盘方案书
  18. 新浪短网址在线生成,官方api接口获取方案
  19. 配置OpenWRTnbsp;校园网实现amp;nbsp…
  20. 【其他】bilibili下载的m4s格式视频如何还原为mp4

热门文章

  1. 关于医学影像中的轴位面(横断面)、冠状面、矢状面
  2. 就算是一件小事也要做好——买土豆的故事
  3. 主题:北京亿阳信通Oracle笔试题
  4. git 报错:unable to access “http://gitlab.tydic.com:7666/tx-preformance/tx……“解决方法
  5. dnf超时空漩涡副本路线流程图_DNF超时空漩涡副本怎么过_DNF超时空漩涡副本快速达成图文攻略...
  6. WPS 表格 身份证 提取生日 判断性别 计算年龄 15位身份证与18位身份证转换 18位身份证号校验
  7. Java中ThreadLocal详解
  8. 排序算法——鸡尾酒排序
  9. 自学3D游戏建模有哪些教材?
  10. 许晓斌的《Maven实战》 maven镜像配置