Unity移动端视频录制,Android和IOS都支持

分享一个录屏插件,国外大牛写的。 

插件名字:NatCorder,插件地址是:链接:https://pan.baidu.com/s/15HkaSKowVrlTWlO-RGq1PQ 
提取码:lb9m 
支持录制平台:Mac,Windows, Android,Ios

支持录制视频格式:Mp4,可以自定义录制视频的分辨率

Unity版本:Unity2018.3.2以及以上

支持录制方法:1:录制自定义Camera;2:录制整个屏幕(带UI),如果有别的需求,比如说需要录制两个摄像头,我是这样处理的:

1:把cam2的画面输出成renderTexture

2:场景中cam1作为录制摄像头

3:新建Iamge,之后把cam2的画面有image显示

具体实现:主要是调用ReplayCam方法

//开始录制视频
 public void StartRecording (Camera camera,Vector2 videoratio) {
            isRecord = true;
             // Start recording
            recordingClock = new RealtimeClock();
            videoRecorder = new MP4Recorder(
                (int)videoratio.x,
                (int)videoratio.y,
                30,
                recordMicrophone ? AudioSettings.outputSampleRate : 0,
                recordMicrophone ? (int)AudioSettings.speakerMode : 0,
                OnReplay
            );
            // Create recording inputs
            cameraInput = new CameraInput(videoRecorder, recordingClock, camera);
            if (recordMicrophone) {
                //StartMicrophone();
                //audioInput = new AudioInput(videoRecorder, recordingClock, microphoneSource, true);
                audioInput = new AudioInput(videoRecorder, recordingClock, audioListener);
            }
        }
 //结束录制
public void StopRecording () {
            if (!isRecord)
            {
                //Debug.LogError("if have not startrecord,filter stop");
                return;
            }
            isRecord = false;
            // Stop the recording inputs
            if (recordMicrophone) {
                StopMicrophone();
                audioInput.Dispose();
            }
            cameraInput.Dispose();
            // Stop recording
            videoRecorder.Dispose();
        }

其他:1:录制的时候,声音是可以配置的,可以自定义AudioListener

2:可以自定义录制视频质量,在MP4Recorder类中,修改码率,帧率,视频间隔等参数

 

你可能感兴趣的:(Unity)