AVCaptureVideoDataOutput을 이용해서 카메라 만들기 2 - 녹화

 

#.지난번 포스팅에 이어서 '녹화' 버튼을 클릭했을때 작동되는 로직 순서를 알아보자.

1.녹화버튼을 클릭 하면 IDCaptureSessionPipelineViewController클래스의 toggleRecording 메소드가 작동된다.

2.IDCaptureSessionAssetWriterCoordinator 클래스의 startRecording 진입해서 레코딩 상태변화를 시키기위해 transitionToRecordingStatus 메소드를 호출한다. // oldStatus : 0, newStatus: 1 

3.IDCaptureSessionAssetWriterCoordinator 클래스의 startRecording 에서 계속해서 임시저장 경로를 얻고 IDAssetWriterCoordinator를 초기화 해준다.

4.IDAssetWriterCoordinator 객체가 생성되고 쓰기 작업을 위한 writing queue 와 비디오 방향, url 값이 셋팅된다.

5.그후 outputAudioFormatDescription 값이 존재한다면( 참고 : didOutputSampleBuffer 에서 할당 해줬음) IDAssetWriterCoordinator  클래스의 addAudioTrackWithSourceFormatDescription 메소드에

오디오(비디오) 관련 CMFormatDescriptionRef(output), NSDictionary셋팅값을 변수에 셋팅을 해준다.

6.그후 IDAssetWriterCoordinator 객체에 callback queue 와 setDelegate 를 해준다. (Self = IDCaptureSessionAssetWriterCoordinator)

7.assetWriterCoordinator 객체에 녹화준비를 위한 메소드를 호출한다. (prepareToRecord)

8.IDAssetWriterCoordinator클래스의 prepareToRecord 메소드에서 transitionToStatus 메소드에 1을 넣어준다.

—중간중간 IDCaptureSessionAssetWriterCoordinator 클래스의 didOutputSampleBuffer 메소드 호출(아직 쓸수없는 상황)—

9.IDAssetWriterCoordinator클래스에서 AssetWriter 초기화 시켜준다.(url 이용)

10.setupAssetWriterVideoInputWithSourceFormatDescription 메소드를 이용해서 AVAssetWriter가 [비디오 셋팅값]을 지원한다면 AVAssetWriterInput 에 [비디오 셋팅]과 [비디오 포멧 설명]을 넣고 초기화, 생성 해준다 그리고 AVAssetWriter 에 AVAssetWriterInput을 넣어준다.

11.setupAssetWriterAudioInputWithSourceFormatDescription 메소드를 이용해서 assetWriter 가 [오디오 셋팅]을 지원하는지 확인 후 , assetWriter 에 [오디오 인풋] 삽입한다.

12.AVAssetWriter 시작! [assetWriter startWriting]

13. transitionToStatus 에 2를 넘겨준다.

14.델리게이트 메소드인 writerCoordinatorDidFinishPreparing를 호출하고 거기서 transitionToRecordingStatus에 2를 넣고 호출 해준다.  // oldStatus : 1, newStatus: 2

15.그럼 transitionToRecordingStatus메소드에서 coordinatorDidBeginRecording 메소드를 이용해서 비활성화 되었던 정지버튼을 활성화 시켜준다!! (여기까지가 쓰기 준비!!)

16.그후 IDCaptureSessionAssetWriterCoordinator클래스에서  [_assetWriterCoordinator appendVideoSampleBuffer:sampleBuffer];를 호출

17.IDAssetWriterCoordinator클래스에서 AVAssetWriterInput(비디오, 오디오) 객체 초기화 한뒤, 이 인풋에 샘플 버퍼를 넣어준다. [input appendSampleBuffer:sampleBuffer];

(계속 반복……정지 버튼 누르기 전까지)

 

#.로그

[카메라 실행!]

IDCaptureSessionPipelineViewController setupWithPipelineMode IDCaptureSessionAssetWriterCoordinator 객체 생성시작!

2019-04-17 13:51:38.958716+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionCoordinator init 진입

2019-04-17 13:51:38.958762+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionCoordinator setupCaptureSession 진입 

