使用MediaRecorder从SurfaceView录制视频
recorderProfile = CamcorderProfile.get( CamcorderProfile.QUALITY_480P );
recorder = new MediaRecorder();
recorder.setCamera( camera );
recorder.setAudioSource( MediaRecorder.AudioSource.DEFAULT );
recorder.setVideoSource( MediaRecorder.VideoSource.DEFAULT );
recorder.setOutputFormat( recorderProfile.fileFormat );
recorder.setAudioEncoder( recorderProfile.audioCodec );
recorder.setVideoEncoder( recorderProfile.videoCodec );
recorder.setOutputFile( tempFile.getPath() );
recorder.setOrientationHint( 270 );
recorder.setVideoFrameRate( recorderProfile.videoFrameRate );
recorder.setVideoEncodingBitRate( recorderProfile.videoBitRate );
recorder.setAudioEncodingBitRate( recorderProfile.audioBitRate );
recorder.setAudioChannels( recorderProfile.audioChannels );
recorder.setAudioSamplingRate( recorderProfile.audioSampleRate );
recorder.setVideoSize( size.width, size.height );
“的ffmpeg”
“-y”
“-i”
文件
“-strict”,“experimental”
“-vf”,“[in] crop = 480:640 [out]”,
“-s”,“640x480”,
文件
视频大小为480x640,因为它在裁剪前旋转
它将视频剪切为500毫秒的长度。
答案 0 :(得分:0)
recorderProfile.videoCodec: vp8帮了我大忙,而不是vp9。
请记住,我正在使用Chrome Android上的Web MediaRecorder()。
它还与音频绑定,在视频流中录制音轨不会在手机或台式机上使用vp8修剪结尾。
使用台式机上的vp8不会发生这种情况。