2016-10-10 2 views
0

Ich habe einen Video-Player. In diesem Projekt komponiere ich Videos und Bilder zu einem einzigen Video und kartiere jedes Objekt in einer einzigen Video-Timeline. Ich will einen Cross-Fade-Effekt Übergang zwischen Bild-Video oder Video-Video, aber die Sache ist, ich will nicht AVAssetExportSession verwenden, da komponieren Videos sind ca. 2-3 Stunden viele Gigabyte verursachen können die Benutzer nicht in ihren Geräten haben.Crossfade-Effekt ohne AVAssetExportSession

Ich suchte nach einigen Beispielen wie in Apple documentation, aber das verwendet auch AVAssetExportSession. Irgendeine Idee, wie ich Cross-Fade-Effekt-Problem in Echtzeit lösen kann, ohne das zusammengesetzte Video zu exportieren?

Antwort

0

Sie müssen ein AVMutableComposition, AVMutableVideoComposition und AVMutableAudioMix erstellen, wie es in der Dokumentation für den Export diskutiert werden sollte.

Von diesen Objekten können Sie ein AVPlayerItem erstellen:

AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:composition]; 
[playerItem setVideoComposition:videoComposition]; 
[playerItem setAudioMix:audioMix]; 

EDIT Bitte auf diesen Beispielcode siehe hier: AVCompositionDebugViewer

+0

, wie diese über Cross-Fading-Effekt helfen? – birdcage

+0

Ist Ihr Problem das Überblenden selbst? Es klingt wie Sie nur Mühe, es in einen Spieler haben würden ... –

+0

ja seinen nur über Cross-Fading-Effekt. – birdcage

Verwandte Themen