stretchなRASPBIANとTinkerOSでFFmpegをビルドする

Tinker Board
Raspberry Pi 3とTinker BoardでFFmpegをビルドしてみました。


Raspberry Pi 3のRASPBIAN STRETCHとTinker boardのTinkerOS v1.8でFFmpegのビルドをしてみました。
x264も使えるようにします。

Raspbianではハードウエアによるエンコードとデコードもできるようにします。
TinkerOSではまだハードウエアアクセラレーションは使えないようです。デコード用のパッチがあるようですがあまり使い道は無いかと思います。

基本的にどちらのOSでも
以前の記事:Raspberry Pi 3でx264とハードウエアエンコーダが使えるFFmpegをビルドする
で紹介した手順でビルドできました。

本記事公開時、
ALSAライブラリの最新バージョンはv1.1.4.1です。
FFmpegの最新リリースバージョンはn3.3.4です。
以前の記事の手順のバージョンを最新バージョンに読み替えてください。

以前の手順はRaspbian用なのでTinkerOSでFFmpegのconfigureを行う時は次のオプションを指定します。Raspberry Pi用のハードウエア支援用ライブラリをビルドしないようにします。
./configure --enable-gpl --enable-nonfree --enable-libx264 --enable-libfreetype --enable-libfontconfig --enable-libfribidi --extra-cflags="-I/home/linaro/Downloads/ffmpeg/include" --extra-ldflags="-L/home/linaro/Downloads/ffmpeg/lib" --extra-libs=-ldl

ビルドの作業時間は1時間ほどでしょう。

Raspberry Pi 3とTinker Boardのx264でのエンコード速度の違いを書いておきます。
簡単にしか試していませんが、Tinker BoardはRaspberry Piの約2倍のエンコード速度になりました。
解像度1440x1080のmpeg2ファイルをx264でエンコードする場合、Raspberry Pi 3では約3fps程度、Tinker Boardでは約6fps程度です。

Tinker Boardは発熱が多くエンコード速度が落ちているかもしれません。エンコード時のCPU温度は約80℃ほどになります。
温度は次のスレッドで紹介されているスクリプトで表示しました。
[SCRIPT] Check CPU & GPU Temperatures
knuxyl 06-07-2017, 12:52 PM
"I created a simple bash script that will print out in terminal the temperatures of thermal zone 1 & 2 (0 & 1 on tinkeros 2.0+) (I'm guessing it's CPU & GPU) in celsius and faranheit. "
Tinker Boardには付属していたヒートシンクを付けてケースに入れています。

Tinker Board

ケースのカバーを外すと5℃ほど温度が下がりエンコード速度が上がったような気がします。気のせいかもしれませんが。
室温25℃ほどの秋でこの温度ですから夏は熱でシャットダウンしてしまうでしょう。Tinker Boardでエンコードをするにはにファンを付ける必要がありそうです。そうすればx264のエンコードに使っても良いかなと思えるくらいの速度は出そうです。

今のところハードウエアエンコードはTinker Boardで使えません。FFmpegでカメラ映像のリアルタイム配信などを行うにはRaspberry Pi 3を使う方が良いでしょう。あるいはgstreamerを使うしかないようです。

コメント

最近のコメント

Threaded Recent Comments will be here.