FFmpeg Raspberry Pi

Raspberry Pi 3 Model B, FFmpeg, OpenMAX IL H.264 ハードウェアエンコード、トランスコード

投稿日:2017-02-12 更新日:

Raspberry Pi 3 Model B と avconv を使用して OpenMAX IL を使用した H.264 に関するポストを過去にしていましたが、FFmpeg でも使用できるようになっているようです。結構前から気付いてはいたのですが放置していました。

Raspberry Pi 3 Model B で OpenMAX IL を使用した H.264 なハードウェアエンコード / トランスコードを行う件.
Raspberry Pi 3 Model B で OpenMAX IL を使用した H.264 なハードウェアエンコード / トランスコードを行う件.

OS は Raspbian です。

sudo touch /etc/ld.so.conf.d/local.conf
sudo sh -c "echo '/usr/local/lib' >> /etc/ld.so.conf.d/local.conf"

cd /tmp && \
    wget https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 && \
    tar jxvf ffmpeg-snapshot.tar.bz2 && \
    cd ffmpeg && \
    ./configure --enable-static --enable-omx-rpi --enable-mmal && \
    make -j4 && \
    sudo make install

FFmpeg のバージョン確認。

ffmpeg version N-83481-gb47582f Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 4.9.2 (Raspbian 4.9.2-10)
  configuration: --enable-static --enable-omx-rpi --enable-mmal
  libavutil      55. 46.100 / 55. 46.100
  libavcodec     57. 78.100 / 57. 78.100
  libavformat    57. 66.102 / 57. 66.102
  libavdevice    57.  2.100 / 57.  2.100
  libavfilter     6. 73.100 /  6. 73.100
  libswscale      4.  3.101 /  4.  3.101
  libswresample   2.  4.100 /  2.  4.100

Sintel のトレーラーをダウンロードして変換してみます。

wget https://download.blender.org/durian/trailer/sintel_trailer-1080p.mp4
ffmpeg -i sintel_trailer-1080p.mp4 -c:v h264_omx -acodec copy out.ts

ログを見ると、h264_omx となっています。

Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_omx))
  Stream #0:1 -> #0:1 (copy)

そして何と変換速度は 1.21x

実時間より速い!!!

frame= 1253 fps= 29 q=-0.0 Lsize=    2961kB time=00:00:52.12 bitrate= 465.3kbits/s speed=1.21x  

ただし、変換前後で解像度を変更すると途端に変換スピードが落ちます。1倍を切ります。

-FFmpeg, Raspberry Pi

Copyright© hirooka.pro , 2013-2018 All Rights Reserved.