Linuxでwmvやrmビデオを結合する方法を探る。
Linuxでビデオ結合 †
Linuxのビデオ編集ツールとしてはavidemuxというものが有名なようだ。 これはビデオ結合・編集機能を備えたGUIソフトで、扱いやすくできているが、少なくともLinuxのパッケージではwmvやrmファイルをきちんと結合させることはできなかった。
wmvファイル †
mencoderというエンコーダソフトを用いて以下のコマンドで一応結合ができる。(mencoderはapt-getで簡単にインストールできた)
$ mencoder video1.wmv video2.wmv -o result.wmv -oac copy -ovc copy
しかし、このコマンドによって結合されたwmvファイルは画質がところどころ乱れてしまい、ちょっと見れたものではなかった。
そこで、Windowsで使えるwmv結合ツールであるasfbin.exeをWineを通じて使うことにした。(asfbin配布元: http://www.radioactivepages.com/ )
$ wine asfbin.exe -i movie1.wmv -i movie2.wmv -o result.wmv
asfbin.exeを~/.wine/drive_c/windows/system32
にいれておけば、任意の位置から上記コマンドを実行できる。
rmファイル †
rmeditorというツールを用いれば簡単に結合ができた。rmeditorはパッケージマネジャーからインストールできないので、このページからReal Producer Basicをダウンロード・インストールすることで使用可能になる。
$ rmeditor -i movie1.rm -i movie2.rm -o result.rm
として結合可能。
結合スクリプト †
結合のためのコマンドが少々込み入っているので、ビデオ結合スクリプトをPerlで書いてみた。
- vjoin - 結合スクリプト
使いかたは以下の通り。
$ vjoin movie1 movie2 ... output
要するに、vjoinの後にビデオファイル名を並べておくと、最後が出力ファイル名として認識され、残りのファイルを結合する。
現在、上記のようにしてwmvとrmの結合をサポートしている。もちろん、Wine, asfbin.exe, rmeditorのインストールを事前に行わないといけないので注意。