放送ツール覚え書き

OBS Studio ビルドツール ビルドスクリプト版 BuildStudioOBS解説 2018年08月14日 ビルド環境msysの構築の項目をOBS Studioビルド環境構築へ移動

2016/03/31 23:00 投稿

  • タグ:
  • OBSStudio
  • OBS_Studio
  • BuildStudioOBS
  • Windows
  • 放送ツール
  • OBSビルドツール
  • modified-v2

ビルドツールを作成・提供してくださった皆様 および
ビルドに関するノウハウを提供してくださった皆様に感謝


加筆修正 2018年08月14日 ビルド環境msysの構築の項目をOBS Studioビルド環境構築へ移
              動 それに伴う解説の再編集
     2017年09月01日 誤った解説Script64/32フォルダ内シェルスプリクトを修正
              ・文頭01群_LIB_XXX の選択肢解説を修正
              ・仕様一覧表と解説を加筆
              ビルド に連続してビルドする解説を追加
              VSC2013のビルド環境ではビルドができない旨 追加 その他
     2017年08月19日 OBSMP 環境構築Plusビルドツールで
              BuildStudioOBSのビルド環境を構築できなくなった旨を追加
              代わりに手動でビルド環境を構築する解説へ誘導リンクを追加
     2017年08月14日 7/26 新配信に対応するobs-rtmp-nicolive・・・解説を修正
              それに伴い参考資料を修正
              次回のビルドについて を追加
     2017年08月11日 ビルド環境次第でビルドができない旨と対策を文頭に追加
     2017年08月10日 プラグイン obs-rtmp-nicolive試作品 v2.2.0から現行 v2.1.0へ
              置き換える方法を追加
     2017年03月04日 BrowserSourceを追加する方法を追加
     2016年11月10日 11/9に更新されたBuildMakeでmsys環境を構築する解説を追加
     2016年11月03日 OBSプラグインobs-rtmp-nicoliveの不具合対策β版をビルドに
              取り入れる解説を追加 11/4 不具合対版の解説を加筆
     2016年10月16日 ビルド環境構築でOBSMP 環境構築Plusビルドツールに頼らない
              方法を追加 他
     2016年10月08日 アンインストール を巻末に追加
              10/6公開のMsys-AC-OBS-64/32公開に沿った解説を加筆
              ビルド環境構築に必要なソフトの量とインストールにかかる時間
              を追加 ほか
     2016年10月02日 新規で解説書き直し 過去に書いたブロマガURLへ転載できない
              ので仮ページであったここを本ページに転化
     2016年09月30日 Windows 10インプレースアップグレードの解説から前のOSに
              戻す記事を削除
     2016年05月31日 Win10環境でOBS Studioがうまく動かない時の対応を追加
初版投稿 2016年03月31日




◆OBS Studioビルドスクリプト版

スクリプト【script】

コンピューターに対する一連の命令などを記述したもの。コンパイルを必要とするプログラミング言語によるものに対し、より簡易な言語で記述されたものをいう。

出典 コトバンク> ASCII.jpデジタル用語辞典> スクリプトとは



Windows環境で OBS Studio本体 プラグイン・フィルタの改良・新規開発 そのテストを行いたい方向け
Windows10・Win8.1・Win7 SP1のOSで エンコーダFFmpeg-modified-v2 音声エンコーダFDK-AACを組み込んだ公式版OBS Studioを使いたい方向け の解説です


OBS-Studio-XX.X.X-Small版に下記の仕様を選択してビルドをします
HTML5フラッシュコメントジェネレーター などに必要なBrowserSourceを追加するやり方は
解説の底に記しました

 FFmpegの仕様               音声コーデックの仕様













OBS Studioのビルドには msys のほか Visual Studio Community 2015Qt が必要です
ビルドに必要なソフトは総合計12GB前後 インストールにかかる総時間は2時間前後です
更にOBS Studioを動かすために Microsoft Visual C++ 2015 の 再頒布可能パッケージ が必要です

msys・VisualStudioCommunity2015とQtに関しては別解説 OBS Studioビルド環境構築 に記しました


VisualStudioCommunity2013のビルド環境ではビルドができないようです

BuildStudioOBS_1.333.1903.0以降 デフォルトでobs-rtmp-nicolive試作品 v2.2.0を組み込むようになっています
obs-rtmp-nicoliveを作ったビルド環境がVSCommunity2015なので整合性の問題が出ます

厳密に解説すると スクリプトを書き換えてobs-rtmp-nicoliveを組み込まない仕様にすることでVisual Studio Community 2013環境でのビルドはできます
この場合 OBS Studioに放送URLとストリームキーを手入力してニコ生にログインします


ニコ生ログインプラグインobs-rtmp-nicoliveを組み込みます