2019-04-17 13:51:38.962791+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionCoordinator addDefaultCameraInputToCaptureSession 진입

2019-04-17 13:51:38.965839+0900 AssertWriterVideoRecorderNew[697:119055] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles

2019-04-17 13:51:38.966153+0900 AssertWriterVideoRecorderNew[697:119055] [MC] Reading from public effective user settings.

2019-04-17 13:51:38.975087+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionCoordinator addInput toCaptureSession 진입

2019-04-17 13:51:38.977239+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionCoordinator addInput toCaptureSession - 세션에 캡쳐디바이스인풋 들어갔어요!

2019-04-17 13:51:38.977288+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionCoordinator addDefaultMicInputToCaptureSession 진입

2019-04-17 13:51:38.991662+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionCoordinator addInput toCaptureSession 진입

2019-04-17 13:51:38.993057+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionCoordinator addInput toCaptureSession - 세션에 캡쳐디바이스인풋 들어갔어요!

2019-04-17 13:51:38.993111+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionAssetWriterCoordinator - init 진입

2019-04-17 13:51:38.993158+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionAssetWriterCoordinator - addDataOutputsToCaptureSession 진입 : 비디오, 오디오 아웃풋 객체 생성 + 설정

2019-04-17 13:51:38.993419+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionCoordinator addOutput  toCaptureSession 진입

2019-04-17 13:51:38.994996+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionCoordinator addOutput  toCaptureSession 진입

2019-04-17 13:51:38.995910+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionAssetWriterCoordinator - setCompressionSettings 진입 :

2019-04-17 13:51:38.996646+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionCoordinator setDelegate 진입 - 전역변수에 IDCaptureSessionCoordinatorDelegate 할당, delegateCallbackQueue 할당

2019-04-17 13:51:38.996694+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionPipelineViewController - configureInterface 호출 -  AVCaptureVideoPreviewLayer 객체 생성

2019-04-17 13:51:38.996711+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionCoordinator previewLayer 캡쳐 세션 넣어줌 초기화

2019-04-17 13:51:38.998285+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionCoordinator startRunning 진입 - dispatch_sync(세션큐, 캡쳐쎄션 스타트러닝!)

2019-04-17 13:51:39.192085+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:39.192150+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  videoConnection

2019-04-17 13:51:39.192170+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : outputVideoFormatDescription == nil

2019-04-17 13:51:39.192198+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - setupVideoPipelineWithInputFormatDescription 진입 :

2019-04-17 13:51:39.230852+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:39.236021+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  audioConnection

2019-04-17 13:51:39.236830+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:39.236855+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  videoConnection

2019-04-17 13:51:39.236869+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : outputVideoFormatDescription != nil

2019-04-17 13:51:39.238669+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:39.238712+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  audioConnection

2019-04-17 13:51:39.247593+0900 AssertWriterVideoRecorderNew[697:119073] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:39.247652+0900 AssertWriterVideoRecorderNew[697:119073] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  videoConnection

2019-04-17 13:51:39.247666+0900 AssertWriterVideoRecorderNew[697:119073] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : outputVideoFormatDescription != nil

 

[녹화 버튼 클릭!]

 

2019-04-17 13:51:41.199519+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionPipelineViewController - toggleRecording 버튼

2019-04-17 13:51:41.202423+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionAssetWriterCoordinator - startRecording 진입 : _recordingStatus : 0 , RecordingStatusIdle : 0

2019-04-17 13:51:41.202525+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionAssetWriterCoordinator - transitionToRecordingStatus 진입 : oldStatus : 0 , newStatus : 1

2019-04-17 13:51:41.203757+0900 AssertWriterVideoRecorderNew[697:119055] IDAssetWriterCoordinator - initWithURL 진입

2019-04-17 13:51:41.203879+0900 AssertWriterVideoRecorderNew[697:119055] IDAssetWriterCoordinator - addAudioTrackWithSourceFormatDescription 진입

2019-04-17 13:51:41.203994+0900 AssertWriterVideoRecorderNew[697:119055] IDAssetWriterCoordinator - addVideoTrackWithSourceFormatDescription 진입

