iPhone SDK. ist es möglich, Videos in AVplayer mit AVURLlAsset / AVMutableComposition zu drehen?

8

Ich habe eine einfache Videobearbeitungsansicht, die AVPlayer verwendet. Ich erstelle eine AVMutableComposition mit einem oder mehreren AVURLAsset. Alles funktioniert gut, aber die Videos sind immer um 90 Grad gedreht. wenn das Quellvideo im Hochformat aufgenommen wurde. AVPlayer zeigt es im Querformat und umgekehrt. Ich bin durch die Dokumentation gegangen und habe sie zu Tode gefoltert und kann keine Lösung finden. Vielleicht schaue ich an die falschen Stellen.

Kann jemand helfen?

Vielen Dank im Voraus;

Jean-Pierre

    
Jean-Pierre Semery 01.03.2011, 16:43
quelle

2 Antworten

3

zu meinem Verständnis haben Sie einige Orientierungsprobleme wie Portrait-Video ist im Querformat und manchmal Videos sind auf den Kopf gestellt. Dies ist aufgrund der Standard-AVAsset Ausrichtung. Bei allen Film- und Bilddateien, die mit der Standardanwendung für die iPhone-Kamera aufgenommen wurden, ist der Videobildrahmen auf Querformat eingestellt, sodass das Medium im Querformat gespeichert wird. AVAsset verfügt über eine preferredTransform -Eigenschaft, die Informationen zur Medienausrichtung enthält. Diese wird auf eine Mediendatei angewendet, wenn Sie sie mithilfe der Fotos App oder QuickTime anzeigen. Sie können dies leicht korrigieren, indem Sie die erforderlichen Transformationen auf Ihre AVAsset-Objekte anwenden. Da Ihre beiden Videodateien jedoch unterschiedliche Ausrichtungen haben können, müssen Sie zwei separate AVMutableCompositionTrack-Instanzen anstelle eines (wie Sie ursprünglich angenommen haben) verwenden. Erstellen Sie zwei AVMutableCompositionTrack-Videotracks Da Sie nun zwei separate AVMutableCompositionTrack-Instanzen haben, müssen Sie eine AVMutableVideoCompositionLayerInstruction auf jede Spur anwenden, um die Ausrichtung zu korrigieren. Fügen Sie den folgenden Code hinzu

%Vor%

schließlich fügen Sie Anweisungen hinzu, es ist nur der Orientierungsfix für die zweite Spur.

%Vor%

hoffe das hilft

    
carelesslyChoosy 15.05.2013 06:23
quelle
1

Ohne den zu untersuchenden Code ist es schwierig zu wissen, was passiert ... Aber höchstwahrscheinlich wird Ihr Problem verursacht, weil Sie den Wert Ihrer Eigenschaft preferredTransform verlieren.

Alle AVAssetTrack -Objekte haben eine preferredTransform -Eigenschaft, mit der angegeben wird, ob Videos gedreht werden sollen oder nicht. Wenn Sie neue AVMutableAssetTrack -Objekte erstellen, müssen Sie möglicherweise den Wert dieser Eigenschaft festlegen, damit das Video in der beabsichtigten Ausrichtung bleibt.

    
flainez 08.10.2012 10:19
quelle