4

我如何在 andorid 中录制低分辨率视频以上传到服务器为什么因为在 android 中录制的视频即使是 3 秒的视频也有 3 MB 的大小。我已经搜索了一路请帮帮我

4

2 回答 2

4

如果您使用 MediaStore.ACTION_VIDEO_CAPTURE 意图,则可以通过将 MediaStore.EXTRA_VIDEO_QUALITY 额外设置为 0 来调整质量以获取较低质量的视频,如果您直接访问相机 API,则必须调整相机通过个人资料MediaRecorder.setProfile()这是来自 Android 开发者网站的示例

于 2014-09-12T06:43:04.897 回答
3

根据MediaStore文档,ACTION_VIDEO_CAPTURE可以发送标准 Intent 操作以让相机应用程序捕获视频并返回它。

来电者可能会传入一个额外的参数EXTRA_VIDEO_QUALITY来控制视频质量。

用于控制录制视频质量的 Intent-extra 的名称。这是一个整数属性。当前值 0 表示低质量,适用于彩信,值 1 表示高质量。将来可能会添加其他质量级别。

所以你可以像下面这样使用它,

Intent intent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(android.provider.MediaStore.EXTRA_VIDEO_QUALITY, 0);
startActivityForResult(intent, REQUEST_VIDEO_CAPTURED);

与正常意图相比,这将以低质量录制视频。但是在某些情况下,例如录制更多时间也可能会导致视频大小增加。

所以你也可以寻找EXTRA_SIZE_LIMITEXTRA_DURATION_LIMIT来设置Specify the maximum allowed size和Specify the maximum allowed recording duration in seconds。

另一方面,如果这些东西不起作用或不合适,您可以正常录制视频并在上传到服务器时压缩视频。它将减小视频的大小。

查看此示例以进行视频压缩。

于 2018-05-01T05:49:04.543 回答