SHARE
TWEET

Building L-SMASH(Works) 20140905

a guest Sep 5th, 2014 655 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. ■L-SMASH、およびL-SMASH Worksのビルド方法
  3.  
  4. ●文書更新履歴
  5.   2014/9/5 初版。無保証。指摘をもらうための叩き台。
  6.          素人がググって試行錯誤した程度のやっつけビルド手法なので適切な指摘希望。
  7.          実行は自己責任でよろ。
  8.  
  9. ●はじめに
  10.  
  11.   L-SMASHは、MP4ファイルなどを扱うためのMuxer等の実行ファイル群です。
  12.   AviUtlのx264guiExプラグインでMP4を出力する際にも使われていたりします。
  13.  
  14.   L-SMASH Worksは、AviUtlやAvisynth、Vapoursynth用の入力プラグイン(ライブラリ)です。
  15.   L-SMASHやffmpeg(libav)を利用して、多様なメディアファイルを読み込むことができます。
  16.   (AviUtl用には色変換プラグイン等も含まれています。)
  17.  
  18.   非常に便利で重宝するプラグインなのですが、諸々の事情もあり、
  19.   2014/9/5時点では、最新のバイナリは公式には配布されていません。
  20.   有志の方がリスクを背負って配布して下さっていることもあるのですが、更新は滞りがちです。
  21.   L-SMASH(Works)本体だけでなく、ffmpeg(libav)も日々更新され、問題修正なども行われていますので、
  22.   定期的に最新のものに更新したほうがよいのですが、誰かの配布を待つだけではそうもいきません。
  23.  
  24.   L-SMASH(Works)のソースコードは公開されていますので、
  25.   それを入手して自分でバイナリをビルドすることは可能です。
  26.   素人にはなかなか手が出しづらいと思うかもしれませんが、
  27.   揃えるものを一度揃えてしまえば、あとは簡単です。
  28.  
  29.   そんなわけで、快適L-SMASH(Works)生活を実現すべく、
  30.   L-SMASH(Works)のビルド手順を書いてみたのが、この文書となります。
  31.  
  32.  
  33. ●注意事項
  34.  
  35.   ※Windowsのログインアカウントは英数字のみにし、2バイト文字や空白が入らないようにしておくこと。
  36.     ログインアカウントと同じ名前でMSYS_MinGWのホームディレクトリが作られるためだが、
  37.     2バイト文字や空白が入っていた場合にどうなるのかは知らない。
  38.     ここではアカウント名が「btest」であるものとして説明を進める。
  39.  
  40.   ※エクスプローラーでは、テキストファイルや実行ファイル等が、
  41.     「***.txt」や「***.exe」という形でファイルの拡張子を含めた形で表示されるようにしておくこと。
  42.  
  43.   ※「PortableGitのファイル群をMSYS_MinGWセットのファイル群で上書きする」という
  44.     かなり荒っぽい環境構築をしている。
  45.     この方法だと、PortableGitの挙動が不安定になる可能性もある気がする。
  46.     とりあえずビルドできてるからこれでやっちゃってるけど、正しい構築方法があれば知りたい。
  47.  
  48.   ※ここでは、ffmpegではなくlibavを使っている。これは、
  49.       http://peace.2ch.net/test/read.cgi/avi/1252765934/399-
  50.     にある通り、2014年8月末時点のffmpegを使ってL-SMASH-Worksをビルドすると、
  51.     一部のWebmファイルが正しく読み込めないという問題が発生しているため。
  52.     libavではなくffmpegを使いたい場合は、libavの手順を実行する代わりに
  53.       git clone git://source.ffmpeg.org/ffmpeg.git
  54.       cd ffmpeg
  55.       ./configure --enable-avresample --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc
  56.       make
  57.       make install
  58.     としてffmpegのビルドとインストールを行う。(configure時に --enable-avresample をつける必要がある)
  59.  
  60.   ※筆者の環境はWindows8.1です。VistaやWindows7とは挙動が違うこともあるかもしれませんが、
  61.     そのへんはよくわからないので、仮に問題が起きても頑張ってくださいとしか言えません。
  62.  
  63.  
  64. ●事前ダウンロード
  65.  
  66.   以下の4つをダウンロードする。
  67.  
  68.     1.7zip → http://sevenzip.sourceforge.jp/
  69.  
  70.     2.NotePad++ → http://notepad-plus-plus.org/
  71.  
  72.     3.msysgit(PortableGit) → https://github.com/msysgit/msysgit/releases
  73.        ※7z形式のPortable版をダウンロードする。
  74.          2014/9/5時点では、「PortableGit-1.9.4-preview20140815.7z」
  75.  
  76.     4.XhmikosR氏のMSYS_MinGWセット → http://xhmikosr.1f0.de/tools/msys/
  77.        ※末尾に_Fullがついている7z形式のものをダウンロードする。
  78.          2014/9/5時点では、「MSYS_MinGW-w64_GCC_491_x86-x64_Full.7z」
  79.  
  80.  
  81. ●7zipとNotePad++のインストール
  82.  
  83.   インストーラでインストールするだけなので、特に説明無し。
  84.  
  85.  
  86. ●PortableGitとMSYS_MinGWセットの解凍と上書き合体(いいのか、これ?)
  87.  
  88.   1.ビルド環境にするフォルダを作る。パスに2バイト文字や空白が入らないよう注意する。
  89.     ここでは、「D:\Build」というフォルダを作り、そこにビルド環境を構築するものとして説明を進める。
  90.  
  91.   2.ダウンロードした「PortableGit-1.9.4-preview20140815.7z」を右クリック。
  92.     右クリックメニューから、「7-zip → Extract files...」を選択。
  93.     ダイアログが出るので、「Extract to:」のところでビルド環境にする「D:\Build」を指定して、「OK」を押す。
  94.     以下のようなフォルダ構成になる。
  95.       Dドライブ
  96.         ┗ Build(フォルダ)
  97.            ┣ binとかcmdとかのフォルダ
  98.            ┗ git-cmd.batとかのファイル
  99.  
  100.   3.適当なところに一時的な作業フォルダを作る。
  101.     ここでは「D:\tmp」という作業フォルダを作ったものとして説明を進める。
  102.  
  103.   4.ダウンロードした「MSYS_MinGW-w64_GCC_491_x86-x64_Full.7z」を右クリック。
  104.     右クリックメニューから、「7-zip → Extract files...」を選択。
  105.     ダイアログが出るので、「Extract to:」のところで作業フォルダである「D:\tmp」を指定して、「OK」を押す。
  106.     以下のようなフォルダ構成になる。
  107.       Dドライブ
  108.         ┗ tmp(フォルダ)
  109.            ┗ MSYS(フォルダ)
  110.                ┣ binとかetcとかのフォルダ
  111.                ┗ msys.batとかのファイル
  112.  
  113.   5.エクスプローラーで、作業フォルダである「D:\tmp\MSYS」を開く。
  114.     Ctrl+A、あるいはドラッグ等で、「D:\tmp\MSYS」フォルダの中にある
  115.     全てのフォルダやファイルを選択。選択されたものの上で右クリックし、
  116.     右クリックメニューから「切り取り」を選択する。
  117.  
  118.   6.エクスプローラーで、ビルド環境となる「D:\Build」を開く。
  119.     ファイルを何も選択していない状態で、なにもないところで右クリックし、
  120.     右クリックメニューから「貼り付け」を選択する。
  121.     「同じ名前のファイルが○○個存在します」という警告(100個くらいあるはず)が出るので、
  122.     「ファイルを置き換える」「全てのファイルを置き換える」などを選択し、全て上書きする。
  123.     以下のようなフォルダ構成になったことを確認する。
  124.       Dドライブ
  125.         ┗ Build(フォルダ)
  126.            ┣ binとかcmdとかmingwとかのフォルダ
  127.            ┗ msys.batやgit-cmd.batとかのファイル
  128.  
  129.   7.この時点で一時フォルダである「D:\tmp」は空っぽになるので、削除してしまってよい。
  130.  
  131.  
  132. ●MSYS環境の初期設定
  133.  
  134.   1.Notepad++を起動しメニューから「File → Open...」を選び、「D:\Build\etc\fstab.sample」を開く。
  135.  
  136.       c:/mingw         /mingw
  137.  
  138.       c:/ActiveState/perl  /perl
  139.  
  140.     となっている部分を、
  141.  
  142.       d:/Build/mingw      /mingw
  143.  
  144.       #c:/ActiveState/perl  /perl
  145.  
  146.     に書き換えたら、メニューから「File → Save as....」を選び、
  147.     「D:\Build\etc」フォルダの中に、「fstab.txt」というファイル名で保存する。
  148.     保存したらNotePad++を終了する。
  149.  
  150.   2.エクスプローラーで「D:\Build\etc」を開く。
  151.     「fstab.txt」を選択して右クリックメニューから「名前を変更」を選び、拡張子を消して「fstab」に変更。
  152.     「拡張子を変更するとファイルが使えなくなる~」と警告されるが無視して構わない。
  153.  
  154.   3.エクスプローラーで「D:\Build」を開き、そこにある「msys.bat」を実行。
  155.     「MINGW32:~」というタイトルのコマンドプロンプトが開く。
  156.  
  157.       btest@PC_Name ~
  158.       $
  159.  
  160.     という文字が表示されているはず。「btest@PC_Name」は「アカウント名@PC名」。
  161.  
  162.  
  163.   4.開いたコマンドプロンプト上で以下のコマンドを入力し、Enterキーで実行。
  164.     間違えないように注意。(libavのファイルを正しくダウンロードするために必要らしい)
  165.  
  166.       git config --global core.autocrlf input
  167.  
  168.   5.入力したらコマンドプロンプトを閉じる。
  169.  
  170.  
  171. ●libavのダウンロードとビルド
  172.  
  173.   1.エクスプローラーで「D:\Build」を開き、そこにある「msys.bat」を実行。
  174.     「MINGW32:~」というタイトルのコマンドプロンプトが開く。
  175.  
  176.   2.以下のコマンドを入力し、Enterキーで実行。
  177.  
  178.       git clone git://git.libav.org/libav.git
  179.  
  180.     「Cloning into 'libav' ...」と表示され、ソースファイルのダウンロードが始まるので、終了するのを待つ。
  181.  
  182.       btest@PC_Name ~
  183.       $
  184.  
  185.     が表示されれば終了。
  186.  
  187.   3.続いて以下のコマンドを1行ずつ入力していく。
  188.     configureやmakeにはかなりの時間がかかる。
  189.     特にconfigureは何もメッセージが出ないまましばらく待たされることになるが、
  190.     何も反応が無いからといって焦らず、しばらくじっくり待つこと。
  191.  
  192.       cd libav
  193.       ./configure --disable-avplay --disable-avprobe --disable-doc
  194.       make
  195.       make install
  196.  
  197.     これでlibavのビルドが終了。
  198.  
  199.   4.終了したらコマンドプロンプトは閉じる。
  200.  
  201.   5.エクスプローラーで「D:\Build\local\bin」を開くと、
  202.       avconv.exe
  203.     がある。
  204.     ffmpegみたいなものなので、必要なら活用する。
  205.     ただしここでは外部ライブラリを一切リンクしていないので、できないこともある。
  206.  
  207.  
  208. ●l-smashのダウンロードとビルド
  209.  
  210.   1.エクスプローラーで「D:\Build」を開き、そこにある「msys.bat」を実行。
  211.     「MINGW32:~」というタイトルのコマンドプロンプトが開く。
  212.  
  213.   2.以下のコマンドを入力し、Enterキーで実行。
  214.  
  215.       git clone https://github.com/l-smash/l-smash.git
  216.  
  217.     「Cloning into 'l-smash' ...」と表示され、ソースファイルのダウンロードが始まるので、終了するのを待つ。
  218.  
  219.       btest@PC_Name ~
  220.       $
  221.  
  222.     が表示されれば終了。
  223.  
  224.   3.続いて以下のコマンドを1行ずつ入力していく。
  225.  
  226.       cd l-smash
  227.       ./configure
  228.       make
  229.       make install
  230.  
  231.     これでl-smashのビルドが終了。
  232.  
  233.   4.終了したらコマンドプロンプトは閉じる。
  234.  
  235.   5.エクスプローラーで「D:\Build\local\bin」を開くと、
  236.       boxdumper.exe
  237.       muxer.exe
  238.       remuxer.exe
  239.       timelineeditor.exe
  240.     がある。
  241.     これらがL-SMASHの実行ファイルであり、x264guiExなどで使うことができるので、
  242.     どこかにコピーして使うなり、x264guiExからこれらのバイナリを直接指定するなりして活用する。
  243.  
  244.  
  245. ●L-SMASH-Worksのダウンロードと、AviUtl用プラグインのビルド
  246.  
  247.   1.エクスプローラーで「D:\Build」を開き、そこにある「msys.bat」を実行。
  248.     「MINGW32:~」というタイトルのコマンドプロンプトが開く。
  249.  
  250.   2.以下のコマンドを入力し、Enterキーで実行。
  251.  
  252.       git clone https://github.com/VFR-maniac/L-SMASH-Works.git
  253.  
  254.     「Cloning into 'L-SMASH-Works' ...」と表示され、ソースファイルのダウンロードが始まるので、終了するのを待つ。
  255.  
  256.       btest@PC_Name ~
  257.       $
  258.  
  259.     が表示されれば終了。
  260.  
  261.   3.続いて以下のコマンドを1行ずつ入力していく。
  262.  
  263.       cd L-SMASH-Works/AviUtl
  264.       PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure
  265.       make
  266.  
  267.     これでAviUtl用のL-SMASH-Worksのビルドが終了。
  268.  
  269.   4.終了したらコマンドプロンプトは閉じる。
  270.  
  271.   5.エクスプローラーで
  272.        「D:\Build\home\btest\L-SMASH-Works\AviUtl」 (btestはWindowsのアカウント名)
  273.     を開くと色々なファイルがあるが、この中の
  274.       lwcolor.auc
  275.       lwdumper.auf
  276.       lwinput.aui
  277.       lwmuxer.auf
  278.     の4つが、AviUtl用のL-SMASH-Worksプラグインのファイルとなる。
  279.     「種類」でソートすると「AUCファイル」「AUFファイル」「AUIファイル」となってまとまるのでわかりやすい。
  280.     これら4つのファイルをaviutl.exeと同じフォルダにコピーして利用する。
  281.  
  282.   6.AviUtlを起動して、メニューの「その他→入力プラグイン情報」を開く。
  283.     この中の、
  284.       L-SMASH Works File Reader r??? ( lwinput.aui )
  285.     の「r???」の部分が最新バージョンになっていることを確認する。
  286.     2014/9/5時点の最新版は「r729」となっている。
  287.  
  288.  
  289.   ---------------------------------------------
  290.   おまけ: Vapoursynth用のL-SMASH-Worksのビルド
  291.   ---------------------------------------------
  292.  
  293.   1.エクスプローラーで「D:\Build」を開き、そこにある「msys.bat」を実行。
  294.     「MINGW32:~」というタイトルのコマンドプロンプトが開く。
  295.  
  296.   2.続いて以下のコマンドを1行ずつ入力していく。
  297.  
  298.       cd L-SMASH-Works/Vapoursynth
  299.       PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure
  300.       make
  301.  
  302.     これでVapoursynth用のL-SMASH-Worksのビルドが終了。
  303.  
  304.   3.終了したらコマンドプロンプトは閉じる。
  305.  
  306.   4.エクスプローラーで
  307.        「D:\Build\home\btest\L-SMASH-Works\Vapoursynth」(btestはWindowsのアカウント名)
  308.     を開くと色々なファイルがあるが、この中の
  309.       vslsmashsource.dll
  310.     が、Vapoursynth用のL-SMASH-Worksのライブラリとなる。
  311.     これをVapoursynthのcore.std.LoadPlugin()で読み込んで利用する。
  312.  
  313.  
  314.   ---------------------------------------------
  315.   おまけ: Avisynth用のL-SMASH-Worksのビルド
  316.   ---------------------------------------------
  317.  
  318.    ★全然わからないので誰か教えてくださいお願いします(´・ω・`)
  319.  
  320.  
  321.  
  322. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  323.  
  324.    ↑ ここまでは、初回のビルド手順。
  325.  
  326.  
  327.    ↓ 以下は、更新ビルドする場合の手順。
  328.  
  329. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  330.  
  331.  
  332. ●libavの更新ビルド
  333.  
  334.   1.エクスプローラーで「D:\Build」を開き、そこにある「msys.bat」を実行。
  335.     「MINGW32:~」というタイトルのコマンドプロンプトが開く。
  336.  
  337.   2.以下のコマンドを1行ずつ入力していく。
  338.  
  339.       cd libav
  340.       make clean
  341.       git pull
  342.       ./configure --disable-avplay --disable-avprobe --disable-doc
  343.       make
  344.       make install
  345.  
  346.   3.終了したらコマンドプロンプトは閉じる。
  347.  
  348.  
  349. ●l-smashの更新ビルド
  350.  
  351.   1.エクスプローラーで「D:\Build」を開き、そこにある「msys.bat」を実行。
  352.     「MINGW32:~」というタイトルのコマンドプロンプトが開く。
  353.  
  354.   2.以下のコマンドを1行ずつ入力していく。
  355.  
  356.       cd l-smash
  357.       make clean
  358.       git pull
  359.       ./configure
  360.       make
  361.       make install
  362.  
  363.   3.終了したらコマンドプロンプトは閉じる。
  364.  
  365.  
  366. ●L-SMASH-Worksの更新ビルド
  367.  
  368.   1.エクスプローラーで「D:\Build」を開き、そこにある「msys.bat」を実行。
  369.     「MINGW32:~」というタイトルのコマンドプロンプトが開く。
  370.  
  371.   2.以下のコマンドを1行ずつ入力していく。
  372.  
  373.       cd L-SMASH-Works
  374.       git pull
  375.       cd AviUtl
  376.       make clean
  377.       PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure
  378.       make
  379.       cd ../Vapoursynth
  380.       make clean
  381.       PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure
  382.       make
  383.  
  384.  
  385. ●出来上がったそれぞれのファイルを活用する。
  386.  
  387.    「D:\Build\local\bin」
  388.       avconv.exe    ←ffmpegみたいなもの
  389.       boxdumper.exe  ←L-SMASHの実行ファイル。下の3つとあわせてx264guiEx等でMux等に活用。
  390.       muxer.exe
  391.       remuxer.exe
  392.       timelineeditor.exe
  393.  
  394.    「D:\Build\home\btest\L-SMASH-Works\AviUtl」 (btestはWindowsのアカウント名)
  395.       lwcolor.auc    ←AviUtl用のプラグイン。下の3つとあわせてaviutl.exeのフォルダに置く。
  396.       lwdumper.auf
  397.       lwinput.aui
  398.       lwmuxer.auf
  399.  
  400.    「D:\Build\home\btest\L-SMASH-Works\Vapoursynth」 (btestはWindowsのアカウント名)
  401.       vslsmashsource.dll  ←Vapoursynth用のプラグイン。core.std.LoadPlugin()で読み込んで活用。
  402.  
  403.  
  404.  
  405.  
  406. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  407.  
  408.   以上。
  409.  
  410.   最新版にすることで不安定になることもあるので、ビルドするたびに
  411.   バイナリのバックアップをとっておき、問題が起きたら直前の安定版に戻すようにするとよい。
  412.  
  413. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
RAW Paste Data
Challenge yourself this year...
Learn something new in 2017
Top