追記: 28.0 Beta 1でOBS本体がHLS対応したので試したら、遅延5秒~10秒程度で済みました。
遅延の原因はHLSらしいけど、RTMPはHEVC非対応なので仕方ないね。最初15秒遅延くらいだったので、一旦配信止まった時にLiveまで追い付けてない気がした。
- ストリームキーを作成する。YouTube→ライブ配信を開始→ライブ配信の設定→新しいストリームキーを作成 へ進む。ストリーミングプロトコルでHLS(高度)を選択、名前を適当に入れて作成。*1
- OBSをインストールする。↓のFFVCustom=preset=p7のように新形式プリセットを使うならGuide OBS Studio FFmpeg Upgrade · Xaymar/obs-StreamFX Wiki · GitHubを参考に差し替える(か自前ビルドする)。
- 録画タブを↓のように設定する。
[AdvOut] TrackIndex=1 RecType=FFmpeg RecTracks=1 FLVTrack=1 FFOutputToFile=false FFURL=https://a.upload.youtube.com/http_upload_hls?cid=****-****-****-****-****©=0&file=playlist.m3u8 FFFormat=hls FFFormatMimeType= FFExtension=m3u8 FFIgnoreCompat=true FFVEncoderId=173 FFVEncoder=hevc_nvenc FFVCustom=preset=p7 FFABitrate=64 FFAEncoderId=86018 FFAEncoder=aac FFAudioMixes=1 FFVGOPSize=60 FFACustom= FFVBitrate=2000
FFURLは1で生成したストリームURLをコピペして末尾にplaylist.m3u8を付け足した奴。 もっと設定値あるけど、一旦デフォルトを尊重した。他の設定例は↓
以上。メモ
— avalon (@psyche_lain) 2021年11月29日
OBS HEVC(H.265)
ストリームキータイプ HLS(Youtube側)
設定:
録画 ffmpeg URL(キーURL&file=index.m3u8) HLS すべてのコーデックチェック HEVC指定(HWタイプ)
録画ボタン=配信開始
参考動画https://t.co/E8FvA5SjjQ
上記のカスタム出力(FFmpeg)でURLを指定する方法以外に
- obs-tsukasaを入れる。*2
- UI/window-basic-settings.cppのconst char* streaming_codecs[]の//"hevc"のコメントアウトを解除してビルドする。*3
がありそうに思ったけど、1は「ストリームの状態 データなし」のままで使えず、2はビルド通らず、諦めた。
妥協案
そもそもは楽天モバイルを固定回線化する - 雑記で光回線捨ててアップロード帯域が細くなった後でも高画質で配信したかった…1080pは静止画だと綺麗だけど、動きが激しい時のブロックノイズが酷い。
配信は、FFmpeg差し替えるのが怠くなったので(new)の奴。1888kbpsは自動構成ウィザード結果を綺麗にした。 録画は、だとslowが一番重そうなので選択。CQPが良いらしいので文字が潰れない程度に34選択。他は既定を尊重。 ケチって24FPS。音声64kbps。
蛇足だけど、
- ラグ確認に使った時計 css4obs.starfree.jp
- 原神のキャプチャは「管理者としてこのプログラムを実行する」必要 vip-jikkyo.net
*1:アカウント接続はRTMPのキーを生成してるのか使えなかった
*2:【OBS】Open Broadcaster Software Part.9
*3:UI, obs-ffmpeg: Add support for other codecs by Xaymar · Pull Request #794 · obsproject/obs-studio · GitHubが当該コミット。最初StreamFXが隠してるのかと思ったけどAMF/NVENC H.265 (via FFmpeg) for Streaming on YouTube · Issue #627 · Xaymar/obs-StreamFX · GitHubでプラグイン側でUIを弄るのは無理と知った。Discordで「Darkerium — 2021/09/15 But because it could confuse those who stream on other platforms, which don't support H.265, it should be visible only when YouTube is selected (or any other platform which supports it for that matter). Correct, but YouTube supports HLS as well, which allows for H.265.」「Matt | WizardCM — 2021/09/15 yeah we currently don't want too much youtube-specific code everywhere」というやり取りがあったので正式対応は相当先っぽい。