2019-04-17 13:51:41.204057+0900 AssertWriterVideoRecorderNew[697:119055] IDAssetWriterCoordinator - setDelegate <IDAssetWriterCoordinatorDelegate> 진입

2019-04-17 13:51:41.204103+0900 AssertWriterVideoRecorderNew[697:119055] IDAssetWriterCoordinator - setDelegate 진입

2019-04-17 13:51:41.204151+0900 AssertWriterVideoRecorderNew[697:119055] IDAssetWriterCoordinator - prepareToRecord 진입

2019-04-17 13:51:41.204196+0900 AssertWriterVideoRecorderNew[697:119055] IDAssetWriterCoordinator - transitionToStatus 진입

2019-04-17 13:51:41.210955+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:41.211035+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  audioConnection

2019-04-17 13:51:41.217960+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:41.218091+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  videoConnection

2019-04-17 13:51:41.218175+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : outputVideoFormatDescription != nil

2019-04-17 13:51:41.228418+0900 AssertWriterVideoRecorderNew[697:119069] IDAssetWriterCoordinator - setupAssetWriterVideoInputWithSourceFormatDescription 진입

2019-04-17 13:51:41.231649+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:41.231708+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  audioConnection

2019-04-17 13:51:41.248734+0900 AssertWriterVideoRecorderNew[697:119069] IDAssetWriterCoordinator - setupAssetWriterAudioInputWithSourceFormatDescription 진입

2019-04-17 13:51:41.249014+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:41.249074+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  videoConnection

2019-04-17 13:51:41.249095+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : outputVideoFormatDescription != nil

2019-04-17 13:51:41.255088+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:41.255149+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  audioConnection

2019-04-17 13:51:41.278486+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:41.278900+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  audioConnection

2019-04-17 13:51:41.297037+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:41.297126+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  videoConnection

2019-04-17 13:51:41.297158+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : outputVideoFormatDescription != nil

2019-04-17 13:51:41.315903+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:41.315981+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  audioConnection

2019-04-17 13:51:41.317641+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:41.317694+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  videoConnection

2019-04-17 13:51:41.317750+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : outputVideoFormatDescription != nil

2019-04-17 13:51:41.337010+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:41.337086+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  audioConnection

2019-04-17 13:51:41.360373+0900 AssertWriterVideoRecorderNew[697:119073] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:41.360462+0900 AssertWriterVideoRecorderNew[697:119073] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  videoConnection

2019-04-17 13:51:41.360490+0900 AssertWriterVideoRecorderNew[697:119073] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : outputVideoFormatDescription != nil

2019-04-17 13:51:41.361846+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:41.361914+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  audioConnection

2019-04-17 13:51:41.371072+0900 AssertWriterVideoRecorderNew[697:119073] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:41.371145+0900 AssertWriterVideoRecorderNew[697:119073] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  audioConnection

2019-04-17 13:51:41.380267+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:41.380426+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  videoConnection

2019-04-17 13:51:41.380448+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : outputVideoFormatDescription != nil

2019-04-17 13:51:41.385946+0900 AssertWriterVideoRecorderNew[697:119069] IDAssetWriterCoordinator - transitionToStatus 진입

2019-04-17 13:51:41.386317+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator -  writerCoordinatorDidFinishPreparing 진입 :

2019-04-17 13:51:41.386380+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - transitionToRecordingStatus 진입 : oldStatus : 1 , newStatus : 2

2019-04-17 13:51:41.386578+0900 AssertWriterVideoRecorderNew[697:119055] IDCaptureSessionPipelineViewController coordinatorDidBeginRecording 호출

!!!!!!!- <본격적으로 쓰기에 버퍼 넣기 시작> !!!!!!!!

2019-04-17 13:51:41.394184+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:41.394251+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  audioConnection

2019-04-17 13:51:41.394326+0900 AssertWriterVideoRecorderNew[697:119069] IDAssetWriterCoordinator - appendAudioSampleBuffer 진입

2019-04-17 13:51:41.394365+0900 AssertWriterVideoRecorderNew[697:119069] IDAssetWriterCoordinator - appendSampleBuffer 진입

