2020年6月30日火曜日

ラズパイ31

自粛期間にヨウツベをよく見るようになった。我が家でもテレビ視聴時間の何割かはヨウツベに食われた。そうなってくると、お気に入りの動画をローカル保存して、BDプレーヤーで連続再生したくなる。飯テロ動画とか何となく再生していると良いんですよね。ただ、私のBDプレーヤーは、H.264 AVC1は再生出来るんですけど、それより新しいコーデックだとダメなんですよねぇ。

実際に、youtube-dlでMP4でダウンロードしたとしてもBDプレーヤーで再生不可なコーデックであることが多々あり、これをお手軽に変換できないかな...と考えたワケです。変換作業に手間をかけたくないし、ラズパイ4でもハードウェアエンコードを使えば概ね等速変換出来るんで、ラズパイでやることにしました。
ただのコーデック変換なのでffmpegを使ったらコマンド一発で楽に出来るんじゃないかと考え、検索して見つけた結果を自分なりにアレンジして辿り着いたのが以下。

手順1
変換したいMP4動画をフォルダにまとめ、そのフォルダで端末を開く

手順2
ls *.mp4 |sed 's/\.mp4$//' | xargs -I@ ffmpeg -i @.mp4 -vcodec h264_omx -b 700k -c:a copy ./enc/@.mp4

あとは待つだけ。フォルダに入っている拡張子MP4のファイルを順次変換し、./encフォルダに保存してくれます。動画のドット数等々全く弄らず動画コーデックを変換し、音声も再変換なしです。ラズパイのハードウェアエンコード用オプションが「-vcodec h264_omx」で、あとはビットレートを「-b 700k」で700kbpsと指定してます。なので、画質調整はビットレートの数字をお好みで上下させるだけです。

【応用編】
スマホに動画を入れたいので再変換したいと思う事がある。例えば、アスペクト比を維持し縦360ドットに縮小して再変換する場合には、オプション「scale=-1:360」を追加し、ビットレートを下げるため「-b 400k」とすれば良いだろう。具体には以下だ。

ls *.mp4 |sed 's/\.mp4$//' | xargs -I@ ffmpeg -i @.mp4 -vcodec h264_omx scale=-1:360 -b 400k -c:a copy ./enc/@.mp4

【ラズパイCPU温度】
只今、ラズパイ3B+と4Bの両方を起動させている。3B+は100均の小さな箱+12Vファンを5V動作させ環境ノイズ以下の騒音レベルで運用している。4Bはスターターキットに付いてきたファンレスケースに入れ縦置きしている。どちらも本日のアイドリング時CPU温度が41度だ。

というワケで、ラズパイ4Bスターターキット付属の「Physical Computing Lab」と書かれたヒートシンクケースが優れているというのを改めて言いたい。
https://www.physical-computing.jp/product/1829
熱伝導シートを貼った写真が出ていると思う。ほかのケースは基盤裏に熱伝導シートを貼らない構造だし、上下ケースの間にラズパイ基盤が挟み込まれるので熱結合できず、実質片面のみで冷却していることになる。
しかし、「Physical Computing Lab」と書かれたヒートシンクケースは、CPU裏側も冷やすし、上下ケース結合部も金属同士で直接接触するので熱結合することが出来る。きっとココがポイント。縦置きにしてくれれれば更に温度が下がります。
3B+用の同製品あったら欲しいのだが、Amazonを探しても見当たらなくて悔しいです。そのくらいファンレス運用は魅力的です。

0 件のコメント: