■ きっかけ
Vantrue N5 (4カメラドラレコ) を愛用しています。
録画品質は文句なしで、4カメラでどこで何があっても記録が残る安心感は素晴らしい。ただ……純正の「Vantrue Player」がちょっと使いにくい。
私が特に不満だったのが
再生順序です。
N5は同時刻の録画が A/B/C/D の4ファイルに分かれて保存されます。
(A: フロント、B: フロント室内、C: リア室内、D: リア)
これを純正プレーヤーで再生すると、
A(フロント) → B(フロント室内) → C(リア室内) → D(リア) → 次の時刻のA → B → C → D → …
と、
同じシーンを4回繰り返してから次の時刻へ進む動きになります。
4視点を切り替えて見たいだけなのに、同じシーンを4回も見させられるのが地味にストレス。
私がやりたかったのはシンプルで、
A(前カメラがメイン、B/C/Dは小窓で同期再生) → 次の時刻のA → …
という「1グループ(ABCDセット)を1回再生して次へ」という自然な流れ。これを実現できるプレーヤーを作ることにしました。
━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ まずは見比べてみてください
同じシーン(2026/01/17 12:02:03、館山の海沿いを48km/hで走行中)を、純正と自作の両方で再生してみました。
▼ 純正「Vantrue Player」
▼ 自作「N5 Player」
■ パッと見で気づく違い:
・
ファイル一覧の見やすさ → 純正は「20260117_120204_11933_N_A.MP4」みたいな生ファイル名がずらり。自作は「2026-01-17 12:02:04」と日時で整理
・
衝撃イベントの識別 → 自作は赤いマーカー+IMPACTバッジで一目で衝撃ファイルとわかる
・
駐車監視モード → こちらも青いPARKINGバッジで識別可能
・
Gセンサーグラフの扱い → 純正は常時表示で画面を占領、自作はボタンで表示/非表示切替
・
レイアウト → 自作は情報を整理してメイン映像を広く確保
━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 作ったもの
ブラウザで開くだけで動くHTMLベースのプレーヤーです。
■ 基本機能
・4カメラ同期再生 ― メイン画面+サブ2〜3画面、サブをクリックでメインに入れ替え
・グループ単位の連続再生 ― ABCDセットで1再生扱い、次の時刻へ自動遷移
・録画ファイルの自動グルーピング ― ファイル名から時刻を読み取って自動整理
・衝撃イベントファイル(_E_)を一覧で色分け ― 赤マーカー+⚠アイコン+IMPACTバッジ
・駐車監視モード(_P_)も区別表示 ― 青マーカー+PARKINGバッジ
■ 解析して実装した機能
ここからがエンジニア(もどき)魂に火がついた部分です。
Vantrue N5の録画ファイル(.MP4)には
GPS情報・速度・3軸Gセンサー値が埋め込まれているのですが、純正プレーヤー以外でこれを読む方法は公開されていません。
そこでMP4のバイナリ構造を解析してみたところ……
・GPS情報はNMEA形式の文字列で埋め込まれていることが判明
・Gセンサーの3軸加速度はNMEA文字列の直前12バイトに、1024=1Gのスケールで格納されていることが判明
この仕様を突き止めたので、自作プレーヤーでも読み取れるようになりました。
■ 実装できた表示機能
・走行ルートの地図表示 (Google Maps使用)
・現在位置マーカーが再生に合わせて地図上を移動
・速度・時刻・緯度経度のHUDリアルタイム表示
・Gセンサー3軸グラフ (X/Y/Z をボタンで表示切替、現在値もリアルタイム表示)
・地図の別ウィンドウ表示 (拡大して確認したいとき用)
━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 純正Vantrue Playerとの機能比較
純正にあって自作にもある機能
・4カメラ同時再生
・メイン/サブ切替
・地図表示
・Gセンサーグラフ
・速度表示
自作のみの機能
・(ABCD)グループ単位の連続再生
・ファイル名を日時で整理表示
・衝撃ファイルの一覧区別(IMPACTバッジ)
・駐車監視ファイルの一覧区別(PARKINGバッジ)
・地図の別ウィンドウ表示
純正のみの機能
・映像のトリミング機能
・ボリューム調整
・再生倍率の細かな調整
純正にしかない機能(トリミングなど)もあるので、完全な置き換えというより
「普段使い用のビューワー」という位置づけです。
━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 画面レイアウトのこだわり
左カラム = プレーヤー (サブ画面を上に横並び、メイン画面をその下に大きく)
右カラム = 地図+HUD+ファイル一覧
という構成。
純正ではGセンサーや速度メーターが常に画面の1/3を占領していましたが、自作版では
ボタンで必要な時だけ出せるようにして、普段はメイン映像を広く見られるようにしました。
特に気に入っている点:
・衝撃ファイルが一覧で赤く光る → 後からGセンサーが衝撃検知したときの映像を探すのが劇的に楽に
・地図を別ウィンドウに切り出せる → 詳しく確認したい時はサブディスプレイに移動可能
・全てのGPS/Gセンサーデータを自前で解析 → 純正を介さずに自由に表示を作り込める
━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ 技術的な話(興味がある方向け)
・単一のHTMLファイルで動作(外部ファイル不要、1ファイルで完結)
・ブラウザで開くだけ(Chrome/Safari推奨)
・フォルダをドラッグ&ドロップでファイル読み込み
・GPSとGセンサーの解析は全部JavaScriptで実装
・地図は Google Maps JavaScript API を利用(要APIキー)
AIとの対話で設計・実装を進めたのですが、MP4の独自データ構造を見つけるあたりから「ただの再生アプリ作り」が「リバースエンジニアリング大会」になってしまい、逆に楽しかったです。
━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ まとめ
純正プレーヤーの使い勝手に不満があったので自作してみたら、思った以上にちゃんとしたものができました。
(ABCD)を1グループとして連続再生という、ずっと欲しかった機能が手に入ったのが一番大きな収穫。
加えて、衝撃イベントが一覧で赤く光って見えるようになったので、
後から衝撃検知シーンを探すのがすごく楽になりました。
※検討課題として、純正プレイヤーと自作プレイヤーでGセンサーグラフの違いがあるので、もう少し調査する必要がありそう。
同じN5ユーザーで「Vantrue Playerがなんか使いにくいな」と思っている方や、ドラレコ選びで N5 を候補に入れている方の参考になれば幸いです。映像自体の画質や録画性能は文句なしなので、純正ソフトのところだけ乗り越えれば最高の製品ですよ。