2023年3月24日 星期五

啟動瀏覽器的硬體解碼加速(Firefox, Chromium like);Enable browers' hardware decode (Firefox, Chromium like)

      自從裝了 DG2 之後,不斷地嘗試各種軟體的 Encode/ Decode 功能,除了 mpv 之外,最常使用的軟體就是 Web Browser 了。

      我的主力 Browser 是 Firefox,次之是用 Brave 來應付 Firefox 不正常的部份。截至該篇文章的軟體版本如下:

  • Firefox 111.0.1
  • Brave 1.49.128

    目前 Browser 都是透過 vaapi 來進行 hardware decode,目前 Firefox 只要是 vaapi 支援的格式,都能順利硬體解碼(h264, VP9, AV1)。

      Brave (Chromium like) 目前只支援 h264, VP9,希望未來能補齊。
 

2023年1月16日 星期一

Fix broken Intel ARC ffmpeg encode/decode bug in Debian(12) bookworm

      最近例行性的更新套件後,發現我的ARC 顯卡不能正常 decode/encode 了,已確定 Kernel 版本及 firmware 的版本,追蹤了 media-driver 以及 cartwheel-ffmpeg 的訊息後,才知道 intel-media-driver-non-free-2.2.5.6 有一個 bug 造成 hw accel 失效。

    解決方法:

  1. 等待 2.2.6.6 的版本釋出,目前 2.2.6.6 已經納入 unstable,相信過幾天就會進到 bookworm。
  2. 降版至 2.2.6.4

如果您跟我一樣不想等的話,就採用降版的方式最快,好在 Debian 都有提供舊版的 package,可以連線至Debian snapshot:package intel-media-driver-non-free 22.6.4+ds1-1,抓下適合系統的版本再強制安裝,就能正常啟動 hw accel 了。

    提供給大家參考。

2022年12月30日 星期五

Intel DG2 ARC 顯卡 Kernel DRM patch。Vaapi hardware decode/encode

緣起

年中的時候入手了一片 Intel A380 顯卡,因為 Intel ARC 顯卡的多媒體支援程度高,也主打 AV1 encode/decode 高效能!對於常常在轉檔的我,是相當有吸引力的,加上目前顯卡價格居高不下,支援 av1 decode 的顯卡幾乎破萬,所以價格不到一半且有 av1 encode/decode 真的是讓人想早點擁有!

早點入手的壞處就是驅動不完善,軟體不支援!入手時的軟體環境是 Debian bookworm, Kernel-5.19, ffmpeg-5.1。重點是 Kernel drm 無法驅動這張顯卡,頂多用 1024x768 那種糊糊的解析度,更不用說 ffmpeg + mpv 的多媒體功能。

2022年12月28日 星期三

善用 debootstrap 建立 SDK/RDK 開發環境

 前言

       因為工作或興趣需求,常常需要在不同的環境下編繹程式,但如 Debian Stable backport 套件或是embedded system 的 cross-compile 套件,然而每個環境都會有對應的 OS:Debian backport 時必須安裝 Stable;不同的 SDK 也會有 OS 環境限制(常見有 Ubuntu)。

       拜 Virtualization 的技術,目前有 VirtualBox, VMware, KVM 的幫忙可以安裝多個 OS,雖然記憶體價降價很多,但是多了一層虛擬,使得編繹工作無法全速利用 CPU 多核。時間就是金錢,這邊慢一點,那邊慢一點,累積起來就是慢很多。

      由於大部份的編繹都是 Linux 相關,所以希望能有一個方式是在 Linux 下,可以安裝各個版本 OS,而且還能享受全速的 CPU 效能。

      為瞭解決上述困擾,也就出現了該篇文章的主角:debootstrap

2022年12月24日 星期六

ffsogi 一個簡易的ffmpeg轉檔小工具。for mobile device。

前言

 多年來有手持裝置看影片的習慣,早在 PSP 至現在的 Smart Phone。相對於目前的高畫質影片,雖然畫質驚人,但容量也超出內存或記憶卡限制。

所以我常常利用 ffmpeg 來進行轉檔至 720p 的大小,以手持裝置來說 720p 是一個不失畫質又兼具容量的做法。

常常手key一堆ffmpeg的指令實在很累,所以自已寫了一個script:ffsogi(手機),方便我快速進行轉檔的工作,而且又加入了VAAPI/NVENC硬體壓縮的方式。

ffsogi github link

ffsogi有3個主程式

  • ffsogi:CPU encode

  • ffsogi_va:AMD/Intel vaapi encode

  • ffsogi_nv:Nvidia nvenc encode(需要Nvidia驅動程式)

2021年12月2日 星期四

fcitx5-table-extra for Debian11, Debian12

由於 kitty terminal 只支援 fcitx 輸入法(gcin沒有支援),加上 Debian11 沒有打包最新的 fcitx5-table-extra(我要無蝦米!),所以就自已打包好了,方便自已和別人使用。

Binary release,適用 Debian11, Debian12。


MD5Sum: 806a958ed29f561ce7021a3622a71f95

GDrive: t.ly/8aGY

2013年11月18日 星期一

讓rtorrent不再卡頓

    使用rtorrent已經好多年了,從最早不支援UTF-8開始,直到現在也加入magnet後,配合screen的便利性,一直是我最愛使用的BT client。

    但是在0.9.x的版本後,常常會不定時的“卡頓”一下,就是整個rtorrent視窗完全無反應,當然也沒有下載/上載資料,過了些許時間後,就會看到速度又重0開始,然後又可以動作。其實用 screen detach 後,即使發生了這個情形也不用理會,但是當 torrent 數量多時,卡頓的情況會更嚴重,有時候過了一天,完全沒有下載進度。

    後來仔細查閱了rtorrent網站,作者其實有對這個問題做說明:
http://libtorrent.rakshasa.no/wiki/Install

    簡單講就是 rtorrent 是透過 libcurl 在 resolve hostname以及 http download,由於是單一線程來查詢hostname,所以單一個 torrent 的 tracker 沒有回應時,會造成整體無法回應,直到request timeout才能繼續執行。

    這個問題會在未來的版本改用multi-thread的方式解決,現階段是建議重新compile curl並加入 c-ares 的支援,很可惜的是目前 Debian 的 libcurl 並沒有加入。可以用 apt-get source curl下載後,修改 debian/rules 的內容,加入 --enable-ares 的選項重新打包即可。

    如果您信任小弟並且下載平台是 Debian Wheezy 的話,可以直接抓取小弟編譯好的版本:
libcurl3_7.26.0-1+Bwheezy5.1_amd64.deb 

直接安裝後,再重啟 rtorrent,就可以享受不再卡頓的效果了。