2019年,智能手机品牌在相机质量上有了巨大的飞跃,尤其是在变焦和微光方面。另一方面,视频质量并没有得到同等的重视。2020年,随着高通骁龙(Qualcomm Snapdragon) 865网络服务提供商(ISP)的改进,这种情况可能会改变。然而,尽管Android智能手机的内置存储容量越来越大,调制解调器的速度也越来越快,而且现在还支持5G网络,但有一个老的限制让大多数手机无法保存超过4GB的视频文件。然而,这可能会在Android 11中发生改变,下一个主要版本的Android将于2020年发布。

我将尝试在不深入讨论技术方面的情况下总结此限制背后的原因。基本上,谷歌决定Android的MediaMuxer和MPEG4Writer类分别负责muxing(合并)视频文件并将它们保存为MP4文件,它们应该支持输出最大大小为2^32 - 1字节的MP4文件,即大约4GB。这个决定是在2014年初,当谷歌Nexus 5最大32 gb的内部存储仍在市场上,SD卡仍然广泛使用,和第一个手机4 k录像刚刚进入市场(注3)星系。因此,并没有太多的要求保存视频文件超过4 gb大小:大多数手机没有足够的存储空间,SD卡在FAT32格式不支持,甚至一些手机记录在足够高的质量满足这一限制。快进5年,很多东西都改变了:现在有1TB的存储空间的手机,SD卡是例外而不是常态,4K视频录制无处不在,8K的视频录制很快就会到达设备。

今天,如果你录制一个4K视频,你的视频将在大约12分钟内达到4GB的大小;这是默认的质量设置,帧速率为30fps,比特率为48Mbps。在录制约12分钟后,摄像头应用程序会保存视频,并立即开始录制另一个视频——而用户不会注意到。当你查看手机的DCIM文件夹时,你会注意到原本应该是一个连续的视频记录被分成了多个视频文件。例如,在我的Pixel 4上录制的73分钟视频被分成7个不同的文件——谷歌照片将所有这些文件都视为单独的录音。在上传至谷歌照片之前,对这些MP4文件进行mux并不困难,但如果你想这样做,你必须使用第三方应用程序。我想,大多数人都不愿费心,也不知道该怎么做。

一个73分钟的4K30视频记录从我的像素4分裂成7个不同的文件。

开发者们多年来一直在寻求一种能够录制大于4GB的视频文件的方法,现在看来Android 11终于要改变了。根据AOSP gerrit中对新提交的描述,谷歌正在更新Android的媒体类,以消除32位文件大小限制。具体来说,Android现在将“在mpeg4writer中使用64位偏移量”,这允许Android“撰写/mux文件的大小超过4GB”。在测试过程中,谷歌成功地组成了一个32GB大小的文件,在另一个单独的测试中,谷歌甚至成功地用一段录音就填满了手机的全部存储容量。最大文件大小为2^64 -1字节是非常大的,而且永远不会达到这个要求,所以我们希望谷歌能够限制MediaRecorder API或原始设备制造商来限制他们的相机应用程序来支持一个更合理的最大文件大小。然而,像OpenCamera这样使用Camera2API的应用程序应该仍然能够任意设置它们想要的最大文件大小,而不必担心32位文件大小的限制。

OpenCamera的视频录制设置

提交还没有被合并,但是当它被合并的时候,我们希望这个变化能反映在Android 11上,因为那是下一个主要的Android版本。第一个Android 10测试版于今年3月上线,所以预计将在2020年3月看到Android 11测试版,然后在2020年8月的某个时候稳定发布。小米和三星的手机预计将支持8K的视频录制,这一变化是受欢迎的——尽管早该如此。