17’7/26 新配信に対応するobs-rtmp-nicolive試作品 v2.2.0が公開されました
BuildStudioOBS_1.333.1903.0以降 デフォルトで試作品 v2.2.0を組み込むようになっています
VSC2015を使ってビルドをしたOBS Studioは32/64bit版ともに問題なく動きますが パスワード入力時に難があります
気になる方は不具合対策をしたobs-rtmp-nicolive_2.2.0-pre2-WinV_Fix1に差し替えてください
詳細は OBS Studio プラグイン obs-rtmp-nicolive試作品 v2.2.0 新配信対応版解説 に記しました

資料として各msys環境でBuildStudioOBSを書き換えobs-rtmp-nicolive現行版 v2.1.0を取り入れるやり方は当解説の底に後述しました

※Windows 10を 前OSのアプリケーションや各種設定などをそのまま引き継ぐ「インプレースアップグレード」(上書きアップグレード)でアップグレードをした環境ではOBS Studio本体はうまく動かない場合があります そのときは USBメモリ8GBを使う Windows10のクリーンインストール を行ってください




ビルド環境構築

BuildStudioOBS添付のリードミーには ビルドに必要なソフトのインストール・Qtの置き場所・システム環境変数PATHの追加などを指定する方法が記載されています
ビルド環境構築の解説は OBS Studioビルド環境構築 に記しました









BuildStudioOBS内ファイルをビルド環境に合わせて変更する



co1048576
で公開されているアップローダからBuildStudioOBSをダウンロードします

◆BuildStudioOBSに添付されているリードミーをよく読んで下さい


ビルド環境・ビルドしたいOBS Studioのbit数に合わせ ファイルの書き直しをします

今回は例として32bit版OBS Studioのビルドをします




env32.shを右クリック→「プログラムから開く」からワードパッドで開きます

64bit版をビルドするときは env64.shを開きます







ビルド環境に合わせ envXX.shを書き直します
写真は書き直す前の状態です

文頭の#付け外しをすることでビルド環境の選択をします

Qt5.XをデフォルトのC直下に置かなかった場合は Qt5.Xのパスを実際に置いたパスに変えます
















筆者のビルド環境は写真の通りです
今回はビルド環境 MVSC2015と 例としてQt5.6での解説をします




MVSC2015と 例としてQt5.6に合わせ 書き直しました

実際は 選択したQt5.Xを指定します

文頭に#がないのがビルド環境指定になります

各欄一つだけ#がない状態になります

環境に合った指定をしないとビルドはできません 間違えやすいのでよく確認してください

Qt5.XをデフォルトのC直下に置かなかった場合は Qt5.Xのパスを実際に置いたパスに変えてください

上書き保存をして閉じます







書き換えたBuildStudioOBSをmsysに入れる



msysフォルダ内homeフォルダへ














ユーザー名フォルダへ












ユーザー名フォルダに書き換えたBuildStudioOBSフォルダを置きます
















ビルド



msys内にあるmsys.batをクリックします













コマンドプロンプトが立ち上がります












左上角のアイコンをクリックして 既定値をクリック











編集オプション全てにレ点を入れます
OKで閉じます

この設定でコマンドのコピーペーストができるようになります
















シェルスプリクトのフォルダの在り処をコマンドプロンプトに書き込みます

写真下のコマンドをコピーして コマンドプロンプト上で右クリックでペーストします

ペーストができたら
エンターキーを押します



32bit版ビルド
cd BuildStudioOBS/Scripts32

64bit版ビルド
cd BuildStudioOBS/Scripts64

になります



エンターキーを押した後の写真です

シェルスプリクトフォルダの位置を把握しました










ここからは ビルドしたい仕様のシェルスプリクトを指定します
写真はコマンドプロンプトで指定したScript32フォルダの中身です Script64フォルダも同様です

※FFmpeg-modified-v2とFDK-AACを組み込む前提で解説を進めます
  他の選択肢に関しては BuildStudioOBS添付のReadMe.txtを読んでください
  当解説でも「Script64/32フォルダ内シェルスプリクト解説」で後述しています


文頭01群はFFmpegの仕様の選択肢です

modified-v2を組み入れたいので下記のコマンドをコピー
./01_BUILD_FFmpeg_SHARED_LIB_DLL_mod_v2.sh

コマンドプロンプトにペーストしてエンターキーを押します

エンターキーを押すとfdk-aacを含むFFmpeg-modified-v2のビルドが始まります












fdk-aacを含むFFmpeg-modified-v2のビルドが終わった時のコマンドプロンプト











巻末に文頭01群 ./01_BUILD_FFmpeg_SHARED_LIB_XXX の選択肢解説を置きました




文頭02群は音声エンコーダの選択肢です
どれかのコマンドをコピーし コマンドプロンプト上で右クリック ペーストしてエンターキーを押します

