最新情報はTwitterで

トップ > ライブ配信カテゴリ > ライブ配信のラグ(遅延)を減らす方法 / 2017年06月24日 (土) 00時27分42秒



配信中、ラグがひどいと感じたときに確認すべきこと

  • ライブ配信における遅延 (タイムラグ)とは、視聴者が再生している 映像・音声が実際の映像・音声よりも遅れている状態 をいいます。たとえば、配信者がWebカメラの映像を流したとしましょう。この映像を視聴者が見るのは、何秒も経過したあとになります。とくに遅延を感じるのは、 配信者が視聴者に対して質問をしたとき かもしれません。視聴者から答えが返ってくるまで、かなりの「間」があります。


  • 遅延が大きいと、視聴者のコメントを見ても配信者は自分のどの発言・状況に対する反応なのか、わからないことがあるでしょう。かりに1分の遅延がある場合、もはや話が噛み合わなくなります。視聴者が見ている映像は、配信者からすれば過去の映像であり、配信者が現在見ているものとは異なるからです。遅延が大きいほど、 視聴者とのあいだで円滑なコミュニケーションが取りづらくなります


  • ライブ配信で「リアルタイムに映像・音声を配信できる」というのは、あくまでも形式的な建前と考えてください。遅延はライブ配信の宿命であり、 解消することはできません 。すべての配信者は、遅延があるなかで配信しているのです。ただし、 遅延を軽減する方法なら存在します 。その方法について、具体的に見ていきましょう。

目次



配信サイトごとの遅延時間を覚えておく


配信サイトによって遅延時間は違う


  • まず前提として、 遅延時間は配信サイトによって異なります 。想定どおりの遅延時間であれば、あれこれ悩む必要はありません。逆に、想定以上に遅延時間が大きい場合は、対処法を考える必要があります。そこで、 自分が配信するサイトでは何秒の遅延が標準なのか、把握しておきましょう 。下表をご覧ください。

