Twitch

※この記事は2019年9月6日にFanboxにて投稿した記事に少し手を加えて再公開したものです。
内容はほとんど2019年9月6日時点でのものになりますので、留意してくだせぇ。

この件の発端

2017年。ダバイの回線をはひどかった。
配信をリアルタイムでみようと思ったら360pに画質を落とさないと見れないほどにひどかった。
FPS配信なんて見れたものではない、ジャギジャギのブロックノイズバッキバキである。
下り4Mbps出れば良い方で、友人から「電話回線使ってインターネットしてんのか?」と煽られた。ゲームのダウンロードは1日かかることはザラ。

この時期はまだ、プロバイダがIPv4と比べて混雑しづらいIPv6に対応しておらず、まともにインターネットができなかった。
しかし、そんな中でも上りだけは安定しており、30Mbpsくらい出ていた。
そのおかげで、下りの速度はダメダメだったが、配信だけはストレスなくできていた。

そして2018年の夏頃、プロバイダがv6プラスというサービスにやっと対応した。
これにより、上り下りともに100Mbps以上、昼夜問わず出るようになった。

要するに、今までの回線(IPv4)とは別のルートも使えるようになるので、混雑しがちな夜のコアタイムでも、
目的のコンテンツに不自由なく行けるように別のルートを確保できる素晴らしいサービス。それがv6プラス。合ってるかな?

これでわざわざTwitchやyoutubeで360pのクソ画質で動画を見なくてすむし、より高画質で配信できる。ありがとうv6プラス。
となればよかったのだが…。

 

配信が不安定なんじゃが

確か、この現象が起こったのは、2019年3月頃か?2月にハマりだしたapexを配信でやっていたときには起こっていなかった気がする。
1時間2時間くらい配信していると、画面が突然ガクガクと止まる現象が起き始めた。

特筆すべきは、音声だけは安定して配信されていること。でも画面はガクガク。配信fpsが山あり谷ありしっちゃかめっちゃか。なんだこれ。

しばらくすると、治ったり、治らなかったり。この現象が全く起きない日もあった。
原因が分からない。なぜなら、回線速度は昼夜問わず安定していたからだ。
現象が起きたときに回線速度をどのサイトで測ってみても、上り下りともに100Mbps以上。
これは2017年のときのコアタイムに回線が混雑して起きる現象ではないと踏んで、原因の特定に乗り出した。
まずはじめに試したのが、Twitch以外の配信サイトではこの現象は起こるのか?
結論はYoutubeでは全く起きなかった。もう普通。めっちゃ快適。
ははーんなるほど。Twitchくんの障害か。焦らせやがって。サポートに連絡しよう。

こういう返事が帰ってきたので、先に出したグラフと動画のurl、他の配信サイトでは問題なく配信できる旨を添付して送り返す!
これが証拠だくらいなっ!

うーん、テンプレ回答。
疑っても仕方ないので、解像度を変更したり、ビットレートを減らしたがだめだった。
もちろん有線を使っているし、ファイアウォールも特に問題は無い。
一体原因はなんなんだ。

ダバイ、プロバイダに連絡をする

このあたりで、リスナーに「これはプロバイダのせいでしょ」という話が出てくる。回線速度も安定しているのに?マジ?

確かになんか分かるかもしれない、連絡してみよう。

返答はくっそながいので要点だけまとめると、
・上位プロバイダにおいて、夜間の速度低下は確認できない
・原因はTwitchサーバー、もしくはその間の経路

・解決方法は、現実的に考えるとビットレートを安定するまで下げることくらいしかない

それらを踏まえて、ネットワーク上に原因がないとすれば考えられる原因は、
「NATセッション数の不足」もしくは「v6プラスだと特定のポート開放できない問題」が可能性としてあるのではないか?、とのことだった。
自分もこのとき初めて知ったのだが、
ルータにはNATセッション数というものに上限があり、ものによっては4096だったり65000以上あったりする。
利用する端末の数が多かったり、短時間に多くweb巡回をしたりすると、このセッション数が足りなくなることがあり、
このことを「セッション溢れ」と言うみたい。
要はもう通信できる穴が空いてません満員です状態になり、新しく通信をすることができなくなって通信が途切れるようだ。

