2013-11-26 2 views
4

AVAssetExport를 사용하여 자산 트랙 구성을 내보내고 있습니다. 그러나 문제는 내가 프레임 속도 모드가 일정하게 얻을 수 있습니다 다음과 같이 내보내는 비디오의 메타 데이터는 다음과 같습니다AVAssetExport는 고정 프레임 속도로 설정합니다.

비디오를
ID : 1
형식 : AVC
형식/정보 : 고급 비디오 코덱
형식 프로필 : [email protected]
포맷 설정, CABAC : 예
형식 설정, ReFrames : 2 프레임
코덱 ID는 :
코덱 ID/정보 avc1 : 고급 비디오는
코딩소요 시간 : 3 초 502ms
비트 속도 : 684 Kbps의
폭 : 480 개 픽셀
높이 : 480 개 픽셀
디스플레이 화면 비율 : 1.000
프레임 속도 모드 : 변수
프레임 속도 : 30.000 FPS
최소 프레임 속도 : 28.571 FPS
최대 프레임 율 : 30.000 FPS
색 공간 : YUV
크로마 서브 샘플링 : 4 : 2 : 0
비트 깊이가 8 비트
스캔 타입 : 프로그레시브 012 35, 비트/(픽셀 * 프레임) : 0.099
스트림 크기 : 292 킬로바이트 (90 %)
제목 : 코어 미디어 비디오
인코딩 날짜 : UTC 2013년 11월 22일 0시 27분 28초
태그 날짜 : UTC 2013년 11월 22일 0시 27분 32초
색상 예비 선거 : BT.709
전송 특성 : BT.709
매트릭스 계수 : BT.601이
내 코드가 수출에 사용되는

은 다음과 같다 :

AVAssetExportSession *session = [[AVAssetExportSession alloc] initWithAsset:mixComposition presetName:AVAssetExportPresetPassthrough]; 
session.outputURL = [NSURL fileURLWithPath:finalVideoPath]; 
session.outputFileType = AVFileTypeMPEG4; 
[session exportAsynchronouslyWithCompletionHandler:^{ 
    switch ([session status]) { 
     case AVAssetExportSessionStatusFailed: 
      LogError(@"Export failed: %@", [session error]); 
      break; 
     case AVAssetExportSessionStatusCancelled: 
      Log(@"Export canceled"); 
      break; 
     case AVAssetExportSessionStatusCompleted: 
      Log(@"Export successfully"); 
      break; 
     default: 
      Log(@"Export session status unknown"); 
      break; 
    } 
}]; 

답변

0

이것은 내보내는 자산의 프레임 지속 시간이 일정하지 않음을 의미합니다. 모두의 지속 시간이 정확히 같으면 "프레임 속도 모드"가 "상수"로 표시됩니다.

관련 문제