我正在使用MediaRecorder API一段时间,我认为所有问题都在我身后,但我想我错了.
@H_404_2@我正在使用MediaRecorder API将视频录制到文件中.
当我使用高质量的setProfile时,我获得了良好的质量,但是当我尝试手动设置参数时(如下面的代码中),质量很差(因为某种原因,比特率被裁剪).
我想用1fps获得720p. @H_404_2@我一直收到以下警告:
WARN / AuthorDriver(268):视频编码比特率设置为480000 bps @H_404_2@我正在运行的代码:
非常感谢.
当我使用高质量的setProfile时,我获得了良好的质量,但是当我尝试手动设置参数时(如下面的代码中),质量很差(因为某种原因,比特率被裁剪).
我想用1fps获得720p. @H_404_2@我一直收到以下警告:
WARN / AuthorDriver(268):视频编码比特率设置为480000 bps @H_404_2@我正在运行的代码:
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);@H_404_2@任何的想法?
非常感谢.
解决方法
找到解决方案……但非常奇怪.
在设置压缩类型之前设置比特率以某种方式解决了问题.
唯一的问题是它是谷歌代码中的错误还是其他我不理解的错误. @H_404_2@原版的:
在设置压缩类型之前设置比特率以某种方式解决了问题.
唯一的问题是它是谷歌代码中的错误还是其他我不理解的错误. @H_404_2@原版的:
m_MediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); m_MediaRecorder.setVideoFrameRate(1); m_MediaRecorder.setVideoEncodingBitRate(8000000);@H_404_2@解:
m_MediaRecorder.setVideoEncodingBitRate(8000000); m_MediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); m_MediaRecorder.setVideoFrameRate(1);