Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ■L-SMASH、およびL-SMASH Worksのビルド方法
- ●文書更新履歴
- 2014/9/5 初版。無保証。指摘をもらうための叩き台。
- 素人がググって試行錯誤した程度のやっつけビルド手法なので適切な指摘希望。
- 実行は自己責任でよろ。
- ●はじめに
- L-SMASHは、MP4ファイルなどを扱うためのMuxer等の実行ファイル群です。
- AviUtlのx264guiExプラグインでMP4を出力する際にも使われていたりします。
- L-SMASH Worksは、AviUtlやAvisynth、Vapoursynth用の入力プラグイン(ライブラリ)です。
- L-SMASHやffmpeg(libav)を利用して、多様なメディアファイルを読み込むことができます。
- (AviUtl用には色変換プラグイン等も含まれています。)
- 非常に便利で重宝するプラグインなのですが、諸々の事情もあり、
- 2014/9/5時点では、最新のバイナリは公式には配布されていません。
- 有志の方がリスクを背負って配布して下さっていることもあるのですが、更新は滞りがちです。
- L-SMASH(Works)本体だけでなく、ffmpeg(libav)も日々更新され、問題修正なども行われていますので、
- 定期的に最新のものに更新したほうがよいのですが、誰かの配布を待つだけではそうもいきません。
- L-SMASH(Works)のソースコードは公開されていますので、
- それを入手して自分でバイナリをビルドすることは可能です。
- 素人にはなかなか手が出しづらいと思うかもしれませんが、
- 揃えるものを一度揃えてしまえば、あとは簡単です。
- そんなわけで、快適L-SMASH(Works)生活を実現すべく、
- L-SMASH(Works)のビルド手順を書いてみたのが、この文書となります。
- ●注意事項
- ※Windowsのログインアカウントは英数字のみにし、2バイト文字や空白が入らないようにしておくこと。
- ログインアカウントと同じ名前でMSYS_MinGWのホームディレクトリが作られるためだが、
- 2バイト文字や空白が入っていた場合にどうなるのかは知らない。
- ここではアカウント名が「btest」であるものとして説明を進める。
- ※エクスプローラーでは、テキストファイルや実行ファイル等が、
- 「***.txt」や「***.exe」という形でファイルの拡張子を含めた形で表示されるようにしておくこと。
- ※「PortableGitのファイル群をMSYS_MinGWセットのファイル群で上書きする」という
- かなり荒っぽい環境構築をしている。
- この方法だと、PortableGitの挙動が不安定になる可能性もある気がする。
- とりあえずビルドできてるからこれでやっちゃってるけど、正しい構築方法があれば知りたい。
- ※ここでは、ffmpegではなくlibavを使っている。これは、
- http://peace.2ch.net/test/read.cgi/avi/1252765934/399-
- にある通り、2014年8月末時点のffmpegを使ってL-SMASH-Worksをビルドすると、
- 一部のWebmファイルが正しく読み込めないという問題が発生しているため。
- libavではなくffmpegを使いたい場合は、libavの手順を実行する代わりに
- git clone git://source.ffmpeg.org/ffmpeg.git
- cd ffmpeg
- ./configure --enable-avresample --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc
- make
- make install
- としてffmpegのビルドとインストールを行う。(configure時に --enable-avresample をつける必要がある)
- ※筆者の環境はWindows8.1です。VistaやWindows7とは挙動が違うこともあるかもしれませんが、
- そのへんはよくわからないので、仮に問題が起きても頑張ってくださいとしか言えません。
- ●事前ダウンロード
- 以下の4つをダウンロードする。
- 1.7zip → http://sevenzip.sourceforge.jp/
- 2.NotePad++ → http://notepad-plus-plus.org/
- 3.msysgit(PortableGit) → https://github.com/msysgit/msysgit/releases
- ※7z形式のPortable版をダウンロードする。
- 2014/9/5時点では、「PortableGit-1.9.4-preview20140815.7z」
- 4.XhmikosR氏のMSYS_MinGWセット → http://xhmikosr.1f0.de/tools/msys/
- ※末尾に_Fullがついている7z形式のものをダウンロードする。
- 2014/9/5時点では、「MSYS_MinGW-w64_GCC_491_x86-x64_Full.7z」
- ●7zipとNotePad++のインストール
- インストーラでインストールするだけなので、特に説明無し。
- ●PortableGitとMSYS_MinGWセットの解凍と上書き合体(いいのか、これ?)
- 1.ビルド環境にするフォルダを作る。パスに2バイト文字や空白が入らないよう注意する。
- ここでは、「D:\Build」というフォルダを作り、そこにビルド環境を構築するものとして説明を進める。
- 2.ダウンロードした「PortableGit-1.9.4-preview20140815.7z」を右クリック。
- 右クリックメニューから、「7-zip → Extract files...」を選択。
- ダイアログが出るので、「Extract to:」のところでビルド環境にする「D:\Build」を指定して、「OK」を押す。
- 以下のようなフォルダ構成になる。
- Dドライブ
- ┗ Build(フォルダ)
- ┣ binとかcmdとかのフォルダ
- ┗ git-cmd.batとかのファイル
- 3.適当なところに一時的な作業フォルダを作る。
- ここでは「D:\tmp」という作業フォルダを作ったものとして説明を進める。
- 4.ダウンロードした「MSYS_MinGW-w64_GCC_491_x86-x64_Full.7z」を右クリック。
- 右クリックメニューから、「7-zip → Extract files...」を選択。
- ダイアログが出るので、「Extract to:」のところで作業フォルダである「D:\tmp」を指定して、「OK」を押す。
- 以下のようなフォルダ構成になる。
- Dドライブ
- ┗ tmp(フォルダ)
- ┗ MSYS(フォルダ)
- ┣ binとかetcとかのフォルダ
- ┗ msys.batとかのファイル
- 5.エクスプローラーで、作業フォルダである「D:\tmp\MSYS」を開く。
- Ctrl+A、あるいはドラッグ等で、「D:\tmp\MSYS」フォルダの中にある
- 全てのフォルダやファイルを選択。選択されたものの上で右クリックし、
- 右クリックメニューから「切り取り」を選択する。
- 6.エクスプローラーで、ビルド環境となる「D:\Build」を開く。
- ファイルを何も選択していない状態で、なにもないところで右クリックし、
- 右クリックメニューから「貼り付け」を選択する。
- 「同じ名前のファイルが○○個存在します」という警告(100個くらいあるはず)が出るので、
- 「ファイルを置き換える」「全てのファイルを置き換える」などを選択し、全て上書きする。
- 以下のようなフォルダ構成になったことを確認する。
- Dドライブ
- ┗ Build(フォルダ)
- ┣ binとかcmdとかmingwとかのフォルダ
- ┗ msys.batやgit-cmd.batとかのファイル
- 7.この時点で一時フォルダである「D:\tmp」は空っぽになるので、削除してしまってよい。
- ●MSYS環境の初期設定
- 1.Notepad++を起動しメニューから「File → Open...」を選び、「D:\Build\etc\fstab.sample」を開く。
- c:/mingw /mingw
- c:/ActiveState/perl /perl
- となっている部分を、
- d:/Build/mingw /mingw
- #c:/ActiveState/perl /perl
- に書き換えたら、メニューから「File → Save as....」を選び、
- 「D:\Build\etc」フォルダの中に、「fstab.txt」というファイル名で保存する。
- 保存したらNotePad++を終了する。
- 2.エクスプローラーで「D:\Build\etc」を開く。
- 「fstab.txt」を選択して右クリックメニューから「名前を変更」を選び、拡張子を消して「fstab」に変更。
- 「拡張子を変更するとファイルが使えなくなる~」と警告されるが無視して構わない。
- 3.エクスプローラーで「D:\Build」を開き、そこにある「msys.bat」を実行。
- 「MINGW32:~」というタイトルのコマンドプロンプトが開く。
- btest@PC_Name ~
- $
- という文字が表示されているはず。「btest@PC_Name」は「アカウント名@PC名」。
- 4.開いたコマンドプロンプト上で以下のコマンドを入力し、Enterキーで実行。
- 間違えないように注意。(libavのファイルを正しくダウンロードするために必要らしい)
- git config --global core.autocrlf input
- 5.入力したらコマンドプロンプトを閉じる。
- ●libavのダウンロードとビルド
- 1.エクスプローラーで「D:\Build」を開き、そこにある「msys.bat」を実行。
- 「MINGW32:~」というタイトルのコマンドプロンプトが開く。
- 2.以下のコマンドを入力し、Enterキーで実行。
- git clone git://git.libav.org/libav.git
- 「Cloning into 'libav' ...」と表示され、ソースファイルのダウンロードが始まるので、終了するのを待つ。
- btest@PC_Name ~
- $
- が表示されれば終了。
- 3.続いて以下のコマンドを1行ずつ入力していく。
- configureやmakeにはかなりの時間がかかる。
- 特にconfigureは何もメッセージが出ないまましばらく待たされることになるが、
- 何も反応が無いからといって焦らず、しばらくじっくり待つこと。
- cd libav
- ./configure --disable-avplay --disable-avprobe --disable-doc
- make
- make install
- これでlibavのビルドが終了。
- 4.終了したらコマンドプロンプトは閉じる。
- 5.エクスプローラーで「D:\Build\local\bin」を開くと、
- avconv.exe
- がある。
- ffmpegみたいなものなので、必要なら活用する。
- ただしここでは外部ライブラリを一切リンクしていないので、できないこともある。
- ●l-smashのダウンロードとビルド
- 1.エクスプローラーで「D:\Build」を開き、そこにある「msys.bat」を実行。
- 「MINGW32:~」というタイトルのコマンドプロンプトが開く。
- 2.以下のコマンドを入力し、Enterキーで実行。
- git clone https://github.com/l-smash/l-smash.git
- 「Cloning into 'l-smash' ...」と表示され、ソースファイルのダウンロードが始まるので、終了するのを待つ。
- btest@PC_Name ~
- $
- が表示されれば終了。
- 3.続いて以下のコマンドを1行ずつ入力していく。
- cd l-smash
- ./configure
- make
- make install
- これでl-smashのビルドが終了。
- 4.終了したらコマンドプロンプトは閉じる。
- 5.エクスプローラーで「D:\Build\local\bin」を開くと、
- boxdumper.exe
- muxer.exe
- remuxer.exe
- timelineeditor.exe
- がある。
- これらがL-SMASHの実行ファイルであり、x264guiExなどで使うことができるので、
- どこかにコピーして使うなり、x264guiExからこれらのバイナリを直接指定するなりして活用する。
- ●L-SMASH-Worksのダウンロードと、AviUtl用プラグインのビルド
- 1.エクスプローラーで「D:\Build」を開き、そこにある「msys.bat」を実行。
- 「MINGW32:~」というタイトルのコマンドプロンプトが開く。
- 2.以下のコマンドを入力し、Enterキーで実行。
- git clone https://github.com/VFR-maniac/L-SMASH-Works.git
- 「Cloning into 'L-SMASH-Works' ...」と表示され、ソースファイルのダウンロードが始まるので、終了するのを待つ。
- btest@PC_Name ~
- $
- が表示されれば終了。
- 3.続いて以下のコマンドを1行ずつ入力していく。
- cd L-SMASH-Works/AviUtl
- PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure
- make
- これでAviUtl用のL-SMASH-Worksのビルドが終了。
- 4.終了したらコマンドプロンプトは閉じる。
- 5.エクスプローラーで
- 「D:\Build\home\btest\L-SMASH-Works\AviUtl」 (btestはWindowsのアカウント名)
- を開くと色々なファイルがあるが、この中の
- lwcolor.auc
- lwdumper.auf
- lwinput.aui
- lwmuxer.auf
- の4つが、AviUtl用のL-SMASH-Worksプラグインのファイルとなる。
- 「種類」でソートすると「AUCファイル」「AUFファイル」「AUIファイル」となってまとまるのでわかりやすい。
- これら4つのファイルをaviutl.exeと同じフォルダにコピーして利用する。
- 6.AviUtlを起動して、メニューの「その他→入力プラグイン情報」を開く。
- この中の、
- L-SMASH Works File Reader r??? ( lwinput.aui )
- の「r???」の部分が最新バージョンになっていることを確認する。
- 2014/9/5時点の最新版は「r729」となっている。
- ---------------------------------------------
- おまけ: Vapoursynth用のL-SMASH-Worksのビルド
- ---------------------------------------------
- 1.エクスプローラーで「D:\Build」を開き、そこにある「msys.bat」を実行。
- 「MINGW32:~」というタイトルのコマンドプロンプトが開く。
- 2.続いて以下のコマンドを1行ずつ入力していく。
- cd L-SMASH-Works/Vapoursynth
- PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure
- make
- これでVapoursynth用のL-SMASH-Worksのビルドが終了。
- 3.終了したらコマンドプロンプトは閉じる。
- 4.エクスプローラーで
- 「D:\Build\home\btest\L-SMASH-Works\Vapoursynth」(btestはWindowsのアカウント名)
- を開くと色々なファイルがあるが、この中の
- vslsmashsource.dll
- が、Vapoursynth用のL-SMASH-Worksのライブラリとなる。
- これをVapoursynthのcore.std.LoadPlugin()で読み込んで利用する。
- ---------------------------------------------
- おまけ: Avisynth用のL-SMASH-Worksのビルド
- ---------------------------------------------
- ★全然わからないので誰か教えてくださいお願いします(´・ω・`)
- ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
- ↑ ここまでは、初回のビルド手順。
- ↓ 以下は、更新ビルドする場合の手順。
- ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
- ●libavの更新ビルド
- 1.エクスプローラーで「D:\Build」を開き、そこにある「msys.bat」を実行。
- 「MINGW32:~」というタイトルのコマンドプロンプトが開く。
- 2.以下のコマンドを1行ずつ入力していく。
- cd libav
- make clean
- git pull
- ./configure --disable-avplay --disable-avprobe --disable-doc
- make
- make install
- 3.終了したらコマンドプロンプトは閉じる。
- ●l-smashの更新ビルド
- 1.エクスプローラーで「D:\Build」を開き、そこにある「msys.bat」を実行。
- 「MINGW32:~」というタイトルのコマンドプロンプトが開く。
- 2.以下のコマンドを1行ずつ入力していく。
- cd l-smash
- make clean
- git pull
- ./configure
- make
- make install
- 3.終了したらコマンドプロンプトは閉じる。
- ●L-SMASH-Worksの更新ビルド
- 1.エクスプローラーで「D:\Build」を開き、そこにある「msys.bat」を実行。
- 「MINGW32:~」というタイトルのコマンドプロンプトが開く。
- 2.以下のコマンドを1行ずつ入力していく。
- cd L-SMASH-Works
- git pull
- cd AviUtl
- make clean
- PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure
- make
- cd ../Vapoursynth
- make clean
- PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure
- make
- ●出来上がったそれぞれのファイルを活用する。
- 「D:\Build\local\bin」
- avconv.exe ←ffmpegみたいなもの
- boxdumper.exe ←L-SMASHの実行ファイル。下の3つとあわせてx264guiEx等でMux等に活用。
- muxer.exe
- remuxer.exe
- timelineeditor.exe
- 「D:\Build\home\btest\L-SMASH-Works\AviUtl」 (btestはWindowsのアカウント名)
- lwcolor.auc ←AviUtl用のプラグイン。下の3つとあわせてaviutl.exeのフォルダに置く。
- lwdumper.auf
- lwinput.aui
- lwmuxer.auf
- 「D:\Build\home\btest\L-SMASH-Works\Vapoursynth」 (btestはWindowsのアカウント名)
- vslsmashsource.dll ←Vapoursynth用のプラグイン。core.std.LoadPlugin()で読み込んで活用。
- ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
- 以上。
- 最新版にすることで不安定になることもあるので、ビルドするたびに
- バイナリのバックアップをとっておき、問題が起きたら直前の安定版に戻すようにするとよい。
- ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement