Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Linux Chromium でビデオのハードウェアエンコード・デコードしたい
Search
Kenichiro MATOHARA
April 24, 2021
Technology
470
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Linux Chromium でビデオのハードウェアエンコード・デコードしたい
Kenichiro MATOHARA
April 24, 2021
More Decks by Kenichiro MATOHARA
See All by Kenichiro MATOHARA
軽量ウェブブラウザDilloのPlugin
matoken
0
18
今更LLMを触り始める(ローカルLLM bonsai)
matoken
0
110
念願のNDLOCR-Lite を試す
matoken
0
99
Nextcloud と互換性のある軽量WebDAV server のKaraDAV を試す
matoken
0
81
ActivityPub Server の snac その3
matoken
0
72
ActivityPub Server の snac その2
matoken
0
50
端末録画再生共有アプリ asciinema 3.0 リリース
matoken
0
89
アナウンス向けにミニマリスト向け ActivityPub Server の snac を利用
matoken
0
120
最近のNitterやX(old Twitter)関連 2025.09
matoken
0
96
Other Decks in Technology
See All in Technology
AI Native なプロダクト組織の立ち上げ方 : 生産性 100 倍への挑戦
mikesorae
0
1.7k
WEBフロントエンド研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
600
AI驚き屋発見器
yama3133
1
370
『モンスターストライク』 の運営に伴走する! データ民主化への 解析グループの3つのアプローチ
mixi_engineers
PRO
0
150
コンポーネント名には何を含めるべきなのか? / what-should-be-included-in-component-names
airrnot1106
0
140
文字起こし基盤の信頼性
abnoumaru
0
150
現場との対話から始める “作る前に問い直す”業務改善
mochico50
2
330
データ活用研修 データマネジメント【MIXI 26新卒技術研修】
mixi_engineers
PRO
4
670
SRENEXT_2026_Chairs__Talks_in_Tamachi.sre.pdf
srenext
1
160
AI エージェント時代のデジタルアイデンティティ
fujie
0
800
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
1.1k
AI時代におけるテストの基礎の再定義 / Rethinking the Fundamentals of Testing in the AI Era
mineo_matsuya
15
6k
Featured
See All Featured
The Language of Interfaces
destraynor
162
27k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
410
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Test your architecture with Archunit
thirion
1
2.3k
How to Talk to Developers About Accessibility
jct
2
440
How GitHub (no longer) Works
holman
316
150k
BBQ
matthewcrist
89
10k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Curse of the Amulet
leimatthew05
2
13k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
Transcript
Linux Chromium で Linux Chromium で ビデオのハードウ ビデオのハードウ ェアエンコード・ ェアエンコード・
デコードしたい デコードしたい Kenichiro Matohara(matoken) <
[email protected]
> 1 / 20
南隅から参加(鹿児島の右下) 好きなLinuxディストリビューションはDebian お仕事募集 mailto:work@matohara.org Kenichiro Matohara(matoken) Kenichiro Matohara(matoken) https://matoken.org https://matoken.org
2 / 20
最近の発表 最近の発表 link:https://speakerdeck.com/matoken/ 3 / 20
鹿児島らぐ 鹿児島らぐ 次回04/25( ) https://kagolug.org/ https://kagolug.org/ Cross Distro Developers Campと同じ日
鹿児島Linux勉強会 2021.04(オンライン開催) - connpass 4 / 20
Linux Chromium でビデオハード Linux Chromium でビデオハード ウェアエンコード・デコードし ウェアエンコード・デコードし たい たい
5 / 20
今の Video Card 今の Video Card Intel HD 4000とNVIDIA OptimusなGF117M(うまく動いてない)
$ lspci | grep -iE 'Graphic|3D' 00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controlle 01:00.0 3D controller: NVIDIA Corporation GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/6 6 / 20
Intel HD 4000 Intel HD 4000 $ lspci -vvvnnn -s
00:02.0 00:02.0 VGA compatible controller [0300]: Intel Corporation 3rd Gen Core processor Graphics Con Subsystem: Lenovo 3rd Gen Core processor Graphics Controller [17aa:2200] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- Fa Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR Latency: 0 Interrupt: pin A routed to IRQ 33 IOMMU group: 2 Region 0: Memory at f1000000 (64-bit, non-prefetchable) [size=4M] Region 2: Memory at e0000000 (64-bit, prefetchable) [size=256M] Region 4: I/O ports at 7000 [size=64] Expansion ROM at 000c0000 [virtual] [disabled] [size=128K] Capabilities: <access denied> Kernel driver in use: i915 Kernel modules: i915 7 / 20
VAAPIでH.264いけそう VAAPIでH.264いけそう $ vainfo libva info: VA-API version 1.10.0 libva
info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: va_openDriver() returns -1 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_1_8 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.10 (libva 2.10.0) vainfo: Driver version: Intel i965 driver for Intel(R) Ivybridge Mobile - 2.4.1 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Simple : VAEntrypointEncSlice VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileH264StereoHigh : VAEntrypointVLD VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc VAProfileJPEGBaseline : VAEntrypointVLD 8 / 20
ウェブブラウザで使えるとビデ ウェブブラウザで使えるとビデ オミーティングで軽くなるので オミーティングで軽くなるので は? は? 9 / 20
chrome://gpu/ chrome://gpu/ Video Decode: Software only. Hardware acceleration disabled 10
/ 20
chrome://flags/#enable-accelerated- chrome://flags/#enable-accelerated- video-decode video-decode ※プロファイル単位で設定が必要 11 / 20
chrome://gpu/ chrome://gpu/ Video Decode: Hardware accelerated 12 / 20
Video decodeを試す Video decodeを試す データを用意 回線細いのでDLしてから再生を試みる Youtubeの4KビデオサンプルTop10 13 / 20
※発表時はav1なのに気づいていなかった $ youtube-dl https://youtu.be/Zk9J5xnTVMA -F : 248 webm 1920x1080 1080p
2543k , webm_dash container, vp9@2543k, 24fps, video 399 mp4 1920x1080 1080p 2557k , mp4_dash container, av01.0.08M.08@2557k, 24fp 137 mp4 1920x1080 1080p 3594k , mp4_dash container, avc1.640028@3594k, 24fps, 400 mp4 2560x1440 1440p 7117k , mp4_dash container, av01.0.12M.08@7117k, 24fp 271 webm 2560x1440 1440p 7650k , webm_dash container, vp9@7650k, 24fps, video 401 mp4 3840x2160 2160p 11997k , mp4_dash container, av01.0.12M.08@11997k, 24 313 webm 3840x2160 2160p 16729k , webm_dash container, vp9@16729k, 24fps, vide : $ youtube-dl https://youtu.be/Zk9J5xnTVMA -f 400 # 1440p $ youtube-dl https://youtu.be/Zk9J5xnTVMA -f 401 # 2160p 14 / 20
mpv, vlc, ffplay 4kは無理,1440pはいける Chromiumでも同じ感じ すこしCPU 負荷が下がった?(10%〜?) ※発表時はav1なのに気づいていなかった 15 /
20
まとめ まとめ Google Chrome/Chromiumで設定でGPU触れるようになっていた Electronはアプリ毎に対応が必要そう は対応してるみたい Jitsi meet実行中に chrome://webrtc-internals で見るとcodecはVP8だっ
た NVIDIA GF117M がちゃんと動くと?? Jitsi Meet Electron 今回は第3世代目なのでVP8非対応,Core i5世代目以降だとVP8 decodeが入っているので良さそう 16 / 20
発表時のツッコミ等 発表時のツッコミ等 Rastaruzationで効いてない 「GPU rasterization」もenabled にすることで有効に :) Out-of-process Rasterization: Hardware
accelerated Rasterization: Hardware accelerated on all pages 17 / 20
18 / 20
発表後H.264でやり直し 発表後H.264でやり直し AV1で確認していたのでH.264に変換して再度確認 topやChromiumのタスクマネージャで確認したところChromiumの設 定を変えても負荷は変わらない? Video Decode: Software only. の状態でもGPUを利用し
ていそう? 19 / 20
奥付 奥付 発表 2021-04-24(Sat) 発表者 利用ソフトウェア ライセンス CC BY-NC-SA 4.0
東海道らぐ 春のあひる焼きフェスティバル Kenichiro Matohara(matoken) Asciidoctor Reveal.js 20 / 20