1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ffmpegでGPUエンコードするにはソースコードから自前でビルドする必要があると思ってた話(令和最新版)

Last updated at Posted at 2024-02-28

要約

ffmpegでGPUエンコードするにはソースコードから自前でビルドする必要があると思ってたがそんなことはなかったぜ!

手順

環境としてはWin11上のWSL2のUbuntu22.04(-pattern_type globを使いたいがためだけにWSLを持ち出している)
GPUはGeForce RTX4070


シンプルにapt-getして

sudo apt-get install ffmpeg

コーデックの指定はこれ↓(ここで当初libx265_nvencと書いていたせいでエラーが出て,ビルドが必要だと勘違いして右往左往する羽目になった)

-vcodec hevc_nvenc

いざエンコード…爆速!



…えっこんな簡単でいいの?昔やった時は相当ひーひー言いながらビルドした気がするんだけど…
まさか実はCPUエンコードしてるとか?いやでも爆速だし,タスクマネージャで見る限りGPUはちゃんと回ってるし???
ググってみてもみんなCUDA入れてソースコードとってきてとか書いてあるんだけど…

というか,何ならCUDAもcuDNNも入れてないような気がする.ホストはともかく少なくともWSL内には入れてない.(ホストについてはKerasの環境構築時に四苦八苦してたので結局入れたのか否かの記憶が曖昧.でもnvccコマンドが効かないのでたぶん入ってない.ドライバだけはインストールした気がする)

ちなみにWindows版のバイナリも公式からダウンロードしたそのままでhevc_nvencが使えた.


軽く調べてみるとpytorchはCUDAが同梱されているので個別でCUDAとか入れなくても動く的な情報(これまた初耳なんですけど…)を発見したので,ffmpegも知らない間にそうなってたのかもしれない.知らんけど.

いい時代になったもんだけど,簡単すぎて誰も解説記事を書かないせいで古い情報が目立ち続けるのは良くないですね…

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?