2019-04-17 13:51:41.394609+0900 AssertWriterVideoRecorderNew[697:119069] input 준비하고 데이터 버퍼 더하기

 

2019-04-17 13:51:41.412497+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:41.412649+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  videoConnection

2019-04-17 13:51:41.412677+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : outputVideoFormatDescription != nil

2019-04-17 13:51:41.412720+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - [_assetWriterCoordinator append비디오SampleBuffer:sampleBuffer]  호출 :

2019-04-17 13:51:41.412764+0900 AssertWriterVideoRecorderNew[697:119069] IDAssetWriterCoordinator - appendVideoSampleBuffer 진입

2019-04-17 13:51:41.412789+0900 AssertWriterVideoRecorderNew[697:119069] IDAssetWriterCoordinator - appendSampleBuffer 진입

2019-04-17 13:51:41.412881+0900 AssertWriterVideoRecorderNew[697:119069] !self->_haveStartedSession && mediaType == AVMediaTypeVideo

2019-04-17 13:51:41.413553+0900 AssertWriterVideoRecorderNew[697:119069] input 준비하고 데이터 버퍼 더하기

 

2019-04-17 13:51:41.417366+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:41.417422+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  audioConnection

2019-04-17 13:51:41.417450+0900 AssertWriterVideoRecorderNew[697:119069] IDAssetWriterCoordinator - appendAudioSampleBuffer 진입

2019-04-17 13:51:41.417474+0900 AssertWriterVideoRecorderNew[697:119069] IDAssetWriterCoordinator - appendSampleBuffer 진입

2019-04-17 13:51:41.417550+0900 AssertWriterVideoRecorderNew[697:119069] input 준비하고 데이터 버퍼 더하기

 

2019-04-17 13:51:41.443026+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:41.443116+0900 AssertWriterVideoRecorderNew[697:119071] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  audioConnection

2019-04-17 13:51:41.443155+0900 AssertWriterVideoRecorderNew[697:119071] IDAssetWriterCoordinator - appendAudioSampleBuffer 진입

2019-04-17 13:51:41.443186+0900 AssertWriterVideoRecorderNew[697:119071] IDAssetWriterCoordinator - appendSampleBuffer 진입

2019-04-17 13:51:41.443296+0900 AssertWriterVideoRecorderNew[697:119071] input 준비하고 데이터 버퍼 더하기

 

2019-04-17 13:51:41.448048+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:41.448116+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  videoConnection

2019-04-17 13:51:41.448142+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : outputVideoFormatDescription != nil

2019-04-17 13:51:41.448177+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - [_assetWriterCoordinator append비디오SampleBuffer:sampleBuffer]  호출 :

2019-04-17 13:51:41.448225+0900 AssertWriterVideoRecorderNew[697:119069] IDAssetWriterCoordinator - appendVideoSampleBuffer 진입

2019-04-17 13:51:41.448264+0900 AssertWriterVideoRecorderNew[697:119069] IDAssetWriterCoordinator - appendSampleBuffer 진입

2019-04-17 13:51:41.448365+0900 AssertWriterVideoRecorderNew[697:119069] input 준비하고 데이터 버퍼 더하기

 

2019-04-17 13:51:41.464489+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer 진입 :

2019-04-17 13:51:41.464578+0900 AssertWriterVideoRecorderNew[697:119069] IDCaptureSessionAssetWriterCoordinator - didOutputSampleBuffer : connection =  audioConnection

2019-04-17 13:51:41.464600+0900 AssertWriterVideoRecorderNew[697:119069] IDAssetWriterCoordinator - appendAudioSampleBuffer 진입

2019-04-17 13:51:41.464616+0900 AssertWriterVideoRecorderNew[697:119069] IDAssetWriterCoordinator - appendSampleBuffer 진입

2019-04-17 13:51:41.464692+0900 AssertWriterVideoRecorderNew[697:119069] input 준비하고 데이터 버퍼 더하기

 

파일다운로드

AssertWriterVideoRecorderNew2.zip
0.10MB

+ Recent posts