「Twitch.tv を使ってストリーミング」の版間の差分
ナビゲーションに移動
検索に移動
細 (1版 をインポートしました) |
(同期) |
||
| 1行目: | 1行目: | ||
[[Category:ストリーミング]] |
[[Category:ストリーミング]] |
||
[[en:Streaming using twitch.tv]] |
[[en:Streaming using twitch.tv]] |
||
| − | Twitch.tv は [[Wikipedia:ja:Real Time Messaging Protocol|RTMP]] ベースの人気のストリーミングサービスの一つです。[[ |
+ | Twitch.tv は [[Wikipedia:ja:Real Time Messaging Protocol|RTMP]] ベースの人気のストリーミングサービスの一つです。[[Steam]] には Linux クライアントがあるため、ゲームや Linux デスクトップをストリーミングする方法を探している人がいるかもしれません。有名な Linux ブロードキャスティングプログラムはまだ存在しません、今のところは CLI ベースのものがよく使われます。このページではそのような方法のリストとして情報を提供しています。 |
==Twitch ストリーミングガイドライン== |
==Twitch ストリーミングガイドライン== |
||
| 21行目: | 21行目: | ||
==GUI の方法== |
==GUI の方法== |
||
| − | {{AUR|castawesome}} は ffmpeg ストリーミングの [[GTK+|Gtk3]] フロントエンドで Twitch.tv のサポートが付いています。 |
+ | * {{AUR|castawesome}} は ffmpeg ストリーミングの [[GTK+|Gtk3]] フロントエンドで Twitch.tv のサポートが付いています。 |
| + | |||
| + | * Open Broadcaster Software ({{Pkg|obs-studio}}) は Windows で人気のあるソフトウェアです。パッケージは公式ビルドではないので注意してください。Linux 版のアルファビルドも利用することができます ({{AUR|obs-studio-git}})。 |
||
| + | |||
| + | * SimpleScreenRecorder ({{Pkg|simplescreenrecorder}}) を使って twitch にストリーミングすることもできます。 |
||
| + | ** コンテナは FLV に設定してください。 |
||
| + | ** RTMP の URL を 'save as' フィールドに記入してください。 |
||
| + | ** 'separeate file per segment' のチェックが外れていることを確認してください。 |
||
| + | ** 動画のコーデックは libx264 に設定 (H.264 ではありません)。 |
||
| + | ** ビットレートは 2000 kbps などに設定。 |
||
| + | ** カスタムオプションフィールドに {{ic|1=preset=fast,minrate=2000,maxrate=2000,bufsize=2000,keyint=60}} と入力。 |
||
| + | ** 'minrate', 'maxrate', 'bufsize' の値は同じにしてください。 |
||
==Ffmpeg の方法== |
==Ffmpeg の方法== |
||
| − | 以下の方法は [[ |
+ | 以下の方法は [[FFmpeg]] パッケージを利用します: |
===.bashrc スクリプトを使う方法=== |
===.bashrc スクリプトを使う方法=== |
||
FFmpeg を使って twitch にストリーミングする方法の一つとしてユーザーの {{ic|~/.bashrc}} ファイルにシンプルなスクリプトを記述する方法があります。このスクリプトはデスクトップと OpenGL エレメント両方のストリーミングをサポートしています。 |
FFmpeg を使って twitch にストリーミングする方法の一つとしてユーザーの {{ic|~/.bashrc}} ファイルにシンプルなスクリプトを記述する方法があります。このスクリプトはデスクトップと OpenGL エレメント両方のストリーミングをサポートしています。 |
||
| 48行目: | 59行目: | ||
ffmpeg -f x11grab -s "$INRES" -r "$FPS" -i :0.0 -f alsa -i pulse -f flv -ac 2 -ar $AUDIO_RATE \ |
ffmpeg -f x11grab -s "$INRES" -r "$FPS" -i :0.0 -f alsa -i pulse -f flv -ac 2 -ar $AUDIO_RATE \ |
||
| − | -vcodec libx264 -g $GOP -keyint_min $GOPMIN -b $CBR -minrate $CBR -maxrate $CBR -pix_fmt yuv420p\ |
+ | -vcodec libx264 -g $GOP -keyint_min $GOPMIN -b:v $CBR -minrate $CBR -maxrate $CBR -pix_fmt yuv420p\ |
-s $OUTRES -preset $QUALITY -tune film -acodec libmp3lame -threads $THREADS -strict normal \ |
-s $OUTRES -preset $QUALITY -tune film -acodec libmp3lame -threads $THREADS -strict normal \ |
||
-bufsize $CBR "rtmp://$SERVER.twitch.tv/app/$STREAM_KEY" |
-bufsize $CBR "rtmp://$SERVER.twitch.tv/app/$STREAM_KEY" |
||
| 61行目: | 72行目: | ||
| -f x11grab || -f は x11grab からの入力を強制 |
| -f x11grab || -f は x11grab からの入力を強制 |
||
|- |
|- |
||
| − | | -s |
+ | | -s $INRES || -s は $INRES 変数を使って特定の画像サイズを設定 |
|- |
|- |
||
| − | | -r |
+ | | -r $FPS || -r は $FPS と同じ値にフレームレートを設定 |
|- |
|- |
||
| -i :0.0 || -i は入力を取得、この場合 x11 からスクリーン :0.0 を入力にする。調整可、例えば -i :0.0+500,100 なら画面位置 500/100 |
| -i :0.0 || -i は入力を取得、この場合 x11 からスクリーン :0.0 を入力にする。調整可、例えば -i :0.0+500,100 なら画面位置 500/100 |
||
| + | |- |
||
| + | | -b:v $CBR || -b:v は動画のビットレートが可変になるように指定します。ビットレートの値は $CBR で設定されます |
||
|- |
|- |
||
| -ab 96k || -ab は音声ビットレートを 96k に設定。'''-b:a''' という表記も可能 |
| -ab 96k || -ab は音声ビットレートを 96k に設定。'''-b:a''' という表記も可能 |
||
2016年10月25日 (火) 22:30時点における版
Twitch.tv は RTMP ベースの人気のストリーミングサービスの一つです。Steam には Linux クライアントがあるため、ゲームや Linux デスクトップをストリーミングする方法を探している人がいるかもしれません。有名な Linux ブロードキャスティングプログラムはまだ存在しません、今のところは CLI ベースのものがよく使われます。このページではそのような方法のリストとして情報を提供しています。
Twitch ストリーミングガイドライン
Twitch.tv サポート より:
ビデオ要件
- コーデック: H.264 (x264)
- モード: Strict CBR
- キーフレーム間隔: 2秒
オーディオ要件
- コーデック: AAC-LC または MP3, ステレオまたはモノ音声
- 最大ビットレート: 160 kbps (AAC), 128 kbps (MP3)
- サンプリング周波数: any (AAC), 44.1 KHz (MP3)
他の要件
Twitch のページで記載されていないものとして Y'UV420p ピクセルフォーマットの要件があります、Y'UV444 はあまりサポートされていません。
GUI の方法
- castawesomeAUR は ffmpeg ストリーミングの Gtk3 フロントエンドで Twitch.tv のサポートが付いています。
- Open Broadcaster Software (obs-studio) は Windows で人気のあるソフトウェアです。パッケージは公式ビルドではないので注意してください。Linux 版のアルファビルドも利用することができます (obs-studio-gitAUR)。
- SimpleScreenRecorder (simplescreenrecorder) を使って twitch にストリーミングすることもできます。
- コンテナは FLV に設定してください。
- RTMP の URL を 'save as' フィールドに記入してください。
- 'separeate file per segment' のチェックが外れていることを確認してください。
- 動画のコーデックは libx264 に設定 (H.264 ではありません)。
- ビットレートは 2000 kbps などに設定。
- カスタムオプションフィールドに
preset=fast,minrate=2000,maxrate=2000,bufsize=2000,keyint=60と入力。 - 'minrate', 'maxrate', 'bufsize' の値は同じにしてください。
Ffmpeg の方法
以下の方法は FFmpeg パッケージを利用します:
.bashrc スクリプトを使う方法
FFmpeg を使って twitch にストリーミングする方法の一つとしてユーザーの ~/.bashrc ファイルにシンプルなスクリプトを記述する方法があります。このスクリプトはデスクトップと OpenGL エレメント両方のストリーミングをサポートしています。
スクリプトを使う時はターミナルに次を入力します:
$ streaming streamkeyhere
スクリプトが実行している間、pavucontrol を使って音声ソースを編集します。
.bashrc スクリプトは以下のようになります:
streaming() {
INRES="1920x1080" # input resolution
OUTRES="1920x1080" # output resolution
FPS="15" # target FPS
GOP="30" # i-frame interval, should be double of FPS,
GOPMIN="15" # min i-frame interval, should be equal to fps,
THREADS="2" # max 6
CBR="1000k" # constant bitrate (should be between 1000k - 3000k)
QUALITY="ultrafast" # one of the many FFMPEG preset
AUDIO_RATE="44100"
STREAM_KEY="$1" # use the terminal command Streaming streamkeyhere to stream your video to twitch or justin
SERVER="live-fra" # twitch server in frankfurt, see http://bashtech.net/twitch/ingest.php for list
ffmpeg -f x11grab -s "$INRES" -r "$FPS" -i :0.0 -f alsa -i pulse -f flv -ac 2 -ar $AUDIO_RATE \
-vcodec libx264 -g $GOP -keyint_min $GOPMIN -b:v $CBR -minrate $CBR -maxrate $CBR -pix_fmt yuv420p\
-s $OUTRES -preset $QUALITY -tune film -acodec libmp3lame -threads $THREADS -strict normal \
-bufsize $CBR "rtmp://$SERVER.twitch.tv/app/$STREAM_KEY"
}
| パラメータ | 説明 |
|---|---|
| ffmpeg | コンバータ |
| -f x11grab | -f は x11grab からの入力を強制 |
| -s $INRES | -s は $INRES 変数を使って特定の画像サイズを設定 |
| -r $FPS | -r は $FPS と同じ値にフレームレートを設定 |
| -i :0.0 | -i は入力を取得、この場合 x11 からスクリーン :0.0 を入力にする。調整可、例えば -i :0.0+500,100 なら画面位置 500/100 |
| -b:v $CBR | -b:v は動画のビットレートが可変になるように指定します。ビットレートの値は $CBR で設定されます |
| -ab 96k | -ab は音声ビットレートを 96k に設定。-b:a という表記も可能 |
| -f alsa | alsa からの入力を強制 |
| -ac 2 | 音声チャンネルを 2 に設定 |
| -i pulse | pulse からの入力を取得 |
| -vcodec libx264 | 動画コーデックを libx264 に設定 |
| -crf 23 | ffmpeg の constant rate factor を 23 に設定 |
| -preset "$QUAL" | プリセットの圧縮品質と速度を設定 |
| -s "1280x720" | 画像のサイズを 720p に設定 |
| -acodec libmp3lame | 音声コーデックを libmp3lame を使うように設定 |
| -ar 44100 | 音声レートを 44100 hz に設定 |
| -threads 0 | 作成する cpu スレッドを設定、0 は cpu のコア数に基づいて自動的にスレッドを作成 |
| -pix_fmt yuv420p | ピクセルフォーマットを Y'UV420p に設定。デフォルトで使用される Y'UV444 は twitch が対応していない |
| -f flv "$URL" | フォーマットを flv に強制して、twitch の RTMP url に出力 |