Swift - Wie kann ich Videos im MP4-Format mit UIImagePickerController aufnehmen?

8

Ich erstelle eine App, in der ich Videos aufnehmen und auf einen Server hochladen muss. Jetzt hat mein Projekt auch eine Android-Version. Um die Android-Version zu unterstützen, muss ich die Videos im MP4-Format aufnehmen. Ich folgte dem Tutorial , um den UIImagePicker-Medientyp auf Filmformat zu setzen imagePicker.mediaTypes = [kUTTypeMovie as String]

Das UIImagePickerController ist perfekt für meine Anforderung und das einzige, was ich ändern muss, ist das Speichern von mp4. Ich habe kUTTypeMPEG4 in mediaTypes ausprobiert, aber es wirft einen Fehler zur Laufzeit ohne Fehlerbeschreibung.

Dies ist meine Video Capture-Funktion

%Vor%

Ich verwende Swift 2.2 und Xcode 8 mit Use Legacy swift Language version = Yes

Jede alternative Lösung wird ebenfalls geschätzt. Vielen Dank im Voraus.

BEARBEITEN: Ich habe herausgefunden, dass es keine Methode gibt, Videos im MP4-Format in Swift aufzunehmen. Nur kann aus dem quicktime mov-Format von Apple in das gewünschte Format konvertiert werden.

    
Kautham Murugan 01.11.2016, 05:43
quelle

3 Antworten

3

Hier ist ein Code, mit dem Sie das aufgezeichnete Video in MP4 konvertieren können:

%Vor%

Quelle: Ссылка

    
William Taylor 01.11.2016, 06:09
quelle
10

Ich habe einige Änderungen an den folgenden zwei Antworten vorgenommen, um es mit Swift3 kompatibel zu machen:
Ссылка
Ссылка

%Vor%     
Kai-jie Ke 04.05.2017 03:36
quelle
0

Unter iOS11 haben wir immer den Wert nil für AVAssetExportSession erhalten. Haben wir eine Lösung für diesen Fall?

%Vor%     
Tram Nguyen 29.09.2017 10:43
quelle