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
490
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
Debian trixie Gnome環境で時計がずれている?
matoken
0
14
200kbps使い放題のロケットモバイル神プランを試し中
matoken
0
20
ファイル共有ソフトウェアのOpenCloud 8.0.0を試す
matoken
0
16
ターミナルグラフィックウェブブラウザ!?
matoken
0
57
軽量ウェブブラウザDilloのPlugin
matoken
0
57
今更LLMを触り始める(ローカルLLM bonsai)
matoken
0
230
念願のNDLOCR-Lite を試す
matoken
0
140
Nextcloud と互換性のある軽量WebDAV server のKaraDAV を試す
matoken
0
150
ActivityPub Server の snac その3
matoken
0
96
Other Decks in Technology
See All in Technology
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
160
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
260
hackers_champloo_2026_tidb
makocchi
0
160
Optunaの最新リリースv5.0について
pfn
PRO
0
120
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.2k
Classmethod Company Deck
satoshi7
1
680
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
190
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
330
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
150
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
190
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
580
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
780
Prompt Engineering for Job Search
mfonobong
0
520
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
500
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
360
Site-Speed That Sticks
csswizardry
13
1.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
560
Optimising Largest Contentful Paint
csswizardry
37
4k
BBQ
matthewcrist
90
10k
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