FLV配信の手引き

「FLV配信の手引き」の編集履歴(バックアップ)一覧に戻る

FLV配信の手引き - (2013/10/21 (月) 12:50:25) のソース

静的エンコード:時間を際限なく使える。動画用エンコード
動的エンコード:peercast等のストリーミング配信で使用するリアルタイムエンコード
勉強する際はその違いを意識しておく事。
動画用エンコードの知識でリアルタイムエンコードを考えるのが間違いの元です。

視聴者側への配慮をお忘れなく。
自己満足、自己中心的な設定はしない事。


・FLV配信を考えている方へ
OBSを使いなさい。OBSを使いなさい。

自力で頑張れる方はFFMLを使っても良いです。
WinXPの方はFFMLしか使えません。
FFMLではSCFH-DSFを使用できません。SCFF-DSFの導入も必須になります。
必要とあればそろそろWin7に乗り換えましょう。


・OBSで配信する場合
 Open Broadband Software 
 FlazrDumper
 PeerCastStation or PecaStarter5.2

・FFMLで配信する場合
 FFMPEG
 FFMPEG Launcher
 FFFlvServer
 PeerCastStation or PecaStarter5.2

導入手段は各自頑張って探そう。
無理ならOBSがラクでいいよ!ラクでいいよ!

詳しくはこちら
・&blanklink(peercast配信者用wiki-FLV配信){http://pecardy.vanu.jp/?%C0%DF%C4%EA%2FFLV%C7%DB%BF%AE}



エンコーダーの説明
・ビットレート目安
 レトロSTGは低めにしても大丈夫
 弾幕STGは1.5倍~3倍を目安に
 ビットレートの自動調整機能がWMVより的確に働くので、余裕を取って設定しておくのが◎
☆エンコーダーのプリセットを使用する場合のバッファサイズは、Videoビットレートの0.5倍

400x300@30fps , [V:290-360kbps A:96kbps]
512x384@30fps , [V:475-600kbps A:96kbps]
640x360@30fps , [V:550-700kbps A:96kbps]
640x480@30fps , [V:740-930kbps A:96kbps]
512x384@60fps , [V:850kbps A:96kbps]
640x480@60fps , [V:1500kbps A:96kbps]

・設定あれこれ
 ・x264プリセット:medium
  以下から自分のPCと相談して選びましょう   
  [suparfast,veryfast,faster,fast,medium,slow]
  4コアならmiediumまで、i7ならslowまでを推奨
 ・x264プロファイル:high



・詳細設定欄-x264の詳細設定
半端な知識で下手に弄らない事。休むに似たり。
☆エンコーダーに予め用意されているプリセットmedium,プロファイルhighでも十分綺麗である。
それと比較して、良くなる場合は使用する事を検討しよう。
プリセットを使用した場合、負荷は配信側、視聴側共に増加する。
見当違いなパラメータの設定は、配信において様々な悪影響を出す。
自力で弄るなら深く勉強する事。

☆下記のプリセットを使用する場合のバッファはVideoビットレートの1~2倍


以下STG用プリセット------------------------------
x264プリセット:medium
x264プロファイル:high

※このプリセットはOBS用です。FFMLに使う場合は書き換えて使う事

30fps用
[4core 負荷:低]
aq-mode=1 aq-strength=1.0 deblock=0,1 nr=100 qpmin=16 level=3.1 crf=25 partitions=i8x8,p8x8,b8x8 me=dia bframes=1 ref=2 qpstep=8 qcomp=0.07 ratetol=1 mbtree=1 subme=7 keyint=300 min-keyint=15 force-cfr=1

[4core 負荷:高]
aq-mode=2 aq-strength=1.2 deblock=0,1 psy-rd=1.10:0.40 qpmin=12 level=3.1 crf=24 b-adapt=2 b-bias=0 ref=6 ipratio=1.25 qpstep=16 scenecut=60 qcomp=0.07 ratetol=1 mbtree=1 subme=9 keyint=300 min-keyint=15 force-cfr=1

[corei7 負荷:並]
aq-mode=2 aq-strength=1.2 deblock=0,1 psy-rd=1.10:0.40 qpmin=12 level=3.1 crf=24 partitions=all me=umh merange=24 b-adapt=2 b-bias=0 ref=6 ipratio=1.25 qpstep=16 scenecut=60 qcomp=0.07 ratetol=1 mbtree=1 subme=10 trellis=2 keyint=300 min-keyint=15 force-cfr=1

60fps用
[4core 負荷:高]
aq-mode=2 aq-strength=1.2 deblock=0,1 psy-rd=1.10:0.40 qpmin=14 level=3.1 crf=24 b-adapt=2 b-bias=0 ref=6 direct=1 ipratio=1.25 qpstep=16 scenecut=60 qcomp=0.07 ratetol=1 mbtree=1 subme=9 keyint=600 force-cfr=1
[corei7 負荷:高]
aq-mode=2 aq-strength=1.2 deblock=0,1 psy-rd=1.10:0.40 qpmin=12 level=3.1 crf=24 partitions=all me=umh merange=24 b-adapt=2 b-bias=0 ref=6 ipratio=1.25 qpstep=16 scenecut=60 qcomp=0.07 ratetol=1 mbtree=1 subme=10 trellis=2 keyint=600 force-cfr=1
---------------------------
音ズレ対策
・OBS:設定>詳細設定>サウンド
vデスクトップオーディオ~
vマイクQPタイムスタンプを仕様
 の二つにチェックを入れる

・FFML>FFMPEG>音声
v同期方式
 音声同期方式にチェックを入れる
 (デフォルト100→1000)余裕があれば減らしていく

---------------------------
いろいろメモ書き
汎用プリセット[4core 中負荷]
aq-mode=2 aq-strength=0.5 deblock=1,1 psy-rd=0.5:0.00 qpmin=12 level=3.1 crf=24 b-adapt=2 b-bias=0 ref=6 direct=auto ipratio=1.40 qpstep=8 qcomp=0 ratetol=1 mbtree=1 subme=9 keyint=300 min-keyint=30 rc-lookahead=30 scenecut=40
汎用プリセット対比
・ドット2D格ゲー『aq-strength=0.2-0.5 rc-lookahead=fps/2 qpstep=16』
・ドット2Dアクション『direct=1 aq-strength=1.0 qpstep=12』
・レトロドットゲーにおいて、ドットを際立たせたい場合『aq-strength=1.5-2.0 psy-rd=1.2:0.5 direct=1』
・レースゲーにおいて 『direct=auto aq-strength=0.7,psy-rd=0.7-0.3,
・3D格ゲー及び3Dモデリングが動く類 『aq-strength=0.2-0.5 direct=auto psy-rd=0.5:0.0 
・作業・ノベル系『24fps化を検討後、qpmin=8 qpstep=4 min-keyint=fps*1.5 scenecut=30 crf=23』
・2Mクラスの超高画質・高ビットレート系配信『ピアキャス以外でやれ』

☆自力で調整したい場合について
・自己責任で弄る事。下手なパラメータ指定は崩壊の元なので無闇に弄らない。

・主に弄るのは、levelより前と、keyintより後ろ。その間は弄るな。
 ○○○○-level-xxxxxx-keyint-○○○○
・levelより前の項目:画質の調整。ハッキリ映したい、ボカしたい。ブロックノイズ制御等
 aq-mode,aq-strength, deblock ,nr= or psy-rd=,
 qpmin:平均ビットレートの制御に繋がる。(推奨は8-16)
     qpminを上げればビトレ平均は下がる。0は最大。ビトレは節約しましょう。
・フレームレートに対するキーフレームについてはkeyint以降の項目を弄る事。
 rc-lookahead:30fpsの場合は15-60 , 60fpsの場合は30-120
        基本的にfpsと等倍で良い。増やし過ぎるとメモリ使用量が増える(視聴者側も含む)
-----------------------------------
トラブルシューティング
Q.FFMLに上記のプリセットをコピーしたけど、エラーが出て使えない!
A.さっさとOBSに乗り換えましょう

Q.ビットレートの変動値が30%以内に収まらない
A.バッファを0.5倍まで下げておくように。
  別回答はあるので、コダワル方は、変動値の抑制方法を自力で勉強する事

Q.チャンネルリストに乗らない!
A.-サーバーツールは動かしているか?
 -ペカステのジャンル指定を間違ってないか?
  ジャンル:sp?@stg ←SPは小文字のspを指定だぞ。判らなければペカスターター5.2を使っとけ

Q.配信画面が緑色で崩壊してる!
 -サーバーツールを再起動
 -ピクセルフォーマットを[yuv420p]にする
  なおFFML+SCFH(RGB32)は拡張機能を追加しないと緑色画面になる。

Q.FFMLにて profile.highエラー
 -ピクセルフォーマットの指定が抜けている可能性が大


------------------------------------------------------------
2013-11-30 追記
[[FLV 砂場]]