2002年のAudi A8(D3)から、ほとんどのAudi車には「Audi MMI (Multi Media Interface)」というカーナビゲーションやメディアプレーヤーと車のシステムが一体化したインターフェースが搭載されていて、例に漏れず自分のA1にもMMIが搭載されています。
上の画像のダッシュボード中央から生えているのがMMIのディスプレイです。
MMI搭載車には、オイル交換の際にオイルレベルをMMIから確認する車種もあります。(そもそも物理的なオイルレベルゲージが存在しない)
そんなMMIなのですが、iPhoneみたいに世代分けされていて現行型は「MIB3」という名前みたいですね。
では自分のA1に搭載されているMMIがどの世代に該当するかというと「3G Plus」みたいです。(上のWikipediaの表では3G扱いになってるけど他のサイトの情報も見てみると3G Plus表記のところが多い)
それでこのMMI 3G Plus、動画再生機能も有しており、SDカードに動画を入れておいてSDカードから動画を読み込んで再生なんてこともできるのですが、3G Plusだと対応している動画ファイルのフォーマットが古いが故に普通にMP4を入れるだけでは再生できません。
車内でアニメとか観れたら面白いかなーと思って動画ファイルを用意したところこの壁にぶち当たって、別に絶対観たいという訳ではないのですが問題を放置しておくのも精神衛生上良くないので解決法を考えてみることにしました。
試行錯誤した結果、MMI 3G Plusで再生できる動画ファイルの作り方を確立したのでここに備忘録がてら残しておきます。
兎にも角にも再生したい動画ファイルを用意する
まずはMMIで再生したい動画ファイルを用意しましょう。
今回はパスピエの「トーキョーシティ・アンダーグラウンド」という曲のMVをYouTubeからダウンロードして再生してみることにします。
ffmpegをインストールする
MMI 3G Plusで動画を再生する手順をまとめた記事は調べると他にもいくつかヒットしますが、どの記事も総じてシェアウェアを使っていたので、今回はオープンソースのソフトを使っていくことにします。オープンソースで動画ファイルの変換というとffmpegしか思いつきませんし、何より他の記事で使われているようなシェアウェアより圧倒的に使ってるユーザーが多いと思いますw
ということでffmpegをインストールしましょう。
Windowsはここら辺が参考になるかなと思います。MacはHomebrewからインストールできます。
動画を変換する
それではこの記事の中で最も重要な作業、動画をMMI 3G Plusで再生できるフォーマットへ変換する作業をしていきます。
変換するには、ターミナルを開き、以下のコマンドを実行します。
ffmpeg -i 変換する動画ファイル.拡張子 -codec:v libx264 -codec:a aac -profile:v baseline -s 720x406 -pix_fmt yuv420p 変換後の動画ファイル.mp4
今回、変換元の動画ファイルはTokyoCityUnderground.mp4
なので、
ffmpeg -i TokyoCityUnderground.mp4 -codec:v libx264 -codec:a aac -profile:v baseline -s 720x406 -pix_fmt yuv420p TokyoCityUnderground-Converted.mp4
というコマンドを実行します。
変換後の動画ファイルのファイル名は自由指定ですが、今回は変換前も変換後も拡張子がmp4
で区別がつかなくなるのでConverted
というサフィックスを付けました。
コマンドを実行すると進捗がずらーっと流れていきます。
進捗状況はtime
を参照すると良いかもしれません。
変換が完了すると青文字のログが数行流れてきます。Complete
みたいな文言は特に表示されません。
何が行われたのか
Answer: MP4ファイルと一口に言っても中身のデーターのフォーマットは何種類もあるので、それをMMI 3G Plusで再生できるフォーマットに変換しました。
具体的には以下のフォーマットをコマンドで指定して変換しています。
動画コーデック | libx264 (H.264) |
音声コーデック | AAC |
プロファイル | baseline |
解像度 | 720×406 |
ピクセルフォーマット | yuv420p |
ffmpegの応用的な使い方
例えば変換したい動画ファイルが1つだけでは無い時、ファイル名を入力してコマンドを実行する作業を繰り返すのは面倒です。
そこで、カレントディレクトリー内の動画ファイルを一括変換してくれるバッチを作ったのでソースを載せておきます。
for %%f in (*.拡張子) do (
ffmpeg -i "%%~nf".拡張子 -codec:v libx264 -codec:a aac -profile:v baseline -s 720x406 -pix_fmt yuv420p "%%~nf".mp4
)
拡張子
の部分を置き換えて、バッチファイル(.bat)にして使ってみてください。(参考にしたサイト)
これはWindowsのバッチファイル形式ですが、シェルスクリプト版も探せば出てくるのでコマンドの部分を置き換えて作ってみてください。
実際に再生してみる
少し話が逸れましたが、早速車に乗って動画が再生できるか確認してみましょう。
MMIからSDカードを選択すると…
勝手に動画の再生が始まりました
これでMMI 3G Plusで好きな動画を再生することができるようになりました!
コメント