(参考URL:http://pon250.blogspot.com/2018/03/nat.html)

もう一つの原因として考えられるのは、v6プラスというサービスがすべてのポートを開けないことに起因するもの。
v6プラスはそのサービスの性質上、開けられるポートが決まっていて、Twitchをはじめ、その他ストリーミングサイトで
配信に利用するTCP1935はv6プラスでは開けないことがわかった。

(参考:https://support.teradek.com/hc/en-us/articles/226177168-What-network-ports-are-required-for-streaming-and-device-operation-)

このあたりが、怪しいじゃないかと。
幸い、解決法は簡単だった。セッション数に関してはHGW(最大セッション数4096)を使っていたので、新しくルーターを買った。
ポートに関しては、制限なくポートが開ける「固定IPサービス」というコースに変更すれば、制限なくポートが開けるのでそちらに変更。

よっしゃこれで快適配信ライフが手に入るぞ!

すべて無駄に終わる

治んねぇおしめぇだ。このあたりから諦めムードに。
安定を求めるならば、もうyoutubeで配信するしかねぇのか。
顛末を話せば、セッション数に関しては、家庭向けルータでは原因が特定できないため、プロバイダからYAMAHA RTX830(¥49,850)という
ほぼ業務用ルーターを借りてセッション数をいくつ使ってるのか調べた。

結果はピーク時でたった300。なんだよ全然足りてるじゃねぇか。ルータ代無駄になったわ。

ポートに関しても開けていようがいまいが関係ないっぽい。結局障害発生。

そして後に分かったことですが、youtubeで大丈夫だった理由はyoutubeはアップロード側もipv6に対応しているからだと思われる。

一方Twitchは見る方はipv6に対応してるが、配信側、つまりアップロードではipv4でデータを送信している。
つまりipv4でデータをやり取りしている配信サービスはもれなく、ガクガク現象が起きる。

Twtichと同じく、ipv4でデータやり取りしているMixerで試してみたが、同じくガクガク現象が起きた。

どうすればいいんだ。

そうだ、Nuroにしよう

配信中にふと、昔プロバイダを決めるときに見ていたISP規制情報wikiを思い出した。
そのサイトではプロバイダがAからCまでランク付けされており、昔プロバイダを決めるときの参考にしていた。あくまで参考でね。

俺のプロバイダ何位何位~?w

後のプロバイダとのやり取り
“「プロバイダ網の接続区間内のどこかに輻輳などによる問題があるか、或いはサーバー側の輻輳による問題があるかと言う事になると思います。
上位プロバイダに本件について調査依頼を致しましたが、プロバイダ網内での輻輳などは確認出来なかったとの回答を頂いております。
(上位管轄網を抜けた先の輻輳は調査は事実上不可能に近い)
各プロバイダのプロバイダ間の接続には得意不得意が御座います。
v6Direct、v6Neoについては、残念ながら、twitch、Mixerへの通信については得意では無いということかもしれません。」
というわけで別のプロバイダにすることにしました。

どこにしようか迷ったんですが、前々から気になっていたNuro光にすることに。

Nuro光、回線を新しく引かないとだめなので、導入に時間がかかることでも結構有名。

大体1~2ヶ月と謳っているが、実際はそれ以上長引いたり、ネットでは本当かしらないが、半年待たされた人もいるらしい。怖。

たまたま業者のおっちゃんが内部事情を話してくれた、というか愚痴ってたんだけど、so-net側と業者側で連携がうまく言っていないらしい。

予め、契約者は工事日を決める。その工事日をso-netから配線業者に伝えるのが、工事日前日になることもあるようだ。
大丈夫かこの会社。そしてそのことお客さんに愚痴るこの業者も大丈夫か?対策としては、宅内配線工事のときに「次の屋外工事はいつですか?」とその場で決めてもらうと、余計に待たずに済む。
屋外工事はNTTの管轄なので、事前に決めないと結構待たされるっぽい?しらんけど。

その対策が効いたのかしらないが、自分は大体3週間で開通しました。やったぜ。

とりあえず問題解決

長々格闘してきたが、ようやく解決。いまのところTwitchで配信しても前のような問題は起きていない。
つ、疲れた。回線の問題って個人じゃどうしようもない部分がありすぎて、無駄にイライラする。

結局、問題の原因は「プロバイダにありました。」っていう話ではあるんだけど、途中話題に上がった原因でインターネットが不安定になっている人もいるかもしれないので、参考にしてください。

一番手っ取り早いのは当たりの回線引くことかもしれないけど。

じゃあの。

問題調べてるときに知った便利情報とか

Twitch Inspecter
ストリーミングの状況がグラフでわかりやすく把握できる。
ドロップフレームしてるとかビットレートが安定しないなどで、原因の特定に役立つ。

そのままtwitchに問題が発生した配信を連絡できる。

TwitchTest
Twitchって自分で配信サーバーを切り替えるんだけど、どのサーバーが自分に適してるか実際配信してみないとわからない。
けどこいつはそれを一括で確かめることができちまうすごいやつ。

まあ大体日本じゃjapanサーバーを選んでれば問題ないと思うけど、どうも相性が悪い人はこれで確かめてみるのが良いと思う。

Restream.io
いろんな配信サイトで、同時配信できるようにしてくれるサービス。
対応しているサイトも豊富。有料プランでより多くのサイトにも対応可能。

今回は、

「エンコーダー」→「Twitchサーバー」

というネットワークで問題が発生していたため、Restream.ioを使って、

「エンコーダー」→「Restream.io」→「Twitchサーバー」

というふうにネットワーク上にワンクッションおいてあげる作戦で改善できるのでは?と思い使用した。

結論から言えば、今回の問題では効果がなかった。こちらもipv4でデータをやり取りしているからだと思われる。
同時配信をしたいのであれば、このサービスはかなり手軽で使える。