俺的計算機.NET

#公園のベンチでワンカップ大関片手に集まってきた鳩に向かって説教

デレステにプレイリスト機能つけてお願い

プレイリスト機能があればわざわざこんなことせんでもええんじゃあ!

デレステのMVを連続再生したい

youtu.be

デレステのMVは、個人的にこのゲームの目的の2/3くらいを占めています。1
自分の担当アイドルがお気に入りの曲で歌って踊っている姿、やばいですよね。多幸感ハンパないですね。快楽物質で脳がふやけた状態ですよね。
手のひらサイズの小さなスマホで、PS3と同等の3Dモデルが60fpsで動いている、という技術面でも非常に興味深い機能です。

さて、そんな中毒性が高いデレステのMVですが、残念ながら連続再生機能がありません。曲とユニットを毎回選択する必要があります。
皿洗いなど両手がふさがっているときのBGVとして流しっぱなしにしたいのにそれができない。残念すぎる。

唯一、リアルライブと連動したセットリストMV機能はありますが、自分で自由に設定できるものではありません。ワイは! ワイの声なし担当アイドルが!! 踊ってるところが!!! 観たいんじゃい!!!!

YouTube上の動画では物足りない

で、プレイリストと言えばYouTubeが真っ先に思いつくわけですね。
デレステの好きな曲で検索すればドバドバヒットします。それを流しっぱなしにすれば、とりあえず曲については目的を達成できます。

でもやっぱり、ワイの声なし担当アイドルが!! 踊ってるところが!!! 観たいんじゃい!!!!

というかね、やっぱりYouTubeに上がっている動画って旬のSSRとか、人気アイドルで編成された動画が多いわけです。TuripをLiPPSが踊っているあたりまえ体操レベルの動画はもうええがなってくらい上がっています。

L.M.B.Gひとつ取っても、モゲマスには18人の大所帯なのにそのうち5人しか選定されていません。愛のある人が18人分をつなげた動画Twitterに上げていらっしゃいますが、こういうのは極めてレアなケースです。

サービス開始から1年と9ヶ月以上が経過し、担当の棟方愛海も無事SSR化したタイミングで、ほなもう自分でキャプチャするか、という発想に至りました。

AirPlayがめちゃくちゃ優秀

さて、自分でやろうと思いましたが方法が思い浮かびません。ゲームのキャプチャと言えば映像出力から取るのが定石とおもっていましたが、そもそもiPhoneにはLightningコネクタしかなく、純正のHDMI変換コネクタはかなり高価です。

Apple Lightning - Digital AVアダプタ MD826AM/A

Apple Lightning - Digital AVアダプタ MD826AM/A

しかも物理結線は取り回しが悪くスマートではありません。イヤホン端子すらなくしたiPhone7を使っているのに、こんなデカいアダプタを持ち歩くのは正直な話ナンセンスでしょう。

そこで思い出したのがAirPlayという機能です。

AirPlayをかいつまんで説明すると、Apple製品内の音楽とか映像とかを無線でAppleTVなどに配信する技術です。雑に言えばMiracastやChromecastのApple版という感じでしょう。これに対応しているものであれば、例えばiTunes上の楽曲をAndroidで再生することもできます。

で、これを試してみようと思って、とりあえず無償で使えるLonelyScreenミラーリングしてみて驚きました。ほとんど遅延なく体感60fpsで再生できているのです。わきわき動く愛海がPCの大きい画面でそのまま動いている。衝撃とともに感動を覚えました。

というのもね、普段Chromecastを使って動画見てるんですよ。んでAndroid(Zenfone2)がメイン端末だった頃に一度デレステのMVをキャストしてみたことがあったんですが、画質の劣化といいフレームレートといいレイテンシといいとても使えるものじゃなかったのでそっ閉じした経験がありまして。まぁ似たような機能のAirPlayもどうせそうだろうなと期待してなかったんです。

それが!! やってみたら!! ぬるぬると!! 動いているじゃ!! ないですか!!

youtu.be

なおiPhone7の1334*750をAirPlayでミラーリングしたとき、デレステMVみたいに動きの激しい映像だと常時10~11Mbps程度LAN回線を使っている状況です。さもありなんですな。

f:id:kiai_hissatsu:20170708011850p:plain

試行錯誤の始まり

さてAirPlayが大いに使えるということがわかりました。次にやることは録画方法の模索です。

まずはLonelyScreenに標準で付いている録画機能を試してみたのですが、まぁ使いものにならない。というのも720p/30fpsで、多分ビットレート固定、パラメータは一切いじれないんですよ。所詮オマケ機能ですね。
ハーフHDよりちょっと上の解像度とは言え60fpsの入力があるのに半分捨てるなんてもったいない。

次に試したのはAirServerでした。これはAirPlayだけでなくChromecastやMiracastのプロトコルも話せるすぐれものです。有償アプリですがとりあえず試すだけなら7日のトライアル版が使えます。
このソフトウェアはいろいろと多機能なのですが、とりあえずフルスクリーンで表示できるのがいいですね。LonelyScreenはできないので。
でもこれについている録画機能も所詮はオマケでした。LonelyScreenよりは幾分マシな画質ですが、結局パラメータいじれないので動きの激しい曲だと途端にブロックノイズの嵐。

