2017-09-13 11 views
0

なぜAVAssetのトラックは、同じビデオファイルに対して異なるtimeRangesを持っていますか?なぜAVAssetトラックは同じビデオファイルに対してtimeRangeが異なるのですか?

AVAssetにメディアファイルを完全にロードしました。このクラスのトラックプロパティを出力し、この情報を受け取ります。

▿ 2 elements 
    - 0 : <AVAssetTrack: 0x17000fed0, trackID = 1, mediaType = vide> 
    - 1 : <AVAssetTrack: 0x17000fe90, trackID = 2, mediaType = soun> 

私は同じメディアファイルの1つのビデオと1つのサウンドAVAssetTrackを持っています。

したがって、それぞれAVAssetTrackのtimeRangeを出力します。

▿ CMTimeRange 
    ▿ start : CMTime 
    - value : 0 
    - timescale : 1000 
    ▿ flags : CMTimeFlags 
     - rawValue : 1 
    - epoch : 0 
    ▿ duration : CMTime 
    - value : 5000 
    - timescale : 1000 
    ▿ flags : CMTimeFlags 
     - rawValue : 1 
    - epoch : 0 

とサウンドのために:ビデオのためにそう

▿ CMTimeRange 
    ▿ start : CMTime 
    - value : 0 
    - timescale : 1000 
    ▿ flags : CMTimeFlags 
     - rawValue : 1 
    - epoch : 0 
    ▿ duration : CMTime 
    - value : 5002 
    - timescale : 1000 
    ▿ flags : CMTimeFlags 
     - rawValue : 1 
    - epoch : 0 

なぜ、音の長さがビデオよりも長いのですか?AVAssetTrackそれは同じビデオファイル用です。

答えて

0

ファイルはどこから来ますか?オーディオトラックとビデオトラックを別々に編集した後、コンポジション内でマージしたユーザーによって作成された可能性があります。ファイルを編集するとき、彼はこの小さな違いを作り出しました。一般的に、AVMutableCompositionを介して、あなたが望む資産をマージすることができます。時間範囲は同じである必要はありません。だから私はあなたの発見を得るために驚くことはありません。

関連する問題