4
3

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】ラズパイでh264_omxエンコードできないときは…

Last updated at Posted at 2021-11-22

Raspberry Pi OS Lite (32bit) で
ffmpeg を使って OpenMax(h264_omx) ハードウェアエンコードしようとすると

/opt/vc/lib/libbcm_host.so not found
Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

Conversion failed!

というエラーが出て、0バイトのmp4ファイルが作成される。

この問題を取り上げている記事がほとんど見当たらず、解決に2日以上かかったので備忘録として書いておく。

注意
OpenMaxは64bit環境に対応していません
64bitを使っている場合は、代替手段として V4L2コーデック (h264_v4l2m2m) を使ってください →補足4. 参照

解決方法

/opt/vc/lib/libbcm_host.so が見つからない!!

と言ってるので /opt/vc/lib/ を見てみると中身が空っぽだった。
raspberrypi/userland(VideoCoreドライバー)を入れてみる。

cd ~
mkdir git
cd git
mkdir raspberrypi
cd raspberrypi
git clone http://github.com/raspberrypi/userland.git
cd userland
./buildme

正常にエンコードできるようになりました!

補足

1. 環境

Raspberry Pi 4 (4GB RAM)

2. ffmpegのバージョンとか

ffmpeg version 4.2.4 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --prefix=/usr/local --disable-shared --pkg-config-flags=--static --enable-gpl --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-omx --enable-omx-rpi --enable-nonfree --disable-debug --disable-doc

3. Raspberry Pi 4 のビデオアクセラレーション

Raspberry Pi 4のハードウェア・エンコーダ情報
https://forums.raspberrypi.com/viewtopic.php?t=268356

4. 64bit環境のハードウェアエンコードについて

4
3
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
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?