___ answer45013962 ___
eine viel bessere Lösung, um das Vielfache von 16 zu bekommen, wäre dieser Ansatz:
%Vor%
oder
%Vor%
je nachdem, ob Sie eine kleinere oder größere Breite bevorzugen
___ qstnhdr ___ AVAssetExportSession gibt mir einen grünen Rahmen rechts und unten im Ausgabevideo
___ answer23129203 ___
Normalerweise erscheinen nach dem Beschneiden des Videos grüne Linien, das Problem liegt in der Breite der Video-Rendergröße, sie sollte mit 16 multipliziert werden.
Hier einige Links dazu:
Apfel 1
apple 2
___ tag123ios ___ iOS ist das mobile Betriebssystem, das auf dem Apple iPhone, iPod touch und iPad ausgeführt wird. Verwenden Sie dieses Tag [ios] für Fragen zur Programmierung auf der iOS-Plattform. Verwenden Sie die verwandten Tags [objective-c] und [swift] für Probleme, die für diese Programmiersprachen spezifisch sind.
___ tag123avfoundation ___ Das AVFoundation-Framework bietet Objective-C- und Swift-Schnittstellen zum Bearbeiten und Abspielen von audiovisuellen Medien in einer Mac OSX- oder iOS-Anwendung. Fragen, die dieses Framework verwenden, sollten dieses Tag enthalten.
___ answer30734715 ___
Um die richtige Auflösung zu erhalten, versuchen Sie es so ... inkrementieren Sie es bis zur nächsten Zahl, die durch 16 geteilt werden kann:
%Vor%
___ qstntxt ___
Hier ist der Code:
%Vor%
Ich habe verschiedene Qualitätseinstellungen ausprobiert. Ich bekomme immer einen 1-2-Pixel-Rahmen, der auf der rechten Seite des Videos und entlang der Unterseite verläuft, egal, welches Video ich rendern möchte. Was könnte das verursachen und wie repariere ich es?
EDIT: Ich benutze keine grüne Farbe irgendwo, also muss das irgendwie aus dem Framework kommen.
___ answer38178233 ___
Dies hat die Magie für mich (iOS9, Swift 3, iPhone 6):
Basiert auf:
Ссылка
Ändern von mainComposition.renderSize zu:
%Vor%
wobei mainCompositionWidth , mainCompositionHeight CGFloat sind und wie folgt berechnet werden:
%Vor%
Ändern Sie auch scaleFitRatio in der Funktion videoCompositionInstructionForTrack wie folgt:
%Vor%
Dadurch verschwand die untere grüne Linie und das Video füllt den Bildschirm.
___ tag123avassexportsession ___ Ein AVAssetExportSession-Objekt transcodiert den Inhalt eines AVAsset-Quellobjekts, um eine Ausgabe des von einer angegebenen Exportvorgabe beschriebenen Formulars zu erstellen.
___ tag123avmutablecomposition ___ AVMutableComposition ist eine veränderbare Unterklasse von AVComposition, die Sie verwenden, wenn Sie eine neue Komposition aus vorhandenen Assets erstellen möchten. Sie können Titel hinzufügen und entfernen und Zeitbereiche hinzufügen, entfernen und skalieren.
___ tag123avasset ___ AVAsset ist eine abstrakte Klasse zur Darstellung zeitgesteuerter audiovisueller Medien wie Videos und Sounds. Jedes Asset enthält eine Sammlung von Titeln, die zusammen präsentiert oder verarbeitet werden sollen, jeweils mit einem einheitlichen Medientyp, einschließlich, aber nicht beschränkt auf Audio, Video, Text, Untertiteln und Untertiteln.
___ answer22885172 ___
Stellt sich heraus, dass die Breite der Rendergröße von AVMutableVideoComposition keine gerade Zahl ist, erhalten Sie die geheimnisvollen grünen Grenzen. Gute Zeiten.
___