2016-06-30 19 views
0

humble-videoRecordAndEncodeVideo.javaを使用して動画を作成しています。Javaの新しいビデオファイルで2つのビデオを連結/マージする方法は?

私は最初に録画されたビデオと2番目のビデオを結合したい、同じフレームレートと解像度の事前に格納されたビデオは私のsystemです。制限のため、私は謙虚なビデオapisをjavaで使用してこれを行いたいと思います。誰かがそれを使用している場合は、私にそれを行う方法をご案内ください。

public static void combineVideo() throws InterruptedException, IOException { 
    final Demuxer demuxer = Demuxer.make(); 
    demuxer.open("a.mp4", null, false, true, null, null); 
    final Muxer muxer = Muxer.make("b.mp4", null, null); 
    final MuxerFormat format = muxer.getFormat(); 
    final MediaPacket packet = MediaPacket.make(); 
    muxer.open(null, null); 
    while (demuxer.read(packet) >= 0) { 
     muxer.write(packet, false); 
    } 
    muxer.close(); 
    demuxer.close(); 
} 

更新

私は2つのビデオファイルを連結して、新しいビデオファイルとして保存する:ここ

私が試したコードです。私はこれが利用できないリソースやライブラリへの回答のリンクのe.g-

  1. how-to-concat-or-merge-two-or-more-video-files-in-android
  2. merge-multiple-video-file-in-a-file

しかし、ほとんどの以前の質問に頼まれていた知っています。誰も私をいくつかのリソースに導くことはできますか?すべてのコードスニペットが役立ちます。

+0

これまでに何を試しましたか?あなたのためにこのプロジェクトをやりたいと思う人はいません。彼らはたぶんあなたがこれまでに試したことであなたを助けるでしょう。 –

+0

@Jimenemex質問を参照してください、私はそれを更新しましたか? – Mavie

答えて

1

ほとんどのコーデックも連結をサポートしていません。ビットストリームを連結するのには役立ちません。

ただし、コーデックのプロパティが同じであることが確かな場合、コンテナ形式によっては連結がサポートされていることがあります。 MPEG-TSはこれらの1つです。再エンコードせずにトランスポートストリームにビデオをコピーし、通常のファイル操作を使用してトランスポートストリームを連結することができます。

+0

他のライブラリを使って、2つのビデオを1つのビデオにまとめてください。 – Mavie

+0

私が言ったように、それをトランスポートストリームに変換し、トランスポートストリームを連結します。 –

関連する問題