ScreenX TV を使ってライブコーディングを配信する


ScreenX TV は、あなたのターミナル画面を配信するためのウェブサービスです。ハッカソンの中継や講義/勉強会の配信、また、ペアコードリーディングなどの場面で活用することができます。

1. 配信の準備

ScreenX TV の配信ツールをインストールすることで、いつでもターミナルを配信することができるようになります。配信ツールには、Ruby版とGCC版の2つがあります。いずれの配信ツールにおいても、screen コマンドをインストールしておく必要があります。

Screen コマンドのインストール方法

  • Mac OS X: brew install screen
  • Linux (Ubuntu or Debian): sudo aptitude install screen
  • Windows: Cygwin 上で Screen コマンド をインストールする。

Ruby版配信ツールのインストール方法(推奨)

  1. Ruby 1.9.3(またはそれ以上)と RubyGems をインストールします。
  2. RubyGems を使って screenxtv コマンドをインストールします。

    gem install screenxtv

  3. 以後、screenxtv コマンドを実行することで、ターミナルを配信することができます。

GCC版配信ツールのインストール方法(Ruby版が動かないとき用)

  1. 配信ツールのソースコードを GitHub からダウンロードします。

    git clone https://github.com/screenxtv/screenxtv-gcc-client.git

  2. ダウンロードしたソースコードへ移動し、コンパイルします。

    cd screenxtv-gcc-client

    make

  3. 以後、配信ツールを起動することで、ターミナルを配信することができます。

    ./screenxtv-gcc-client

2. 配信の開始

  1. 配信ツールを起動します。

    • Ruby版: screenxtv
    • GCC版: ./screenxtv-gcc-client
  2. 必要な項目(配信URL、タイトルなど)を入力してします。

  3. 最後に Enter キーを押すと、配信が開始されます。

3. 配信の停止/再開

  1. Screen のセッションから exit することで、配信を停止することができます。

    NOTE: exit してから10分以内であれば、いつでも配信を再開することができます。

  2. 再び配信を開始したい場合は、再度配信ツールを起動して下さい。

プライベート配信(Ruby版配信ツール専用機能)

また、最新のRuby版配信ツール (ver. 0.0.9) からは、-p オプションでプライベート配信が出来るようになりました。詳細は --help または次の Usage を参照してください。

Usage: 
  screenxtv [options]

Options:
    -u, [--url]     # Select a url (e.g. yasulab, tompng)
    -c, [--color]   # Select a color (options: black/white/green/novel)
    -t, [--title]   # Select a title (e.g. Joe's Codestream)
    -r, [--reset]   # Reset your default configuration (e.g. url, color, title)
    -f CONFIG_FILE  # Path to a preset configuration 
    -p, [--private] # Broadcast your terminal privately (anyone who has the link can access)
    -h, [--help]    # Show this help message and quit
    -v, [--version] # Show ScreenX TV Ruby Client version number and quit

独自URL/ログ機能

他にも、ユーザアカウントを作ることで、独自のURL(他の配信者には使えないURL)を取得したり、配信中のコメントのログを残したりすることができます。

欲しい機能や要望などがありましたら

次項のレポジトリから issue を作成したり、 pull request を送ってください :-)

サンプル

レポジトリ・記事など.