android 录音原始文件_Android 11可能最终会取消Android对视频录制的4GB文件大小限制...相关推荐

  1. android 录音原始文件_Android 录音详解(一)—— MediaRecorder、AudioRecord、生成wav格式、边录边播...

    Android 录音详解(一)-- MediaRecorder.AudioRecord.生成wav格式.边录边播 越来越多的 APP 都用到了手机的录音功能,比如搜索.聊天.输入.K歌等... 本系列 ...

  2. android AlertDialog TextView赋值_Android 11官宣:今年Android手机的这些特性被坐实了

    2月19日,谷歌正式发布Android 11开发者预览版,与以往一样首批支持机型仅有Pixel系列,包括Pixel 4/4XL,Pixel 3a/3a XL,Pixel 3/3 XL以及Pixel 2 ...

  3. android 录音原始文件_5分钟短文 | Android证书生成,签名,验证,虽然难,但学一次就够了!...

    引言 从Android演进开始,APK签名就已经成为Android的一部分,并且android要求所有Apks都必须先签名,然后才能将其安装在设备上.关于如何生成密钥以及如何签名的文章很多.一个Apk ...

  4. android录制视频横向,Android从零开始(26)(设置全屏+横屏、相机拍照、视频录制)(新)...

    相机拍照.视频录制相机拍照 全屏显示有两种方式: 在androidManifest.xml里面的application标签下设置 android:theme="@android:style/ ...

  5. android 录音原始文件_音频采集:Android基于AudioRecord的实现

    前言 这篇文章简单介绍下移动端Android系统下利用AudioRecord进行音频采集方法. 按照惯例开始前先提供一份源码 AudioRecordLib . AudioRecord采集的核心实现在于 ...

  6. android 无线调试_Android 11的无线调试

    android 无线调试 Android 11 developer preview has lots of new features to look but one of the coolest is ...

  7. android path拆分_Android架构进阶之路:Android 组件化方案探索与思考总结

    组件化项目,通过gradle脚本,实现module在编译期隔离,运行期按需加载,实现组件间解耦,高效单独调试. 先来一张效果图 好像是因为机制原因上传不了动图,所以截图了一个画面 组件化初衷 APP版 ...

  8. android 橡皮擦功能吗,android,安卓开发_Android 图片涂鸦橡皮擦功能,android,安卓开发 - phpStudy...

    Android 图片涂鸦橡皮擦功能 最近在做一个画板功能,大致的不同颜色画笔.不同粗细已经实现. 参照的是该教程:android-drawing-app 现在要做的功能是,从相册或者相机导入图像,然后 ...

  9. Android录音下————AudioRecord源码分析

    Android录音下----AudioRecord源码分析 文章目录 Android录音下----AudioRecord源码分析 一.概述 1.主要分析点 2.储备知识 二.getMinBufferS ...

最新文章

  1. 第三章| 3.1文件处理
  2. php7.2 mysql 教程_如何在PHP7中扩展mysql,先安装php7.2。后安装mysql
  3. postgresql创建只读账号
  4. accesskey 提交
  5. Ceph 的用户管理与认证
  6. String 堆内存和栈内存
  7. 从零开始-android 4.2之旅
  8. 什么是oracle的临时表??
  9. JS手动实现一个new操作符
  10. 实践解析可视化开发平台FlinkSever优势
  11. ATL中建立消息窗口
  12. WPF 模拟UI 键盘录入
  13. linux 启动u盘引导,U盘启动引导安装linux
  14. 金万维异速联服务器重装,金万维异速联服务器配置说明
  15. 收藏 :数据资源下载网址大全
  16. JAVA计算机毕设题目大全
  17. NFT平台Chair.finance获得Polygon Grant及生态支持
  18. Gerrit报错:Permission denied (publickey)
  19. 《计算机视觉特征提取与图像处理(第三版)》笔记/第一章(1)计算机视觉基础
  20. P1428 小鱼比可爱

热门文章

  1. Uninterruptible Sleep(不可中断的睡眠)
  2. Fastsocket:高扩展性的 Socket 以及 Linux 内核的底层网络实现
  3. Linux curl命令使用代理、以及代理种类介绍(附:curl命令详解)
  4. 《计算机网络》第四章:介质访问控制(The Medium Access Control Sublayer)
  5. 版本为2.5的OpenMP的所有API函数
  6. UniversalVideoView
  7. sheet中没有getcolumns()方法吗_家庭亲子教育中的八种方法,你做到了吗?
  8. 列式存储ClickHouse(一)概述
  9. c语言中根据数据的组织形式 把文件分为,根据数据的组织形式,C中将文件分为______________和____________.._简答题试题答案...
  10. 基于静态类型分析的java程序函数调用图构建方法研究,JAVA的静态方法调用