Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Linux Chromium でビデオのハードウェアエンコード・デコードしたい
Search
Kenichiro MATOHARA
April 24, 2021
Technology
480
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
ファイル共有ソフトウェアのOpenCloud 8.0.0を試す
matoken
0
6
ターミナルグラフィックウェブブラウザ!?
matoken
0
45
軽量ウェブブラウザDilloのPlugin
matoken
0
51
今更LLMを触り始める(ローカルLLM bonsai)
matoken
0
190
念願のNDLOCR-Lite を試す
matoken
0
130
Nextcloud と互換性のある軽量WebDAV server のKaraDAV を試す
matoken
0
140
ActivityPub Server の snac その3
matoken
0
88
ActivityPub Server の snac その2
matoken
0
62
端末録画再生共有アプリ asciinema 3.0 リリース
matoken
0
110
Other Decks in Technology
See All in Technology
Making AI Agents Safe and Fast- Jev, Obsidian, and the Meta-Harness
x5gtrn
PRO
0
140
音声コミュニティを守るAI監視基盤_ 90%以上の入力削減を支えたServerless設計と運用判断
shuheioka123
0
110
メルカリにおけるAI時代の高速プロトタイピング基盤「Arca」
ryotarai
12
9.8k
高負荷プロダクション環境におけるAWS Lambdaのリアル 〜スケールとコストを左右する実行ライフサイクルの技術仕様〜
maimyyym
2
610
AIは推し活である。
kurazuuuuuu
2
980
あけおめLINE 傾向とその対策
nasa9084
0
330
Argo CDとAtlantisで実現するインフラ管理のセルフサービス化──小規模SREチームで支えるプラットフォーム
cassius7
0
160
AI coding 整合正規方法
philipz
0
550
人にやさしく、AIにやさしく、書き手を選ばないIaCのガードレール再考 / Rethinking IaC Guardrails for Humans and AI Alike
kohbis
5
1.2k
Genieを崇めよ
kameitomohiro
0
170
AIに賢く動いてもらうためのコンテキスト〜Snowflake女子会 vol.8
snowwmn0824
0
180
ほんとうの信頼性はヒーローが死んでからはじまる / True reliability begins after the hero dies
vtryo
0
120
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Leo the Paperboy
mayatellez
10
2.3k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
500
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Music & Morning Musume
bryan
48
7.4k
Writing Fast Ruby
sferik
630
63k
Building AI with AI
inesmontani
PRO
1
1.3k
Product Roadmaps are Hard
iamctodd
55
13k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
GitHub's CSS Performance
jonrohan
1033
470k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
570
How to make the Groovebox
asonas
2
2.5k
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