Upload
yoshimura-soichiro
View
3.092
Download
2
Embed Size (px)
DESCRIPTION
社内LTでOpen Broadcast Softwareのプラグインを作成してみたことを発表しました
Citation preview
twitchって知ってますか?
twitchとは
月4300万視聴者を誇る世界一のe-sports/ゲーム生放送配信サービス2011年にストリーミングサービスjustinからゲーム専門にスピンオフ先週justinの方がサービス終了してtwitchに専念することが発表された
e-sportsって知ってますか?
格ゲーとかサッカーのゲームのこと?
と思いきや最近は、
リアルタイムストラテジー(RTS)
トレーディングカード(TCG)
ファーストパーソンシューティング(FPS)がほとんど
中でも世界最大ユーザー数を誇るe-sportsゲームタイトル
League of Legends (通称:LoL)
LoLとは
WindowsとMacでプレイすることができる基本無料の5対5で戦うRTS2014年1月時点、ひと月のプレイヤー数が6700万人、日ごとの最大同時接続プレイヤー数750万人 (参考:将棋の推定競技人口600万人)現在プロリーグが存在する他、2013年時点の大会の優勝賞金は100万ドル。世界大会の同時視聴者数は32万人(米Wikipeiaより)。左の写真は世界大会の様子、右の写真はプロチームCloud9
twitchの放送を見ると、ユーザーの半分程度が
LoLの配信を視聴している
なお次に多いのはMinecraftとHearthstone(TCG)
LoLの配信でもよく使われtwitchの配信手順で
一番最初に薦められる配信ソフト
フリーなのでXSplitより先に勧められてます!
Open Broadcaster Software(通称:OBS)
OBSとはC++で書かれていて でホストされている
オープンソースな生放送配信ツールgithub
H264 ACCの配信、録画Intel のQuick Sync Videoに対応しており高速シーンや映像ソースの切替やレイアウトが自由デフォルトで、Twitch, Youtubeなどの有名サービスに連携配信(連携はないけどニコ生でも利用は可)様々なエンジンで動くゲームのウインドウのキャプチャに対応プラグイン機能
そう、プラグイン機能
ニコニコ生放送連携する
プラグインがかけないかチャレンジ!
OBSApiでできることホットキーの追加映像ソースの追加音声ソースの追加シーンの設定の追加設定パネルの追加レンダリング周りの拡張マイクの挙動の拡張
残念!OBSApiは映像ソースの追加がメインで
配信先の設定拡張は元にプルリク送るしかなさそう
とは言え、何かつくろうかなと
Visual Studio 2013 Expressの
VC++でMFCが使えない中
頑張ってみる
だがここ最近、ScalaとRubyという記述量が少ない言語しか触ってなくて読む量が多くなるC++がキツ
かった...//----------------------------------------------------- // log window
x = (fullscreenX/2)-(600/2); y = (fullscreenY/2)-(500/2);
int logPosX = GlobalConfig->GetInt(TEXT("General"), TEXT("LogPosX"), -9999); int logPosY = GlobalConfig->GetInt(TEXT("General"), TEXT("LogPosY"), -9999); int logSizeX = GlobalConfig->GetInt(TEXT("General"), TEXT("LogSizeX"), 600); int logSizeY = GlobalConfig->GetInt(TEXT("General"), TEXT("LogSizeY"), 500);
bInsideMonitors = false; for(UINT i=0; i<monitors.num(); i++)="" {="" if(="" logposx="">= monitors[i].rect.left && logPosX < monitors[i].rect logPosY >= monitors[i].rect.top && logPosY < monitors[i].rect.bottom ) { bInsideMonitors = true; break; } } </monitors.num();>
そこに光明、OBSのプラグインがC#で書けるプラグイン
を発見CLRHostPlugin
ただオリジナルは動かず、別のフォークして更新してる人の を利用バイナリ
ログが出力されて設定画面だけが表示されるプラグインを作った
class MySetttingPanel : AbstractWPFSettingsPane { public override string Category { get { return "ニコニコ生放送"; } }
public override bool HasDefaults() { return false; }
public override void SetDefaults() { throw new NotImplementedException(); } }
満足したwその他にとりあえずつかえるかもしれないなぁと思った公開API
FPSの表示配信開始と終了のフック
とはいえOBS本体ビルドしたい...Visual Studio 2013 Professionalが必要そう (6万円なり...)
解決する良いアイディア募集中です
まとめ世界のtwitchとe-sportsの盛り上がりすごいそこでよく利用されているOBSのプラグイン作ったVC++でMFCなしでUI作るの自分には苦行すぎたC#とWPFの開発すごい楽 (経験的にJavaのGUI開発の倍ぐらい楽)
以上ご静聴ありがとうございました