在MAC上直播你的遊戲畫面!! part 2.

在以前寫了弄了一篇在MAC上直播的筆記,隨著時間演進,其實變得很多地方都不太管用,像是據說FMLE在10.9是跑不太起來的樣子。然而隨著時間,也有人製作出了更直接的直播程式來用,這邊就是要講一個似乎曝光度還蠻低的軟體 - CocoaSplit。

作者網址(話說,在mac上開直播本來就是很小眾的事情)

忘記在哪邊看到,作者坦承這個軟體「只是有興趣+寫給可能需要的人用」,所以軟體介面做的並不怎麼精緻,而且不是很保證所有功能都能100%運作........  好吧,其實是因為我遇到蠻多問題,而我不確定是大家都有這問題、還是只有我出問題。

CocoaSplit可以跟CamTwist結合使用,理論上這也是他主要的用法,但我自己不管怎麼嘗試,兩個合在一起用總是沒辦法順利的正確輸出壓縮的影像;而在聲音處理上,基本上還是要透過SoundFlower。

既然這樣,那我為什麼還要特地筆記這個軟體?就是因為這軟體吃的資源有夠低啊!


雖然我沒辦法跟CamTwist合併使用,但是幸好CocoaSplit有內建螢幕擷取的功能,而且也能指定多螢幕中的單一螢幕,功能上非常夠用;而且這螢幕擷取所耗的資源,感覺也是遠低於CamTwist的擷取,這讓筆電的直播也變得不那麼費力啦!

簡單講一下軟體的設定~
Video部分,Type裡可以選Desktop、AVFoundation、QTCapture、Syphon。其中第二和第三項,就是讓CocoaSplit可以去吃其他類的來源,像是Camtwist或其他,作者建議若用CamTwist請使用AVFoundation,不過我自己這邊都沒辦法使用(抓的到,但沒法正確錄影轉檔),所以這邊就以選Desktop做後續的設定介紹。

Source的部份,就是選擇想要直播的螢幕。



Compress的部份,就是選擇壓縮使用的方式,理論上AppleVTCompressor會有比較好的效能,但是我使用AppleVTCompressor壓出來的影像都會有問題,所以這邊我設定使用x264。點齒輪進入設定畫面裡,其實我不是很確定每項的意義,這邊僅提供參考;Preset選medium、Tune選animation、Profile選main(壓縮大於1280x720選high,但實際上好像沒差)、VBV Maxrate是流量設定,單位根據測試應該是kBit/s,若想直播1920x1200的大解析度畫面,流量可以設定到5100或以上,實際上這邊應該是受限於使用者網路居多。VBV buffer不確定是幹嘛,我這邊測試是設定可等於VBV Maxrate或更多,影片似乎比較不會頓(未證實)。Keyframe設定每1~5秒一個,也是看個人喜好,沒有流量問題的話,設定1秒似乎是比較可靠的。CRF不確定是幹嘛,維持預設值0。最下面的Use CBR Mode打勾。

在Resolution的部份,沒有特殊需求的話,就放給他跑原始解析度啦!1920x1200+Use Source給他催下去~~

FPS的部份,也是看硬體壓縮能力。而如果遊戲本身跑不到高fps的話,這邊擷取的高也是沒意義。一般30 fps就很夠用了。

Audio的部份,選擇SoundFlower不贅述;Bitrate單位一樣是kBit/s,所以一般選擇128就很夠用了;Sample Rate選擇44100。

畫面右邊是輸出端的設定,設定非常陽春,目前的功能僅只有「錄影到本地」與「直播到Twitch(Justin TV也可以)」。在錄影到本地的部份,點選並Add後,會跳出要輸入Destination的欄位,注意的是這邊要輸入MAC的絕對路徑位置。舉例來說,若想存到桌面,則輸入「/Users/使用者帳號/Desktop/test.mov」,在這邊一併要把輸出檔名填入。

若選擇Twitch輸出的話,則是要輸入選擇的直播server和key,這邊一般有在直播經驗的人應該都很熟悉。

在確認輸出項目前的Active有打勾之後(可以同時勾選多種輸出),就可以按下最下面的Stream!開始直播啦!一般我會建議先錄在本機端測試畫質和機器負載能力。

根據我自己的測試,以MBP 2012mid來說,可以輕易的錄1920x1200 30fps的畫面啊!大概只吃掉50~100%的負載(滿載是800%),所以以這樣的負擔來說,玩啥遊戲基本上都不會有什麼影響。

我想真的沒什麼能強求的了~~~~



2 則留言:

  1. 感謝,之前看 cocoa desktop 的預覽是黑白還以為真的黑白,所以橋了很久,終於弄出配合 camtwist 的設定。不過既然它自己就能截螢幕我會偏好軟體開越少越好。

    分享一下,camtwist 要開啓 syphon server,相關設定我是看這邊
    https://github.com/zakk4223/CocoaSplit/issues/10

    回覆刪除
    回覆
    1. 謝謝你的分享,只是我遇到的配合問題,並不是程式crash,而是cocoasplit有抓到CamTwist的畫面(預覽正常),但是錄出來的影像是有問題(一片慘綠or色塊)~

      不過在改用Dec 31 2013的那個版本的cocoasplit之後,這個問題似乎就解決了的樣子,使用AVFoundation可以正確抓到CamTwist的畫面(不用開syphon)。

      只是問題變成x264壓縮輸出時會吃比以前多很多的CPU,壓縮1920x1200 30fps的畫面,會吃掉我200~250%的CPU;但這個版本似乎又解決了我之前使用AppleVTCompressor輸出錯誤的問題,不僅可以正常輸出、而且CPU使用率低到讓人匪夷所思的地步啊!壓縮1920x1200 60fps的畫面,只吃掉我35%左右的CPU,怎麼想都應該是有用到硬體加速吧?

      不過AppleVTCompressor的影像畫質,感覺是比x264差一些,但是因為可以不用CBR的模式,好好抓一下流量,應該會得到比CBR模式的x264好的結果才對~

      刪除