で、AirServerはその時点で課金してしまったあと2だったので、これはミラーリングに専念してもらい、録画は別のソフトを使うことにしました。

ここからが試行錯誤の連続でした。例えばもともとライセンスを持っていたScreenPressoで録画してみてガックガク3なMP4をこしらえてみたり、その他いろんなスクリーンキャプチャソフトを使ってはのきなみAirPlay特有の音ズレに出くわして不採用になってみたり。

最終的な構成

で、結果的に選ばれたのはOBS Studioでした。これはゲーム配信環境を構築するためのシステムで、オープンソースで開発されています。

導入も比較的カンタンですし、フルスクリーン表示のゲームをそのままキャプチャして録画するくらいなら朝飯前レベル。複数のファイル形式(mp4やmkvやmjpegなど)とコーデックから選べ、パラメータ項目も多すぎず少なすぎず。

f:id:kiai_hissatsu:20170708014112p:plain

前述の通りMV時は常時10~11Mbps出ている状況なので、とりあえずビットレートは15MbpsのVBRでかつ2パス処理。5月に導入したGeforce GTX1050を活用するべくGPUエンコード4を使いました。やっぱGPU速いっすね。「ほんとにこれ2パスでやったの!?」てくらい処理が速い。

音ズレについては最後まで根本的な解決ができませんでしたが、どうも原因はiOS側にあるようで、発生時にミラーリングの解除・再接続をすると解消することが多いです。

公衆配信とYouTubeにおける著作権対策

で、プレイリストにするため、とりあえずようつべにアップ。好きな編成の好きな曲を好きな時に再生できる快適MV生活が始まりました。

www.youtube.com

さてここで問題になるのが著作権です。御存知の通りデレステの曲は日本コロムビア著作権を持っています5し、ゲーム自体もバンダイナムコゲームスの著作物です。
他者の著作物をその著作権保有者の許可を得ずに誰でも閲覧できる環境に設置する行為は、公衆送信権の侵害に該当する違法行為です。悪く言えば俺はゲームにプレイリスト機能がついていないために違法行為をはたらいてまでプレイリストを自分で作ったとも言えます。当然ながら著作権を持ってる会社から訴えられたらコロっと負けますし、その前にまず「削除しろや」と警告が来るでしょうからその時は素直に消します。はい。
まぁ動画を非公開状態にすればよいのでしょうが、せっかくYouTubeにあげたのだから見てほしいですよ正直。だって自担アイドルの宣伝にもなるんですから

で、抜け道ってわけじゃないですが、YouTubeには動画をアップロードしたい人とその動画に含まれるコンテンツの権利保有者の間をうまいこと取り持ってくれるシステムが存在します。Content IDです。

違法行為ではありますが、著作権保有者の法務部門もいちいち賠償金を取れる見込みの低い個人を訴えているほどヒマじゃないでしょうし、かといって著作権保有者にとって全く旨味のない違法動画を放置しつづけるのもアレ、ということでしょうか。

f:id:kiai_hissatsu:20170708015614p:plain

実際にアップロードした動画のいくつかはContentIDの追跡を受け、再生前に広告が流れるようになっています。んで広告が流れたらその広告費の一部が著作権保有者に行き渡る、というものです。
この仕組みにより、著作権保有者は違法動画を訴える人的・時間的・経済的コストから開放されますし、アップロードした本人も幾分後ろ暗さが減るというメリットが生まれます。

とはいえ違法は違法

幾分後ろ暗さが減り、著作権保有者から訴えられるリスクも少なくなったとは言え、違法行為であることは間違いありません。
なのでこのエントリを見て「やっぱり削除すべきだ」と思う人はこのコメント欄なりTwitterなり直接会ったときなり言ってください。たぶんその対応がめんどくさくなってアップしてる動画を全削除します

でもねー、やっぱりねー、MVは流しっぱなしにしたい。そもそもデレステにMVプレイリスト機能がついていればこんなことしなくていいんですよ。いやキャプチャとエンコード方法を模索するときは楽しかったけど、いったん構築してしまえば後はルーチンワークだし。

そんなわけでバンダイナムコゲームス様、デレステ運営のサイゲームス様、あとちひろ様、MVプレイリスト機能をつけてください。お願い。

7/10追記

無線環境は比較的リッチに使います。上述のように10~11Mbpsは確保できるよう、可能であれば5GHz帯を使いましょう。

AirPlayが途切れる原因を発見WZR-S1750DHPの5GHzで改善ルーターを変えれば一発で治りますよ


  1. あとの1/3? ガチャ回すことだよ言わせんな恥ずかしい。

  2. アイマスPはアイドルのためならだいたいためらいなく課金します。

  3. もともと静止画キャプチャソフトだし、画面の録画も主にマニュアル作成用途だからね。ちかたないね。

  4. エンコードを趣味にしている人にはGPUエンコードなど邪道だそうです。まぁ実際画質はきっちりチューンしたCPUエンコードのほうが上だったりしますし。

  5. なおミリオンはランティス