我想导出由VP9解码的屏幕录像,现在可以导出由VP8编码的视频。

//get mediaProjection

mediaProjectionManager = (MediaProjectionManager) activity.getSystemService(Context.MEDIA_PROJECTION_SERVICE);

mediaProjection = mediaProjectionManager.getMediaProjection(resultCode, data);

mediaRecorder = new MediaRecorder();

DisplayMetrics displayMetrics = getScreenConfig();

int width = DEFAULT_WIDTH;

int height = DEFAULT_HEIGHT;

if (mediaRecorder != null) {

mediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE);

mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.WEBM);

mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.VP8);

mediaRecorder.setOutputFile(saveFile.getAbsolutePath());

mediaRecorder.setVideoSize(width, height);

mediaRecorder.setVideoEncodingBitRate((width * height * 2));

mediaRecorder.setVideoFrameRate(VIDEO_FRAME_RATE);

try {

mediaRecorder.prepare();

virtualDisplay =

mediaProjection.createVirtualDisplay("MainScreen", width,

height, displayMetrics.densityDpi,

DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR,

mediaRecorder.getSurface(),

null, null);

}catch(Exception e){

...

}

...

//start record

mediaRecorder.start();

使用此代码,我可以将视频保存为.webm文件并由VP8编码。但是该文件很大并且需要压缩。我发现它可以由VP9编码并减小大小。

但是MediaRecorder不支持VP9,因此如何导出VP9视频。

Android webm转mp4,android - 如何记录屏幕并输出视频格式为webm并由vp9编码? - 堆栈内存溢出...相关推荐

  1. android 5.1.1 sd卡权限,android - 适用于Android 5.1.1及更高版本的Cordova的外部存储路径(SD卡) - 堆栈内存溢出...

    从Android 5.0开始,外部(可移动)SD的位置不再是固定路径. 而是在路径中使用SD卡的序列号. 例如,在运行Android 7.1.1的Samsung Galaxy S4上,物理外部可移动S ...

  2. linux 服务器 输出,Linux中通过script命令那个记录屏幕的输出

    我们用script来记录屏幕的输出,这个是在Linux的平台下使用的,Solaris和AIX中script命令没有-f选项. -f选项的意思就是只有当缓冲区满后才能在另外一个终端显示前一次缓冲区满的内 ...

  3. android 播放静态mp4,Android 使用VideoView播放MP4的简单实现

    使用VideoView播放MP4 播放示例 实现简单的播放功能,播放手机本地的MP4文件.不依赖任何第三方框架,不添加任何防腐剂. 添加一个系统自带的控制条. 申请权限 读取存储中的MP4文件 准备布 ...

  4. android抽屉屏幕右滑,android - Android - 使滑动抽屉从左向右滑动 - 堆栈内存溢出...

    我使用下面的XML布局在我的应用程序中实现了"Sliding Drawer":(我从androidpeople.com得到了这个例子) android:layout_width=& ...

  5. libvlc获取一帧_android - 从android vlc媒体播放器获取当前帧 - 堆栈内存溢出

    我找到了一个非常简单,非常快速的解决方案. 只需使用TextureView而不是SurfaceView ,然后在使用getBitmap()函数播放时随时检索图像,如下所示. public class ...

  6. android 取消蓝牙配对框,android - 蓝牙配对 - 如何显示简单的取消/配对对话框? - 堆栈内存溢出...

    我在GitHub为这个问题准备了一个简单的测试项目 . 我正在尝试创建一个Android应用程序,它将从计算机屏幕扫描QR代码,然后使用数据(MAC地址和PIN或哈希)与蓝牙设备轻松配对(绑定). 类 ...

  7. android alarm 的权限,android - Android权限被拒绝-com.android.alarm.permission.SET_ALARM - 堆栈内存溢出...

    我正在尝试通过我的应用设置闹钟,但是当我通过执行以下操作启动意图时,如下所述: 如何在Android中使用意图启动闹钟屏幕? public boolean onMenuItemSelected(int ...

  8. android 电视安装apk文件损坏,android - 无法在Android电视盒上安装APK - 堆栈内存溢出...

    我正在为Android TV编写应用程序. 它可以在模拟器上正常运行,并在Android电视盒上以调试模式运行. 但是,当我使用Android Studio生成apk并尝试将该apk安装在同一盒子上时 ...

  9. android 按钮 叠加,android - 叠加层按钮在Android 4.3中不起作用 - 堆栈内存溢出

    我在WindowManager.LayoutParams.TYPE_TOAST级别层上有一个带按钮的覆盖视图. 该按钮在Android 4.2中可以正常工作,但是当我在Android 4.3中运行相同 ...

  10. android xml png,android - 使用.png文件中的形状创建xml聊天气泡 - 堆栈内存溢出

    请问是否有人知道如何在下面创建聊天气泡的xml形状? 我在网上找到的唯一示例是两个单独的形状,它们在布局中作为两个单独的背景放置-三角形和矩形. 我尝试将三角形和矩形组合在一起无济于事. 三角形似乎隐 ...

最新文章

  1. C++ 虚函数与存虚函数
  2. SpringBoot设置Session失效时间
  3. mvn 默认scope_maven scope 的作用
  4. 安装配置Statspack
  5. ArcFace 同款商品识别的克星
  6. NOIP 2018 普及组 解题报告
  7. 【CodeForces - 1051A】Vasya And Password (构造,水题)
  8. 7-130 古风排版 (20 分)
  9. mysql的删除命令+linux命令大全,Linux环境下MySQL基础命令----查看、创建、删除库和表...
  10. CentOS6.8安装oracle11gR2
  11. 从零开始之驱动发开、linux驱动(二十六、三星平台framebuffer)
  12. CSS简易导航列表样式
  13. 蓄电池充电c语言程序,蓄电池的充电方法和蓄电池工作原理
  14. 小辩《降薪求职,到底该不该?》
  15. H3C 重置cons 密码,清空配置
  16. ArcGIS 切片/瓦片的发布与加载
  17. zynq 7000 clg400 可作为外部AD 的引脚列表
  18. Pyinstaller 打包 Pytest项目及资源文件
  19. CycleGAN在医学图像中的应用
  20. Android开发艺术探索之Activity篇总结

热门文章

  1. vue学习笔记-6-属性绑定
  2. ott盒子 MySQL_LAMP源码环境搭建与phpmyadmin的使用
  3. oracle symonym_Oracle 创建synonym 同义词详解
  4. java agentlib 作用_javaagent 简介
  5. dll封装成activex控件_Qt编写自定义控件26-平铺背景控件
  6. linux crontab文件位置,linux crontab at 文件目录
  7. Redis持久化的方式
  8. java api大全网站
  9. poj 1961 KMP的应用
  10. Ceph添加、删除osd及故障硬盘更换