2013-02-19 15 views
5

Androidでmp4parserを使用して、mp4オーディオファイルをmp4ビデオファイルにオーバーレイする方法を知っている人がいるかどうかは分かりませんでした。私は別のビデオと1つのビデオを追加することができましたが、今では、結合したファイルよりも生のmp4をオーバーレイする必要があります。Androidでmp4parserを使用してMp4を結合する

助けていただけたら幸いです!

答えて

4

次のコードは、2つのオーディオ言語とビデオをmuxします。あなたのニーズにそれを採用するのは簡単でなければなりません..任意のヘルプをこのコードを使用するときに

public static void main(String[] args) throws IOException { 

    String audioDeutsch = MuxMp4SourcesExample.class.getProtectionDomain().getCodeSource().getLocation().getFile() + "/count-deutsch-audio.mp4"; 
    String audioEnglish = MuxMp4SourcesExample.class.getProtectionDomain().getCodeSource().getLocation().getFile() + "/count-english-audio.mp4"; 
    String video = MuxMp4SourcesExample.class.getProtectionDomain().getCodeSource().getLocation().getFile() + "/count-video.mp4"; 


    Movie countVideo = MovieCreator.build(new FileInputStream(video).getChannel()); 
    Movie countAudioDeutsch = MovieCreator.build(new FileInputStream(audioDeutsch).getChannel()); 
    Movie countAudioEnglish = MovieCreator.build(new FileInputStream(audioEnglish).getChannel()); 

    Track audioTrackDeutsch = countAudioDeutsch.getTracks().get(0); 
    audioTrackDeutsch.getTrackMetaData().setLanguage("deu"); 
    Track audioTrackEnglish = countAudioEnglish.getTracks().get(0); 
    audioTrackEnglish.getTrackMetaData().setLanguage("eng"); 

    countVideo.addTrack(audioTrackDeutsch); 
    countVideo.addTrack(audioTrackEnglish); 

    Container out = new DefaultMp4Builder().build(countVideo); 
    FileOutputStream fos = new FileOutputStream(new File("output.mp4")); 
    out.writeContainer(fos.getChannel()); 
    fos.close(); 

} 
+0

音声が上書きされています? –

+1

@Sebastianオーディオトラックが順番に追加されます。とにかく、私は2つのオーディオトラックを追加することができますし、彼らは同時に、明らかにビデオを実行する必要があります。私はビデオと音声オーディオとバックグラウンドミュージックを持っているとしましょう。今私はビデオと同時に、これらの2つのオーディオを平行して走らせたいと思っています。私たちがこれを達成する方法を手助けすることができますか? – ROCKY

+0

上記のコードでは、最初のオーディオトラックが追加されたビデオがミックスされます。私は、ビデオファイルと平行に2つのオーディオトラックを再生したい。誰でも助けてくれます –

関連する問題