音声エンコーダと音声ビットレート一覧表です










./02_BUILD_OBS.sh
iTunesで使われている音声エンコーダCoreAudio か FFmpeg付属のAAC
音声ビットレート32kbps~320kbpsになります
音声ビットレートを128kbps以上使って音質を重視する放送向けです

./02_BUILD_OBS_HE_AAC_v1.sh
どれがいいか迷ったら こちらを選択してください
HE-AAC v1 通称「OBS MP 改」音声ビットレート28kbps~128kbpsになります
音質をある程度は確保したい放送向けです

./02_BUILD_OBS_HE_AAC_v2.sh
HE-AAC v2 通称「OBS MP 改二」音声ビットレート16kbps~56kbpsになります
音声ビットレートをできるだけ低く設定し 映像ビットレートを増やしたいゲーム放送向けです
オーディオインターフェースをお使いなら 24kbpsでも音質はそう悪くはありません


文頭01群でfdk-aacを含むFFmpeg-modified-v2のビルドを済ませているので 上記3つの仕様のビルドを連続して行うことができます


ビルドが終わった時のコマンドプロンプトの写真です

別の文頭02群コマンドを指定することで連続してビルドができます






コマンドプロンプトを閉じた後 新たに別仕様のビルドをするときは
cd BuildStudioOBS/ScriptsXX に続いて文頭02群コマンドを指定します
最後に何仕様をビルドしたのかメモをしておいてください

巻末に文頭02群 ./02_BUILD_OBS_XXX の選択肢解説を置きました



注意点

今回ビルドしたOBS Studioビルド版とOBS Studio公式版は 共通の設定ファイルを使います
使い分けする・テストなどの理由で下表のOBS Studioが同時にあるとき それぞれのOBS Studioの仕様と設定ファイルの内容が合っていないことがあります
そのために設定した音声トラックのビットレートの数値が変わってしまいます


それぞれのOBS Studioは音声エンコーダの仕様で音声ビットレート範囲が違います






放送前に音声トラックのビットレートの数値を確認するのは面倒なので後述する「OBS Studioビルドの成否確認」でOBS Studioのショートカットを ポータブルモード に変更します
共通の設定ファイルを使わずに それぞれのOBS Studioフォルダ内に設定フォルダを置く形になります




文頭03群はmsys内にあるFFmpeg・FFmpeg_mod_v2のライブラリを含む 全てのライブラリのビルド生成品を削除するコマンドです

ビルドしたOBS Studio・FFmpeg.exe・FFmpeg_mod_v2.exeを削除するのではありません


連続でビルドをしない・時間を空けて別仕様のビルドをしないなら 文頭03群の全ライブラリ削除をした方が良いと筆者は考えます
次回 ビルドをするときは 更新されたBuildStudioOBSが公開になったときで 全ライブラリを新造するから不要になるからです 前のライブラリのビルド生成品が新規ビルドに悪影響を及ぼすかもしれません


入力した文頭01群と同じモードを指定します

文頭01群で 01_BUILD_FFmpeg_SHARED_LIB_DLL_mod_v2.shを指定したので
./03_UNINSTALL_FFmpeg_SHARED_LIB_DLL_mod_v2.sh

になります
同じようにコマンドを書いてエンターキーを押して実行します

削除が終わると上の写真と同じ様な表示が出ます
右上隅のXボタンを押すか コマンドプロンプトに「exit」と書いてエンターキーで閉じます




次回のビルドについて

新しいOBS Studioに対応したBuildStudioOBSが公開されたなどで 2回目のビルドを行うときは 新しいBuildStudioOBSを上書きしてenvXX.shをビルド環境に合わせ書き直します
中身を確認の上 envXX.shの使い回しをしてもいいでしょう


今回は例としてビルド環境 Qt5.6とMVSC2015でビルドを行いました

何らかの理由で 前回と同じQt5.XやMVSC2015ではない環境でビルドするときは 新たにmsysを作ってビルドしてください
前回使用したQt5.XとMVSC2015の情報が残っているmsysで 別のQt5.XやMVSC2013を使ってビルドすると失敗する可能性があります

写真はQt5.8とMVSC2015でビルドをしたことのあるmsysで Qt5.8とMVSC2013を指定して
ビルドを行いニコ生ログインが出なかった(NG)obs-rtmp-nicoliveの依存を調べたときです

問題のない(OK)に比べ Qt系の依存が2つあるのと libcurl.dll自体が違います









OBS Studioビルドの成否確認



Cドライブ(OSがあるドライブ)直下にOBS Studioフォルダができます










Debug>bin>XXbitに進みます











obsXX.exeがあればビルドは成功です











obsXX.exeのショートカットを作って判りやすいところに置きましょう

ここで前述した ポータブルモード にしておきましょう















アンインストール

OBS Studio本体のアンインストール

