日々

 Raspberry Pi 3でffmpegを使ったハードウェアエンコードを行う際、映像ビットレートが高ければソースのかなり手前の再生位置で、映像ビットレートが低ければソースのかなり後の再生位置でエンコード動作が止まってしまう現象に悩まされていたので、ffmpegをソースからビルドすることにした。
 ビルドはFFmpeg公式サイト(英語)の左側メニューにあるDevelopersからSource Codeを開くと、右側のGet the Sourcesにgitコマンドでのソース取得方法が書いてあるので、それに従って取得してビルドするだけ。予めgit、make、pkg-config、yasmのパッケージが必要。

git clone https://git.ffmpeg.org/ffmpeg.git
cd ffmpeg
./configure
make
sudo make install

 上記手順でRaspberry Pi 3 Model Bだとmakeに1時間半強かかるが、クアッドコアをフルに使うように「make」を「make -j4」にすると30分弱でビルドが終わる。今回は「./configure」を「./configure --enable-omx-pi --enable-mmal」のようにハードウェアエンコーダを有効にするオプションを加えてる。
 しかし、これで生成されたffmpegを使って下記のようにTSファイルをエンコードしても、途中でエンコード動作が途中で止まってしまって、Ctrl+Cで強制的に終了させるしかなくなった。他に試すべきネタも見つからないので、何か情報が見つかるまではあきらめて放置する方向で。

ffmpeg -i sample.ts -c:v h264_omx -b:v 3000k -f mp4 -c:a copy -bsf:a aac_adtstoasc sample.mp4

 TAKEが昨日USB PD対応ACアダプタでMoto Zを充電すると9V流れるのを確認した件について色々調べてみた模様。驚いたことにMoto Z2 Play付属ACアダプタはUSB Type-Aポートで、これに付属のUSB Type-A→USB Type-CケーブルでTurboPowerが接続されたと出ることを知った。
 どうやらMoto ZシリーズはUSB Type-CのUSB PDで5V 3Aと9Vでの充電と、Quick Charge 3.0(Quick Charge 2.0には対応していない模様)での5V 2~3Aでの充電に対応していると判った。
 ただ、Ankerの56kΩ抵抗が入ったmicroUSB→USB-C変換だとTurboPowerにならず、Moto Zシリーズ付属のUSB Type-A→USB Type-CケーブルでQC 3.0対応USB Type-A ACアダプタと繋ぐとTurboPowerでの充電となるところがイマイチ良く判らない。付属ケーブルってUSB-C規格に本当に準拠してるのかな?
 定時後、第二神明で帰宅。途中、ガス欠ランプが点いたので帰る途中に大久保IC近くのENEOSでレギュラー満タン給油。リッター151円か。高いな。雨降る中、帰宅。晩御飯はカレーライス。夜9時回ったところでお茶入れてもらって一服。