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

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 folgteDie Tutorial zum Einstellen des UIImagePicker-Medientyps auf das FilmformatimagePicker.mediaTypes = [kUTTypeMovie as String]

DasUIImagePickerController ist perfekt für meine Anforderung und das einzige, was ich ändern muss, ist das Speicherformat auf mp4. Ich habe es versuchtkUTTypeMPEG4 immediaTypes aber es wird ein Fehler zur Laufzeit ohne Fehlerbeschreibung ausgegeben.

Dies ist meine Videoaufnahmefunktion

func startCameraFromViewController() {

        if UIImagePickerController.isSourceTypeAvailable(.Camera) == false {
            return
        }
        viewBlack.hidden = false
        presentViewController(cameraController, animated: false, completion: nil)

        cameraController.sourceType = .Camera

        cameraController.mediaTypes = [kUTTypeMovie as String]
        //cameraController.mediaTypes = [kUTTypeMPEG4 as String]
        cameraController.cameraCaptureMode = .Video
        cameraController.videoQuality = .TypeMedium
        if(getPurchaseId() as! Int == 0)
        {
            if(txtBenchMark.text?.isEmpty == false)
            {
                cameraController.videoMaximumDuration = NSTimeInterval(300.0)
            }else{
                cameraController.videoMaximumDuration = NSTimeInterval(60.0)
            }
        }else{
            cameraController.videoMaximumDuration = NSTimeInterval(600.0)
        }
        cameraController.allowsEditing = false
    }

Ich benutze Swift 2.2 und Xcode 8 mitUse Legacy swift Language version = Yes

Alle alternativen Lösungen werden ebenfalls geschätzt. Danke im Voraus

EDIT: Ich habe herausgefunden, dass es keine Methode gibt, um Videos im mp4-Format in Swift direkt aufzunehmen. kann nur vom Quicktime-MOV-Format von Apple in das erforderliche Format konvertiert werden.

Antworten auf die Frage(10)

Ihre Antwort auf die Frage