私は2つを持っています *.avi
ファイル:
sequence1.avi
sequence2.avi
コマンドラインまたはGUIを使用してこれらの2つのファイルをマージするにはどうすればよいですか?
これを行うための専用ツールがあります avimerge
:
avimerge -o cd.avi -i cd1.avi cd2.avi
インストールされていない場合は、トランスコードをインストールします。Avimergeはトランスコードパッケージの一部です https://manpages.debian.org/jessie/transcode/avimerge.1.en.htmlhttp:// manpages.ubuntu.com/manpages/bionic/man1/avimerge.1.html
Mencoderで簡単(Arch Linuxのmplayerに同梱):
$ mencoder -oac copy -ovc copy video1.avi video2.avi -o final.avi
Avidemux は、少なくとも同じ解像度と他のいくつかの制約がある場合、2つのビデオを貼り付けることができます。 「ファイル」メニューの「追加」を使用します。
トランスコード パッケージからaviファイルをavimerge
とマージできます:
avimerge -i file1.avi file2.avi -o output.avi
GUIツールではないことは知っていますが、GUIを作成するには、次のスクリプトを使用できます。
#!/bin/bash
file1=`kdialog --getopenfilename ~/ \*.avi`
file2=`kdialog --getopenfilename ~/ \*.avi`
output=`kdialog --getsavefilename ~/ \*.avi`
avimerge -i $file1 $file2 -o $output
kdialog
を使用しているため、KDEユーザー向けです。GNOMEユーザーはZenityを使用するように変更する必要があります...
出力としてAVIコンテナー形式に慣れていない場合は、MKVtoolnix GUIからAVIファイルを簡単に可逆結合できます。 https://forums.plex.tv/t/howto-joining-multi-part-movies-files-with-mkvtoolnix-gui/113211 (このリンクの手順は、以下に要約されます:最初のAVIファイル、右クリック>追加> 2番目のファイルを選択し、[マルチプレクサーの開始]をクリック)。
これは、字幕、mp4ファイルなどでも機能します。また、最新のプレーヤーでの再生やストリーミングの信頼性が高い出力ファイルという利点もあります。
そのように ffmpeg concat を使用するのはどうですか?
ffmpeg -f concat -i \
<(for f in $PWD/*.avi;do echo "file '$f'";done) \
-c copy output.avi
エラーが発生した場合危険なファイル名concat
と-safe 0
の間に-i
を追加します。