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驅動程式)