分享Linux擷取卡搭配OBS Studio錄影,以及調整擷取卡畫面的心得。
有時候Ivon在資源有限的硬體跑一些比較吃效能的遊戲時,就會遇到螢幕錄影搶資源的情況,例如 樹莓派Box86跑Steam遊戲,或者 iPad UTM跑Steam遊戲。
只要一開螢幕錄影軟體,就會導致遊戲效能下降。所以Ivon想要用外部的方法來進行錄影,也就是說錄影不會佔用該裝置的資源。可是,不論是AirPlay投放,還是遠端桌面,都會有無線延遲的問題。那麼要取得最好的畫面品質,果然還是得用擷取卡了吧。
擷取卡(captrue card,採集卡)能將裝置HDMI輸出的畫面捕捉下來,並透過USB傳送到Linux電腦,如此一來我們就能用OBS Studio錄製擷取卡的畫面。這個時候錄影軟體是在電腦上運算,就不會佔用該裝置的資源了。
此外,由於Linux有「v4l2」的模組,可以額外給擷取卡畫面做一些後製效果,比如套用濾鏡、用AI放大畫面等等。
1. 準備USB擷取卡與HDMI線材#
市面上有很多便宜的USB擷取卡,單一裝置錄影買擷取卡就夠了,沒必要用到擷取盒。
我個人是買支援4K@30輸入、1080@60輸出的擷取卡,不考慮HDR。為了降低延遲選支援USB 3.0的版本。
Linux核心支援UVC (USB Video Class) 驅動,擷取卡只要符合UVC標準應該不會出現Linux沒驅動的狀況。不過買之前還是詳細了解一下產品資訊比較好。
接著依照裝置HDMI的接口,購買不同的HDMI線材。
比如我的iPad是使用包含HDMI輸出的Type-C擴充座,能夠輸出畫面兼充電,那麼只要再準備一條「HDMI公對公」的線即可。
樹莓派的話需要買micro-HDMI轉HDMI的轉接器,再接上一條HDMI公對公的線。
2. 將擷取卡插到Linux電腦#
這個擷取卡是HDMI母頭,用於接收HDMI輸入的訊號;另一頭USB是接電腦USB的。
以iPad為例,插上Type-C擴充座,再將HDMI線插上,並將HDMI線連接到擷取卡,如下圖:
再將擷取卡的USB端插到電腦的USB
Ubuntu用
lsusb
指令可以看到擷取卡的硬體資訊如何存取擷取卡畫面呢?最簡單的方式是透過 VLC播放器,點選「開啟擷取裝置」即可看到擷取卡的畫面。
3. 使用OBS Studio錄製擷取卡畫面#
使用UVC驅動的擷取卡其實等同一部Webcam,所以能用Linux的v4l2工具調整傳入的畫面。
在 Linux安裝OBS Studio與v4l2模組
開啟OBS Studio,新增擷取影像裝置(V4L2)。
在這裡你可以調整解析度和FPS。
至於擷取卡音效部分,點選新增擷取音效輸入(PulseAudio)
除非是有DRM保護(HDCP)的內容,不然應該都能錄影。如果錄製影片的顏色怪異可能得關掉錄影來源裝置的HDR。因為目前Linux桌面要KDE 6.0 Wayland以上才有HDR支援,不符合條件的話螢幕顏色會不正確。
OBS Studio錄影的時候聽不到聲音,但是錄出來的影片是確實包含擷取卡音效的。
4. 用AI放大擷取卡畫質#
擷取卡輸出只有1080p?用AI將畫質提升到4K! *僅適用動漫畫圖像。
安裝 MPV與Anime4K。有需要補幀的話再裝 MVTools
利用v4l2找出擷取卡影像裝置
v4l2-ctl --list-devices
- 利用PulseAudio找出擷取卡的音訊裝置
pactl list sources | grep USB
- 執行指令,讓MPV抓取擷取卡畫面
mpv av://v4l2:/dev/video0 --audio-file=av://alsa:hw:1,0 --profile=low-latency
- 如此一來你就能用Anime4K的快捷鍵,提高來源畫質了~ 不過MPV似乎沒辦法順利播放聲音的說。