我使用 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(使用前将#替换为@)