レジストリは使用していません



OBS Studioのアンインストールは
Cドライブ(OSと同じドライブ)直下にあるフォルダごと削除するだけです










設定ファイルの削除は 隠しフォルダを表示する設定 にしてC:\Users\ユーザー名\AppData\Roamingにあるobs-studioフォルダを削除します
公式版・ビルド版のどちらかを残すときは 設定ファイルを削除しないでください

Windows環境でのOBS Studio設定フォルダ

公式版とBuildStudioOBSを使用したビルド版で設定ファイルは共通です
32bit/64bit・バージョン新旧の間で設定(プロファイル・シーンコレクション)は共通になります














OBS Studioを起動し設定をします

  ニコ生一般ユーザー生放送 通常配信向け設定解説
  ニコ生ユーザー生放送 新仕様「新配信」設定解説

  ニコ生チャンネル放送用の設定解説









Script64/32フォルダ内シェルスプリクト解説




文頭01群 ./01_BUILD_FFmpeg_SHARED_LIB_XXX の選択肢解説です


文頭01群は 生成されるFFmpeg.exeの選択肢です

FFmpeg・FFmpeg-modified-v2に
それぞれfdk-aacあるなしの選択です



fdk-aacを組み込まない選択肢は ビルドにかかる時間が その分短くなります



文頭02群 ./02_BUILD_OBS_XXX の選択肢解説です


文頭02群は 音声コーデックの選択肢です





それぞれのOBS Studioは音声エンコーダの仕様で音声ビットレート範囲が違います
PCにiTunes(Apple Application Support)があればCoreAudio・無ければFFmpeg付属のAACになります





スクリプト文頭01郡でFFmpegの仕様・fdk-aacあるなしを スクリプト文頭02郡で音声コーデックの選択をします
文頭02郡のfdk-aacを使う使わないの選択でも文頭01郡が関係しています

スクリプト文頭01郡・文頭02郡と その関係を表にまとめました

FFmpegビルドをする文頭01郡の仕様一覧です

ビルドをしたFFmpegを基にOBS Studioの音声コーデックを選ぶ文頭02郡の仕様一覧です




BrowserSourceを追加

こちら からobs-browser-X.XX.zipをダウンロードし解凍します
OBS Studioが起動していたら 終了します
解凍して現れたbit数フォルダを
C:\OBS-MP-WinXX-※※.※.※-音声コーデックの仕様\Release\obs-pluginsフォルダにドラッグします

写真は公式版OBS Studio解説からの流用です 実際は32/64どちらかのフォルダだけ移します















参考資料

※正式版が出たときにすぐ対応できるようビルド版にobs-rtmp-nicoliveを組み込む旧解説を記します

※11/4 obs-rtmp-nicolive が更新されました 不具合対策新仕様 に対応しました
筆者のPC環境Windows10Pro 64bitでlibcurl.dllの置き換えをせず放送(通常配信・新配信β)できました
同日に更新されたBuildStudioOBSは同日更新されたOBS Studio公式版0.16.3ベースに対策されたobs-rtmp-nicoliveを取り込んだビルドができます
ビルドしてテスト放送してみてください



ScriptsXXフォルダ内のGIT_CHECKOUT_obs-rtmp-nicolive.shを右クリック→「プログラムから開く」からワードパッドで開きます



















GIT_CHECKOUT_TAG="v2.0"を書き換えます





















例として
https://github.com/raccy/obs-rtmp-nicolive/releases のPre-release(ベータ版)であるv2.1.0-pre1をビルドに取り込みます

GIT_CHECKOUT_TAG="v2.0"のv2.0を組み込みたいバージョン名に書き換えます



GIT_CHECKOUT_TAG="v2.1.0-pre1" に書き換えました

上書き保存をして閉じます
























参考資料


OBSプラグインobs-rtmp-nicoliveのテスト版ではない現行版をビルドに取り入れる

7/26 新配信に対応するobs-rtmp-nicolive試作品 v2.2.0が公開されました
BuildStudioOBSはデフォルトで試作品 v2.2.0を組み込むようになっています
※MVSC2013環境ではビルドができません
 MVSC2015環境では問題なくビルドができ 試作品 v2.2.0も正常に動きます
何らかの理由で現行のv2.1.0を組み込みたいときはスクリプトを書き換えます


ScriptsXXフォルダ内のGIT_CHECKOUT_obs-rtmp-nicolive.shを右クリック→「プログラムから開く」からワードパッドで開きます

文頭の#を付け替えることでobs-rtmp-nicoliveのバージョンを変更します




試作品 v2.2.0から現行 v2.1.0に変更したときの写真です

文頭に#がないのがビルド環境指定になります

上書き保存をして閉じます

























コメント

コメントはまだありません
コメントを書き込むにはログインしてください。

いまブロマガで人気の記事