2016-08-10 19 views
0

Ich schreibe eine einfache Anwendung, die die gegebenen mp4 und mp3 Dateien muxing und extrahiert mp4 Datei als Ergebnis.FFMpeg nicht Audio und Video muxen

fFmpeg = FFmpeg.getInstance(this); 
cmd = new String[] {"-i", videoPath, "-i", audioPath, Environment.getExternalStorageDirectory() + "/output.mp4"}; 
       fFmpeg.execute(cmd, new ExecuteBinaryResponseHandler() { 
        @Override 
        public void onStart() { 
         super.onStart(); 
         Log.e(TAG, "Started"); 
        } 

        @Override 
        public void onFailure(String message) { 
         super.onFailure(message); 
         Log.e(TAG, "failed: " + message); 
        } 

        @Override 
        public void onProgress(String message) { 
         super.onProgress(message); 
         Log.e(TAG, "progress: "+ message); 
        } 

        @Override 
        public void onFinish() { 
         super.onFinish(); 
         Log.e(TAG, "finish"); 
        } 

        @Override 
        public void onSuccess(String message) { 
         super.onSuccess(message); 
         Log.e(TAG, "success: " + message); 
        } 
       }); 

Wo videoPath und audioPath sind Pfade zu Video und Audio, zum Beispiel Speicher/emulierten/0/source.mp4. Aber ich bekomme nur eine Kopie der Videodatei ohne meine angehängte Audiodatei. Was ist mein Fehler?

Antwort

1

Wenn Ihr MP4 bereits Audio enthält, wird die MP3 möglicherweise nicht gemuxed. Um es zu erzwingen, verwenden

ffmpeg -i video -i audio -map 0:v -map 1:a output.mp4 
+0

Auch einige Spieler, wie Quicktime und WMP, Probleme haben, einige MP3 in MP4 spielen, so kann es sein, am besten neu codieren zu AAC ('-c: a aac') . – LordNeckbeard

+0

[NULL @ 0xb81d5140] Es konnte kein geeignetes Ausgabeformat für '-map 0 gefunden werden: v -map 1: a' -map 0: v -map 1: a: Ungültiges Argument –

+0

Sie scheinen ein sehr altes zu verwenden Ausführung. Aktualisierung. – Mulvya

Verwandte Themen