2016-08-10 25 views
0

私は与えられたmp4とmp3ファイルを多重化し、その結果としてmp4ファイルを抽出している単純なアプリケーションを書いています。FFMpegはオーディオとビデオを多重化しません

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); 
        } 
       }); 

ここで、videoPathとaudioPathはビデオとオーディオのパスです(例:storage/emulated/0/source.mp4)。しかし私はオーディオファイルが添付されていないビデオファイルのコピーを取得するだけです。私の間違いは何ですか?

答えて

1

あなたのMP4に既にオーディオが含まれている場合、MP3は多重化されないことがあります。それはAACに再エンコード(:aac` `-c)に最良のかもしれので、それを強制、また

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

を使用するには、そのようなQuickTimeやWMPなどの一部の選手は、トラブルMP4にいくつかのMP3を再生するを持っています。 – LordNeckbeard

+0

[NULL @ 0xb81d5140] '-map 0:v -map 1:a'の適切な出力形式を見つけることができません -map 0:v -map 1:a:無効な引数 –

+0

あなたは非常に古いものを使用しているようですバージョン。アップグレード。 – Mulvya

関連する問題