WFU WFU

2013/04/01

OBS 實況直播教學

本文主要是教導實況基本知識和要點掌握,請把這篇文章仔細看完才知道主要設定的細
大多數的問題在 FAQ 問答留言板 都有解答。

與其發文並等待他人回應,我會選擇仔細看完文章、自己搜尋答案(善用 Google 和 FAQ),
並嘗試熟悉軟體的操作和多次測試,再發文比較洽當。
內容若有不足,請多加善用網路上其他相關文章或他人教學。
如有錯誤的地方請以官方資料為主,也煩請告知修訂,謝謝。
官方指南  Official Guide »


有些問題我也沒遇到過,請到以下討論區可以幫忙
  • 建議先到官方論壇回報和提出建議或等官方修正更新,才能得到最好的幫助。
    OBS Official Forum http://obsproject.com/forum/
    官網有很好的回報系統和完整的教程 



    文章段落索引:

    【基本前提】

    【關於 Twitch 伺服器】

    【關於 OBS 設定選項解說】

    【OBS 設定示範】OBS 不支援在 Windows XP 上運行






    【基本前提】

    • 建議硬體需求 : 3 Ghz 四核心以上 CPU (建議用 Intel i5 or i7 2代以上)
    • 建議有 3M~5M 以上的網路上傳頻寬。因為大多數我們玩遊戲會開很多使用到頻寬的其他軟體,只使用總頻寬的 75%~80% 於直播,例如 2M 設定 1500 kbps,保留 500 kbps 系統使用,以免遊戲和Skype LAG。
    • 多數狀況都不是 OBS 軟體本身的問題。大多都是個人電腦軟硬體和網路環境(連國外頻寬)的問題。
      例如:

      硬體方面(CPU、顯示卡、記憶體、音效晶片、網路連線.... 有問題);
      軟體方面(沒安裝適當的軟體環境、驅動程式、防火牆設定...或軟體衝突 or Bug)
      出現這些奇怪的問題我也無解,多自己找找原因才能知道問題點在哪。
    • 實況時請稍微注意一下個人隱私、網路安全、個人資料、各種帳號密碼和朋友之間的交談...等。
    • 請遵守 Twitch.tv 網站官方的使用規範。





    【關於 Twitch 伺服器】


    除了早期的歐美,2015年2月開始有在亞洲區佈署上傳伺服器。

    推薦高流量上傳可選 Taipei,也可選鄰近地區 Tokyo / Hong Kong 當作備用。

    有部分網友說用原來的舊金山上傳在讀取時穩定些。

    原因應該是選舊金山上傳,再從舊金山讀取比較穩定,不過上傳國外不能設定太高。

    但其實不管選哪一個地區上傳,下載的實況和影片流量都一樣還是從 San Francisco 美西舊金山網段讀取。當然不同 ISP 連海外也會造成的不同結果。




    以下建議是個人測試的結果(台灣使用 Hinet ISP)與你所在地可能情況不相同。


    不同連線單位(ISP)的頻寬因為使用者多寡、和時段不同(或區域)和其他原因,會有不同的狀況。
    使用 http://www.speedtest.net/ 測試連線到所選伺服器(例如美國西部)的頻寬可以到多少。

    實況主上傳無論選美國、歐洲、或亞洲任一區域的伺服器,觀眾下載資料(實況流量)都是從美西舊金山 San Franisco 的 IP 網段路由下載的。
    所以個人覺得上傳伺服器選
    美西-舊金山 US West:San Franisco, CA
    或是
    美西-洛杉磯 US West:Los Anglese , CA



    選 US West:San Franisco, CA 的區域之後,會在這區域有好幾台伺服器做負載平衡 (Server Load Balancing) 系統會自動選擇主機,上傳延遲很嚴重可以重新啟動串流來切換主機看能不能解決,當然特定的時段若使用的人數很多時,再怎麼切換還是沒辦法囉!
    PS: 實況主上傳和觀眾下載沒有絕對的關係
    例如: 上傳穩定、下載不一定順暢; 但上傳不穩定、下載一定不順暢。


    雖然新加坡伺服器地理位置比較近,但不穩定的機率比美西-舊金山伺服器還常發生

    TWNIC 台灣網際網路連線頻寬圖


    2013/1月,國外連線頻寬統計表

    檢測伺服器延遲軟體
    (一) JTVPing

    (二) OBS 插件 Server Ping Plugin: 可加載一個插件方便觀察每個伺服器的狀況 有32位元和64位元版本,請安裝相對應的版本 到此頁面尋找程式 https://obsproject.com/forum/resources/server-ping-plugin.17/ 請解壓縮 ServerPingPlugin.dll 後放到 OBS 安裝位置裡的 plugins 資料夾中,重新開啟 OBS 使用。


    Twitch.TV 專門遊戲實況,註冊帳號後記得到你的 E-mail 信箱回覆連結才能完成通過帳號申請。


    請在帳號設定正確的頻道類別
    Twitch.TV 介面


    Stream key 取得方式
    TwitchTV:
    1. 先登入 TwitchTV 之後
    2. 點選網頁最上方右邊的帳號按鈕
    3. 點選儀錶盤
    4. 點選 Stream key
    5. 點最下方的按鈕「展的關鍵」Show key 即可出現 Stream key 字串,複製貼回 OBS。








    【關於 OBS 設定選項解說】

    x264 編碼應用於實況即時資料流,其實並不建議也不需要設定 Custom x264 Encoder settings 的參數。 藍光規範限制最大視頻碼率為 40Mbit/s (40,000 kbps),最大緩衝為 30Mbit/s (30,000 kbps)。但應用於實況即時串流則必須考慮頻寬流量,而設定了 Bitrate 也就表示您的畫面品質被限定範圍了。



    官方指南 [Guide] How to make high quality local recordings下方紅色框內容如何製作錄製高品質影片


    以下相關參數可以設定一個設定檔來專用於錄製影片在硬碟的設置,不要試圖使用這些設置用於實況直播!


    CBR:
    用於實況請開啟 CBR 固定位元速率能讓實況的上傳頻寬流量更穩定 (TwitchTV 是建議啟用 CBR)。但是如果要錄製在硬碟的影片不建議使用,因為會影響到畫質。


    CBR padding:
    實況時請開啟使用,錄影時請和 CBR 都一起關閉。


    CFR:
    OBS 論壇有討論到使用 CFR 參數通常是用於設定錄製影片時才用。




    下圖進階中
    使用 Twitch.tv錄製影片在硬碟時,請把「使用 CFR (固定畫格速率)」勾選
    這個選項是我們 FPS 設定 30 或 60 時,直播或錄影時可以補足影格,使畫面更順暢。

    自訂 x264 設定可以不用設定,除非想獲得更高的影像品質,才需要設定參數。
    Ex: 自定義X264參數: crf= X,X是從1-20之間。

    越低的 CRF 數值需求更高的 CPU 使用量和產生更大的檔案,用於實況請不要更改進階中自訂 x264 編碼,除非知道進階的所有功能,請不要更改進階選項的功能。











    編碼
    使用CBR: 禁用
    畫質平衡 Quality Balance: 10
    最大位元速率: 1000
    使用自定緩衝大小: 啟用
    緩衝區大小: 0
    (解析度720或1080p才是應該考慮的地方、只要電腦能處理,至於 bitrate 設定多少並不是很重要。只要設定緩衝區大小為 0 ,編碼器只會注重 CRF 設置數值,並會自動盡可能的使用 Bitrate 流量,進階中 x264 CPU Preset 不需要去改變它。 )


    廣播
    模式: 只輸出檔案
    檔案路徑: 選擇要儲存的硬碟和目錄
    快速鍵: 設定「開始/停止」鍵


    影像
    解析度縮減: 720p 或 1080p (產生的檔案大小不同)
    濾鏡: Bilinear
    FPS: 30 or 60


    進階選項
    使用 CFR (固定畫格速率): 要用影像編輯軟體來作後製時,請啟用才能兼容。
    使用自定義X264參數: 啟用
    自定義X264參數: crf= X    (參數請用小寫英文字母)
    其中,X是從1-20之間,越低數值 / CPU使用率較高。好的範圍是15 - 20範圍內。 越低就越接近無損畫質,並將有非常高的文件大小和CPU的要求,所以要小心!
    可以不用設定此參數即是預設值。


    說明:
    緩衝區大小設置為 0 用來禁用VBV系統,讓 X264 可不限制流量達到質量(CRF)。如果你想進一步提高質量,你需要使用進階選項 。
    Quality Balance 10 等於 CRF 22 用在實況時已經算不錯的品質,除非想要錄製高品質影片在硬碟裡,您可以設定 CFR 功能來獲得較好的品質(並且關閉 CBR),建議值crf=15 到 20 之間,再次強調這些設定請勿用於實況中。

    對於各種編輯軟件的兼容性,建議啟用CFR(高級選項),不要使用CRF 0。0 CRF使用“High 444”模式,很多編輯軟件(以及一些視頻播放器)無法處理。




    以下說明是應用在一般實況

    Quality Balance:
    1~10 (建議設定 6~10 之間),quality 10 相等於 CRF  22 的畫質。
    Qualty 這個參數設定最高,表現出的畫質較清晰。越高的解析度 Resolution 和 Quality Balance 需要越高的流量來表現。
    當畫面變化很大或解析度很高(1080p),但流量 Bitrate 設定過低時就會產生塊狀畫面。
    設定6~8 可些微均勻畫面細微表現(或說模糊化),使看起來比較沒有塊狀現象。


    註 : 
    當我們在 OBS 設定勾選啟用 CBR 選項時,OBS 會忽略 Quality Balance (畫質平衡),也就是無法設定。
    不過好處是實況主的上傳流量和觀眾的下載流量會更穩定在一定的範圍之間,不會突然在實況畫面複雜時產生過高的流量而使畫面出現 Loading 等待 (當然 Flash player 出現 Loading 不一定就是這個單一問題)。


    Max Bitrate / Buffer Size:
    Max Bitrate :
    主要影響畫質,數值的大小是依據實際上傳頻寬而定。解析度越高會有越高的需求,在同樣的解析度設定下,流量較高表現出來的畫質較好。若觀眾電腦不能播放高畫質解析度和下載頻寬不足那應該適當調整。某些時段就算設定不高的數值也會產生 LAG。

    Buffer Size :
    畫面的緩衝大小,設定太高會導致突然瞬間超過 Max Bitrate 的設定值,而當超過上傳流量太多會導致 LAG。Buffer size 不要超過 Max Bitrate,一般網路上傳頻寬夠且順暢就設定相同即可。
                                     240p               360p               480p               720p               1080p
    Resolution            426x240        640x360        854x480        1280x720        1920x1080
    Video Bitrates
           Maximum      700 Kbps       1000 Kbps    2000 Kbps     4000 Kbps       6000 Kbps
    Recommended   400 Kbps         750 Kbps     1000 Kbps     2500 Kbps       4500 Kbps
           Minimum       300 Kbps         400 Kbps       500 Kbps      1500 Kbps      3000 Kbps

    官方建議別設定超過 3500 kbps,網站頻寬和觀看的人可能沒有相對的頻寬支援。
    720p @ 1500~2500 kbps 、 1080p @ 2500~3000 kbps以下,是台灣目前比較建議的設定。
    當然你也可以設定 720 @ 1000 kbps、1080p @ 1500kbps 靜態文字很清楚,但動態畫質稍差。
    若 Dropped Frames 丟幀現象,通常是網路在高流量上傳不順暢導致、或電腦硬體不能及時處理。


    Base Resolution(Custom & Monitor):
    X * Y (設定要擷取的畫面範圍的基本解析度),請設定和螢幕(桌面)相同解析度。


    Resolution Downscale:
    X * Y (將 Custom 設定的值,進行 x264 視訊壓縮得到最終直播的畫質)。


    Filter 濾鏡:
    Bilinear (fastest) 是常用的選擇。

    FPS: 30 or 60 (60 fps相較於 30 fps,有較好的眼睛視覺效果,但是基本上 30 fps 人眼就可接受了,1080P 請勿超過 30 FPS 這需要相當好的硬體支援;包括觀眾的播放硬體)

    x264 CPU Preset: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo(變更此選項,以權衡壓縮效率和編碼速度。如果指定了 x264 CPU Preset,變更的選項將會在套用所有其他的參數之前套用。通常應該將此設為所能忍受的最慢一個選項。如果是在藍光和影片壓縮,通常會設定在 medium~veryslow,因為當我們設定好了之後就讓電腦開著跑編碼,跑去做別的事情或睡覺,不用考慮時間上的問題 Intel i3 / i5 / i7 或 AMD CPU 最終得到畫質都一樣。但當應用於實況時,需要即時編碼畫面直播上傳 & 同時間進行遊戲的硬體配備效能,會考驗這項值的設定,實況軟體官方和眾多使用者已經幫我們測試和建議,目前這個值為 veryfast 是比較適合的。)

    結論
    實況軟體在程式設計時, x264 的參數早已經幫我們調教最佳的參數在程式裡了,所以不用過多的設定,用預設值即可。在網路關於 x264 編碼的技術文件,即使是編碼藍光影片壓縮和錄製影片,可調整的參數大多也用 x264 的建議預設值。
    (有新的 x264 編碼版本或有問題時,官方自然會發佈程式更新,翻閱官方改版記錄都可以發現有多次畫質調整的修改。)

    實況軟體還是簡單快速的使用,增加或修改複雜的參數都是多餘地且毫無意義,有時沒有幫助反而產生了編碼效能降低和不必要的麻煩。
    1.即時畫面編碼上傳 2.同時實況和遊戲的硬體吃重 3.頻寬流量...的需求,且軟體本身基本上已經幫我們制定出調整畫質的設定範圍。要馬兒好又要馬兒不吃草,基本上是不可能的。建議升級電腦配備 (CPU處理編碼和多工能力) 和足夠頻寬 (上傳順暢) 才是正確的作法。






    【OBS 設定示範】

    OBS 不支援在 Windows XP 上運行 (缺乏 DirectX 10 和音頻子系統的關係)
    基本上我會先考慮網路可以順暢上傳的流量,再來考慮解析度要設定720p或1080p
    OBS 官方網址  http://obsproject.com
    電腦配備設置估計 http://obsproject.com/estimator
    請先確認電腦已安裝如下

    DirectX 11
    DirectX End-User Runtime Web 安裝程式

    Microsoft .NET Framework 4.5.2
    Microsoft .NET Framework 4.5.2 (Web 安裝)
    Microsoft .NET Framework 4.5.2 (離線安裝)

    Microsoft Visual C++ 2013
    Microsoft Visual C++ 2013 可轉散發套件 (按下載選擇 x86 or x64)

    假若安裝上方 DirectX 11 後依然出現錯誤請補上 DirectX End-User Runtime (June 2010) 以補足遺漏的 .dll 檔案。



    關於 OBS 的使用設定,在功能列 - 幫助(H) - 說明(C)有很詳盡的圖文說明。

    說明中的建議
    • 除非完全知道進階 Advanced Settings 的功能,在正常使用下可以在不更改任何選項用預設值即可,也就是不要去動它。
    • 有很詳細的說明作業系統和最佳的實況畫面擷取 Which Capture method 的方法。
      請詳見 【常見問答 FAQ】Q2和Q3 項目作設定。











      1. 只需按一次「Preview Stream (預覽串流)」和「Edit Scene (編輯場景)」,即可在「Sources (來源)」中對個別物件作設定。
      2. 先點「Edit Scene (編輯場景)」後,圖片會出現紅色框架
      可對它直接拖曳到你想要的位置
      在預覽區域上按住 Shift + 滑鼠左鍵按住拖曳紅色邊框,對物件(圖形)調整大小時忽略縱橫比例。
      若不加 Shift 鍵,即是原圖片固定比例的變大或變小
      3. 可在「Sources (來源)」區域中用 Ctrl + ↑ ↓ 鍵盤上下鍵,對任意物件作畫面上前後景位置對換。
      4.每次修改「Settings (設定)」需把「Start Streaming (開始串流)」重新啟用。「Edit Scene (編輯場景)」則不需要重啟。
      5. 直播開啟後在預覽區域按滑鼠右鍵取消打勾「Enable View (啟用檢視)」,把預覽視窗停用可以減少電腦負荷。







      若出現擷取圖像只有一部分或跑出預覽範圍,請到『Sources(來源)』對『Software Capture(軟體擷取來源)』,按右鍵選『Fit to Screen(配合螢幕)』即可正常顯示。