遅延時間 備考
アフリカTV 約6秒
ツイキャス 最大2~3秒前後 公称値(ソース
ニコニコ生放送 約3~5秒
ふわっち 約7~15秒
CaveTube 約3秒
Dailymotion Games 約14秒
Facebook Live 筆者未検証
FC2ライブ 約3秒
FRESH! 7~13秒 公称値(ソース
LINE LIVE 6~11秒(?) 筆者未検証
livetube.cc 約3秒
Mirrativ 約3秒
Mixer(旧Beam) 0.2秒(RTMPだと約6秒) 公称値(ソース
OPENREC 10~15秒 公称値(ソース
Periscope 約9~13秒
SHOWROOM 約4秒
Stickam 約2秒
Twitch 約8~10秒
YouTube Live・YouTube Gaming 約8~11秒

  • この表に掲載した遅延時間は、 筆者が計測した値、または公称値 です(2017年6月現在)。環境によっては、表に掲載した時間とは異なる場合があるでしょう。たとえば、視聴者の回線状態が悪かったり、視聴者が配信をスマホで視聴している場合は、遅延時間が違ってきます。また、後述するとおり 配信者側の環境・設定も影響します遅延時間にはバラツキがある という点に留意してください *1

  • 遅延がもっとも少ない配信サイトは、 Mixer (旧Beam)です。配信方法にもよるのですが、 遅延を最短で0.2秒まで抑えることができます 。具体的には、 FTL (Faster Than Light streaming protocol)という、従来とは異なる新しい技術を使って配信した場合、このわずかな遅延で配信できるようになります *2 。Mixerは、2016年にマイクロソフトに買収されました。今後、注目の配信サイトです。

遅延を計測する方法


  • では、どのようにして ライブ配信の遅延を計測 すればよいのでしょうか。お薦めは、「ストップウォッチ 30分 低負荷版」というカウントアップ動画を使った方法です。簡単にいうと、配信ソフトでこの動画を読み込んで配信し、配信画面に映っている時間との差を測る方法です。配信ソフトは、OBS StudioXSplitNLEのいずれかを使えばよいでしょう。

  • 以下のようにして遅延を計測します。より詳しい説明については、ニコラボチャンネルを参照してください。

  1. 動画をダウンロードしておく。
  2. 配信ソフトを起動し、ダウンロードしておいた動画を読み込む *3
  3. 配信を開始する。
  4. 配信中、 「配信ソフトの」画面に映っている経過時間から、「配信サイトの」画面に映っている経過時間を引く


▲この場合、10.28 - 3.53 = 6.75(秒)の遅延ということがわかります。


配信ソフトの設定を変更する


  • 配信ソフトの設定を変更 することで、遅延を減らすことができます。ただ、 設定によっては画質が落ちるかもしれません 。画質と遅延のバランスを取りたい場合は、テストを繰り返して落とし所を見つける必要があります。

  • なお、難しい用語が登場するかもしれませんが、ここでは説明を省きます。意味がわからなくても、あまり気にする必要はありません。

ビットレート


  • ビットレート を下げて適切な設定にします。そのためには、(1) 配信サイトの仕様 、(2) 配信者の回線速度(上り) 、および(3) 出力解像度 を考慮するようにしましょう。(1)については、たとえばツイキャスでは合計700kbpsまでとされています(参考)。

説明
OBS Studio 1.「設定」をクリックする。
2.「出力」タブを開く。
3.「 ビットレート 」を変更する。
4.「OK」をクリックする。
XSplit 1.「出力」をクリックする。
2.配信サイト名の歯車アイコンをクリックする。
3.「 Bitrate 」を変更する。
4.「OK」をクリックする。
NLE 設定箇所なし

バッファサイズ


  • バッファサイズ を下げます。これを大きくすると画質が向上しますが、最大でも映像ビットレートの2倍までにしておきましょう。バッファサイズを映像ビットレートで割ったぶんだけ遅延します *4

説明
OBS Studio 1.「設定」をクリックする。
2.「出力」タブを開く。
3.「出力モード」を「詳細」にする。
4.「 特定バッファサイズを使用 」のチェックを外す。
5.「OK」をクリックする。
XSplit 1.「出力」をクリックする。
2.配信サイト名の歯車アイコンをクリックする。
3.「Extra Param」の歯車アイコンをクリックする。
4.「 VBV Buffer 」を「Bitrate」と同じ値にする *5
5.「OK」をクリックする。
NLE 設定箇所なし

キーフレーム間隔


  • キーフレーム間隔 を短くします。どのような配信であっても、 2秒 に設定しておけばまず問題ありません。OPENRECでは、キーフレーム間隔を2秒に設定することで遅延を抑えることができると説明されています(参考)。4秒を超える数字にしたり、0秒(自動)にするのは避けてください。

説明
OBS Studio 1.「設定」をクリックする。
2.「出力」タブを開く。
3.「出力モード」を「詳細」にする。
4.「 キーフレーム間隔 」を2秒にする。
5.「OK」をクリックする。
XSplit 1.「出力」をクリックする。
2.配信サイト名の歯車アイコンをクリックする。
3.「Extra Param」の歯車アイコンをクリックする。
4.「 Max Keyframe Interval 」を2秒にする *6
5.「OK」をクリックする。
NLE 設定箇所なし

プリセット


  • x264の プリセット を変更します。可能なかぎり遅延を少なくしたいなら、「 veryfast 」にしましょう。また、チューンを「 zerolatency 」にします。ただし、これらの設定は、 画質を犠牲にしてでも遅延を減らしたい人向け です。画質を重視するなら(かつPCスペックに余裕があるなら)、プリセットを「slow」にします。チューンについては、設定しないでもかまいません。

説明
OBS Studio 1.「設定」をクリックする。
2.「出力」タブを開く。
3.「出力モード」を「詳細」にする。
4.「エンコーダ」で「x264」が選択されていることを確認する。
5.「CPU使用のプリセット」で「veryfast」を選択する。
6.「チューン」で「zerolatency」を選択する。
7.「OK」をクリックする。
XSplit 1.「出力」をクリックする。
2.配信サイト名の歯車アイコンをクリックする。
3.「Codec」で「x264」が選択されていることを確認する。
4.「Extra Param」の歯車アイコンをクリックする。
5.「Encoder Preset」で「veryfast」を選択する。
6.「Extra Encorder Parameters」に「&ex:tune:zerolatency」と入力する *7
7.「OK」をクリックする。
NLE 1.「詳細設定」タブを開く。
2.「プリセット」で「低遅延」を選択する(「zerolatency」になる)。
3.「CPU負荷」で「標準」を選択する(「veryfast」になる)。
4.「適用」をクリックする。

  • もしx264のプリセットを自分で書き換えている場合は、とくに「rc-lookahead」や「bframes」の設定が重要です *8 。設定をまちがえると遅延が大きくなります。前者は、最大でも60までにしておきましょう(30~40が基本)。後者は3がお薦めです。

遅延設定


  • OBS Stduio、およびXSplitには、配信をあえて遅延させる設定があります( 遅延設定 )。この設定は、FPSやTPSなどのゲーム配信で、配信者のマップ上での位置を対戦相手(視聴者)に悟られないようにしたい場合に使います *9 。通常は、遅延設定を無効にしておきましょう。初期設定で無効になっています。

説明
OBS Studio 1.「設定」をクリックする。
2.「詳細設定」タブを開く。
3.「遅延配信」の「有効にする」のチェックが外れていることを確認する。
4.「OK」をクリックする。
XSplit 1.「出力」をクリックする。
2.配信サイト名の歯車アイコンをクリックする。
3.「放送の遅延を有効にする」のチェックが外れていることを確認する。
4.「OK」をクリックする。
NLE 設定箇所なし


適切なサーバーを選択する


  • 海外の配信サイトによっては、サーバーを選ぶことができます。日本国内にサーバーがあるのでれば、配信ソフトの設定を変更してそれを選択しましょう。たとえば、 Twitchの場合 は以下のように設定します。

説明
OBS Studio 1.「設定」をクリックする。
2.「配信」タブを開く。
3.「サービス」が「Twitch」になっていることを確認する。
4.「サーバー」で「Asia: Tokyo, Japan」を選択する。
5.「OK」をクリックする。
XSplit 1.「出力」をクリックする。
2.「Twitch」の歯車アイコンをクリックする。
3.「サーバー」で「Asia: Tokyo, Japan」を選択する。
4.「OK」をクリックする。
NLE -


配信サイトの遅延軽減設定を有効にする


  • あまり知られていませんが、配信サイトによっては 遅延を軽減するための設定 があります。筆者が検証したかぎりでは、Twitchでは数秒、YouTube liveでは10秒以上遅延を短縮できました。ただ、視聴者側の回線環境が悪い場合は、動画が一時的に止まることがあるかもしれません。

説明
Twitch 1.トップページを開き、画面右上にあるアカウント名をクリックする。
2.「設定」をクリックする。
3.画面上部にある「チャンネル&ビデオ」をクリックする。
4.「ストリーム配信の遅延を改善します」にチェックを入れる。
5.「変更を保存」をクリックする。
YouTube Live 1.ライブ ダッシュボードを開く。
2.「ストリーム オプション」タブを開く。
3.「視聴者との交流向けに最適化(低遅延)」を選択する。


使っている製品・サービスを変更する


キャプチャーボード


  • ライブ配信の遅延は、キャプチャーボードを使っていなくても発生します。しかし、ゲーム配信で遅延を減らしたいなら、キャプチャーボードの遅延は小さいほうがよいのです。たとえば、パススルー出力しているとして、キャプチャーボードの遅延が0.06秒のものと、1.12秒のものを比較した場合、ライブ配信では前者のほうが遅延を1.06秒縮めることができます。

Game Capture HD60 S GC550 MonsterX U3.0R
価格
(Amazon)
Game Capture HD60 S
Game Capture HD60 S
GC550
GC550

MonsterX U3.0R
PCとの接続 USB 3.0 USB 3.0 USB 3.0
対応ゲーム機
(接続できるゲーム機)
・PS4
・Switch、Wii U
・Xbox One、Xbox 360
・PS4、PS3、PS2
・Switch、Wii U、Wii
・Xbox One、Xbox 360
・PSP
・PS4
・Switch、Wii U
・Xbox One、Xbox 360
こちら こちら こちら
特徴 筆者お薦め

  • ゲーム配信で問題なく使えるのが上の3製品です。ゲームジャンルにもよりますが、PCに映っているゲーム画面を見ながらプレイできる程度の遅延です。この程度の遅延であれば、ライブ配信でも違和感はないでしょう。たとえば、GC550の遅延時間は、約0.06秒が公称値となっています(ソース、PDFファイル)。

PC


  • PCスペックが低い場合は、CPU使用率を可能なかぎり下げましょう。たとえば、配信ソフトの各種設定を変更します。PCゲームの場合は、ゲームのグラフィックスの設定を下げるのも重要です。もし効果がないのであれば、PCを買い替えます。


回線・プロバイダ


  • 回線・プロバイダを変更します。上りの速度が速く、かつ安定している状態がベストです。


その他


  • 時間が経過するにつれて遅延が増えているときは、視聴者に ページを更新 してもらいましょう。

  • 配信の終了などは、遅延を考慮して余裕を持たせるようにします。話し終わってすぐに配信を切ると、こちらの発言がぶつ切りになる可能性があります。そこで、話し終えたあと時間をおいてから、配信を終了します。


関連ページ










名前:
コメント:

  • 名無しさん
    ありがとうございます。加筆しました。 -- 管理人 (2017-06-24)

  • LINE LIVEの遅延ですが、体感5か6秒程度の可能性が高いです。 -- 名無し (2017-06-23 19:53:46)




*1 筆者がTwitchやYouTube Liveで配信した場合、10秒程度の遅延に収まるのですが、「30~50秒遅延して話にならない」とブログに書いている人もいます。両サイトの遅延は少しずつ改善されているので、配信時期の問題もあるかもしれません。

*2 難しそうに見えるかもしれませんが、実際は配信ソフトのXSplit、またはOBS-FTLで簡単な設定をするだけです。OBS-FTLというのは、OBS Studioから派生した配信ソフトです。

*3 OBS Studioであれば、「+」アイコン→「メディアソース」で動画を読み込んで再生できます。また、XSplit、およびNLEであれば「追加」→「メディアファイル(動画、画像)...」です。

*4 たとえば、映像ビットレートを2,500kbps、バッファサイズを5,000kbpsに設定した場合、2秒の遅延になります。

*5 「YouTube Live」の横にある歯車アイコンをクリックした場合は、「VBV Buffer」は設定変更できないようになっています。

*6 「YouTube Live」の横にある歯車アイコンをクリックした場合は、「Max Keyframe Interval」は設定変更できないようになっています。

*7 Mixerで配信する場合は、XSplitの設定画面にある「FTLを使用する」にチェックを入れると、自動的にこの文字列が入力されます。

*8 なお、「zerolatency」は、この両方の設定を0にするオプションです。

*9 ほかには、突発的かつ不適切なトラブルに備える意味もあります。たとえば、なにか映ってはいけないものが画面に映った場合や、話してはいけないようなことを話してしまった場合、すぐに配信を切ります。そうすれば、視聴者がその不適切な映像・音声を視聴するまえに配信が終わるので、トラブルを回避できるわけです。




| 新しいページ | 編集 | 差分 | 編集履歴 | ページ名変更 | アップロード | 検索 | ページ一覧 | タグ | RSS | ご利用ガイド | 管理者に問合せ |
@wiki - 無料レンタルウィキサービス | プライバシーポリシー