Skip to content

rinsuki/HWAcceleratedVP9Player

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 

HWAcceleratedVP9Player

macOS 11.0 Big Sur beta 4 から VP9 のHW支援でのデコードに対応したのを利用し、VP9 入り MP4 のファイルを再生するデモです。

How to build

git clone して HWAcceleratedVP9Player.xcodeproj を開きビルドしてください。 Team や Signing Certificate を変更する必要があるかもしれません。

VP9 入り MP4 の作り方

通常通りに VP9 が入った WebM ファイルを用意し、 ffmpeg -i vp9.webm -codec copy vp9.mp4 で作成できます。

ただし、現段階でOpusには対応していないようなので、-acodec aacなどで音声を変換する必要があるかもしれません。

How it works

VP9 のハードウェアデコーダは macOS 11.0 beta 4 から追加された VTRegisterSupplementalVideoDecoderIfAvailable(_:) API に 0x7670303 (FourCode で vp09) を渡すと有効化できます。

このAPIを呼んで有効化した後に AVPlayer などに VP9 入り MP4 を読ませると普通に再生してくれます (ただし HW 支援がないと失敗するかも)。

詳しい呼び方は WebKit のこのへん https://trac.webkit.org/log/webkit/trunk/Source/WebCore/platform/graphics/cocoa/VP9UtilitiesCocoa.mm を見るとよいでしょう。

(GitHub の webkit/webkit にはまだ同期されてないようなので注意。 qtwebkit/webkit-mirror とか見るといいかも)

About

Hardware Accelerated VP9 Player in macOS 11.0 Big Sur beta 4+

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages