Android MediaRecorder API 不断裁剪视频比特率

2024-03-03

我使用 MediaRecorder API 一段时间了,我以为所有问题都已经过去了,但我想我错了。

我正在使用 MediaRecorder API 将视频录制到文件中。 当我使用高质量的 setProfile 时,我得到了良好的质量,但是当我尝试手动设置参数时(如下面的代码所示),质量很差(因为由于某种原因比特率被裁剪)。 我想要 1fps 的 720p。

我不断收到以下警告:WARN/AuthorDriver(268):视频编码比特率设置为 480000 bps

我正在运行的代码:

m_MediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
m_MediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
m_MediaRecorder.setVideoSize(1280, 720);
m_MediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
m_MediaRecorder.setVideoFrameRate(1);
m_MediaRecorder.setVideoEncodingBitRate(8000000);

任何想法? 多谢。


找到了解决方案...但是很奇怪。 在设置压缩类型之前设置比特率以某种方式解决了这个问题。 唯一的问题是这是否是谷歌代码中的错误或其他我不明白的东西。

原来的:

m_MediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
m_MediaRecorder.setVideoFrameRate(1);
m_MediaRecorder.setVideoEncodingBitRate(8000000);

解决方案:

m_MediaRecorder.setVideoEncodingBitRate(8000000);
m_MediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
m_MediaRecorder.setVideoFrameRate(1);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android MediaRecorder API 不断裁剪视频比特率 的相关文章

随机推荐