【问题标题】:Recording 1080p video on HTC Rezound camcorder using MediaRecorder使用 MediaRecorder 在 HTC Rezound 摄像机上录制 1080p 视频
【发布时间】:2011-12-05 11:51:14
【问题描述】:

Rezound 上的内置相机应用能够以 1080p 录制视频,但我无法通过 Android API 执行此操作。如果我使用 CamcorderProfile.QUALITY_HIGH 中的设置,一切都会很好,但这只会给我 720x480 的视频。当我尝试将分辨率提高到 1080p 时,我的应用程序在 MediaRecorder.start() 上冻结,并且任何尝试使用相机的应用程序都会停止工作,直到我重新启动手机。

这是我用来配置 MediaRecorder 的代码:

CamcorderProfile prof = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
if(false){
    prof.videoFrameHeight=1080;
    prof.videoFrameWidth=1920;
}
prof.videoFrameRate=24;
prof.audioCodec=MediaRecorder.AudioEncoder.AAC;
prof.audioSampleRate=44100;
prof.audioBitRate=96;
prof.audioChannels=2;
mMediaRecorder.setProfile(prof);

当我在 if 块中启用代码时,应用程序会冻结。我尝试完全复制从本机相机应用录制 1080p 时获得的视频的设置。

如果能找到 Rezound 上使用的原生相机应用的来源,那就太好了。我检查了 Android 2.3.4 版本中的原生相机应用程序,它看起来不能支持任何高于 CamcorderProfile.QUALITY_HIGH 中指定的分辨率的分辨率。

【问题讨论】:

    标签: android mediarecorder


    【解决方案1】:

    1920 * 1080 像素 * 24fps 的 3 种颜色对于一个小 Android 来说是非常多的数据。

    即使使用硬件 H264 压缩,在配备精美采集卡的 PC 上实时执行此操作也很棘手

    【讨论】:

    • 同意,这是一个了不起的小设备。如果它可以从 API 而不仅仅是原生相机应用程序中做到这一点,那就更令人惊奇了。
    • @Kevin - 抱歉没有意识到应用程序可以做到这一点。它可能设置了较低的比特率(比特率稍微独立于配置文件)。您可以使用headbands.com/gspot 查看保存的视频文件正在使用什么。
    • 别担心,描述很混乱(编辑澄清)。 Mediainfo 报告说,来自内置应用程序的 1080p 视频的比特率约为 7500 Kbps。我尝试在这附近使用比特率设置,但该应用程序仍然冻结。感谢您的建议。
    猜你喜欢
    • 1970-01-01
    • 2014-11-11
    • 2013-04-08
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-03
    • 2013-01-18
    相关资源
    最近更新 更多