2012-11-22 19 views
12

2つ以上のビデオファイルをマージしたい(2つのmp4または2つの3gp、または他の形式)。Androidで2つ以上の動画ファイルを連結またはマージする方法はありますか?

+2

ffmpegのは、ビデオ変換とものではありませんを扱う素晴らしいライブラリです。 http://code.google.com/p/jjmpeg/ – appnus

+0

FileInputSreamを使用してファイルを取得し、次にSequenceInputStream(stream1、stream2)を使用して2つのファイルを結合しましたが、これは適切ではないと思いますヒープサイズが16MBを超えているとメモリリークの問題も起こります。 – Mahesh

答えて

14

最も一般的なツールはffmpegです(前述の@Jeremyのように)が、モバイルハンドセットで使用するにはいくつかの作業が必要です。 LGPLライセンスを受けており、そのエンコーダの一部(特にx264)はGPLです。

連結したいファイルが両方とも同様のエンコーディングを使用していて、MP4(3GPなど)から派生したファイル形式に含まれている場合は、pure javaのMP4パーサーを使用して、メディアストリームそのもの。 mp4parserを見てください。オープンソースのパーサであり、純粋なJavaであり、Apacheライセンスの下でライセンスされ、そのウィキにexample for concatenating videosを持っています。あなたは携帯電話用のINDEメディアを試すことができます

+0

クールで、mp4パーサは2つのファイルで動作しますが、2つ以上のファイルに対して正しく動作しません。ビデオは正しくマージされません。それは同時に2つ以上のファイルのために働いていますか? – Mahesh

+0

@Maheshは2つのファイルをマージし、次にマージしたファイルを次のようにマージします。 – Cheesebaron

+0

@Cheesebaronこれはあなたが言っていることは可能ですか? –

5

、チュートリアルはここにある:https://software.intel.com/en-us/articles/intel-inde-media-pack-for-android-tutorials

これは、トランスコーディングの\ remuxingのMediaComposerクラスの機能とファイル\ファイルセグメントに参加する可能性があります。 MediaCodec APIを使用しているので、エンコーディングはGPU上で行われるので、バッテリーが非常に使いやすく、できるだけ早く動作します。

サンプルの参加を有効にする方法を示すコードやその他の機能は、githubの上にある:https://github.com/INDExOS/media-for-mobile

enter image description here enter image description here enter image description here

関連する問題