Edited at

勉強会を支える技術: Twitterでライブ配信する方法

YYPHPというPHPerが週に一回集まって、PHPやPHPまわりについて雑談するイベントがありますが、そこではYouTube LiveとTwitterライブ配信を使って、イベントの雑談をラジオ的に配信しています。

本稿では、そうしたプログラミング関連の勉強会を支えるTwitterライブ配信のしかたを解説します。

ちなみに、YYPHPの過去のライブ配信を見てみたい方はYouTubeの動画一覧を御覧ください。


Twitter配信のメリット

YouTube Liveはチャンネル登録者には通知が行くのでリピーターの視聴は得やすいですが、新規視聴者にはYouTube単体ではリーチしないので、飛び込み視聴者はなかなか獲得しにくいです。

一方、Twitterのライブ配信は、Twitterアプリ上で見れる、タイムラインの最上部に出てきて目に付きやすい、配信開始と同時にツイートされる、RTなどで拡散されやすい、などエンジニアが多いSNS上で配信→PR→拡散が完結するため、視聴者が増えやすい感じがあります。

Twitterアプリ(iOS)でライブ配信がクローズアップされる様子

Twitterライブ配信開始時に投稿されるツイートの例


Twitterライブ配信のしくみ

Twitter自体にはライブ配信の機能がありませんが、Twitter社が買収したライブ配信アプリ「Periscope」と組み合わせることで、ライブ配信をTwitter上に展開することができます。

配信者

|
| 配信する
v
Periscope <---[連携]---> Twitter
^
|
| 視聴する
視聴者

Periscopeのライブ配信は無料で行えます。


Perisocpeのアカウントを作り、配信に必要な情報を揃える



  1. https://www.pscp.tv を開く。

  2. Create AccountからTwitter認証でPeriscopeのアカウントを作る。

  3. ログインしたら、Producerページを開き、「Create New Source」ボタンを押す→「Normal Source」を選択。

  4. 「Server URL」と「Stream Name/Stream Key」を控える。


  5. 「Low Latency」にチェックを入れておく。


OBSでの配信設定


ストリーム配信する場合(通常の配信方法)

Twitterライブ配信(Periscope配信)をメインにする場合です。YouTube Liveなど他メディアをメイン配信、Twitterライブ配信をサブ配信にする場合は、「レコーディングを使って配信する場合」を読んでください。


Streamの設定


  1. OBSの「Settings」→「Stream」を開き、「Service」は「Twitter / Periscope」を選択、「Server」は「Asia/Pasific: Japan」、「Stream Key」には上の手順で控えた「Stream Name/Stream Key」を入力する。



Outputの設定


  1. 「Output」を開き、Perisocpe推奨の値にする。(※推奨値はPeriscopeアプリに表示される「Recommended Settings」を参照。「Low Latency」が有効なときとそうでないときで推奨値が異なります。)


    • Video Bitrate: 800

    • Encoder: Software(x264) … もしくは、H.264/AVCにエンコードできる同等のツール

    • Audio Bitrate: 96





Auidoの設定


  1. 「Audio」を開き、Perisocpe推奨の値にする。


    • Sample Rate: 44.1khz




Videoの設定


  1. 「Video」を開き、Periscope推奨の値にする。


    • Base (Canvas) Resolution: 960x540

    • Output (Scaled) Resolution: 同上

    • Common FPS Values: 30





レコーディングを使って配信する場合

この方法は、ストリーミング配信にYouTube Liveなど他メディアがすでに割り当てられていて、Twitterライブ配信を2本目の配信チャネルとして追加したい場合の設定です。

OBSは1つしかストリーミング配信先を設定できませんが、動画のレコーディング先をファイルではなくURLにすると、なんと実質2本目の配信チャネルを追加することができます。裏技的なやつですね。


Outputの設定


  1. OBSの「Output」を開き、「Output Mode」を「Advanced」に切り替え、「Recording」タブを開く。

  2. 出力先をPeriscopeのURLにする:


    • FFmpeg Output Type: Output to URL

    • File path or URL: 上の手順で控えた「Server URL」と「Stream Name/Stream Key」を続けて書く: 例: rtmp://jp.pscp.tv:80/x/4why63f7nfda



  3. Periscopeの推奨設定に合わせる:


    • Video Bitrate: 2500 (合ってるか自信ない)

    • Keyframe interval (frames): 90 (合ってるか自信ない)

    • Rescale Output: 960x540

    • Audio Bitrate: 96




配信開始方法

OBSの「Start Streaming」を押して配信開始の準備に入ります。Periscopeは、OBSの「Start Streaming」を押しただけでは配信されません! あくまで準備です。


レコーディングで配信を開始する上での注意点

ストリーム配信ではOBSの「Start Streaming」ボタンを押して開始になりますが、レコーディングを使って配信する場合は、「Start Recording」を押します。

例えば、YouTube Liveはストリーム配信で、Twitter配信はレコーディングを使うような設定になっているとき、YouTubeとTwitterに対してマルチ配信する場合は、「Start Streaming」と「Start Recording」をそれぞれ押す必要があります。


PeriscopeのProducerでプレビューを確認する

PeriscopeのProducerを開きます。Periscopeへの動画配信が問題なく疎通していれば、プレビュー動画が表示されます。

タイトルを入れて、「Go Live」を押すと実際に配信が始まります。