GoProExtractorは,GoProで撮影したmp4動画からGPSデータを抽出して,GPXやKML形式で出力するWindowsアプリです(HERO10で撮影した動画で動作テストしています).
はじめに
過去のブログ投稿で,GoPro HERO10 で撮影した動画(mp4)からGPSデータを抽出し,GPX,KML形式で出力するコンソールアプリを作りました.
GoPro HERO10の動画(mp4)からGPSデータ等を抽出する方法(調査編)
GoPro HERO10の動画(mp4)からGPSデータを抽出してみます.まずは既存のツールの組合せでやってみます.
GoPro HERO10の動画(mp4)からFFMpegでメタデータを抽出する
GoPro HERO10で撮影した動画(mp4)からC#でGPSデータを抽出していきます.GPS等のセンサデータは,mp4ファイルにメタデータとして格納されていますので,今回は,C#からFFMpegを呼び出してmp4からメタデータを取り出すプログラムを作成しました.
GoPro HERO10 で撮影したmp4からGPSデータを抽出しGPX,KMLを出力する(C#)
GoPro HERO10で撮影した動画(mp4)からGPSデータを抽出し,GPXやKML出力するプログラムをC#で作成しています.今回は,FFMpegで取り出したメタデータ(バイナリ)から,GPSデータのみを抽出するプログラムを作成します.
ただ,コンソールアプリと言うか,ファイル名等もソース内にベタ書きのテストプログラムで,自分で使うのも使いづらかったので,GUIを付けてみました.
ソース付きで公開しますが,例によって勉強しながらの日曜プログラミングなので,イケてないところはご容赦下さい.C#,wpf,.NET6で作っていますが色々ベタ書きの,MVVM…何それ?おいしいの?的な構成になっています.
インストール方法・ソースコード
GitHubにソースを置いておきます.クローンしてVisual Studioで開けばビルドできます.
GitHub - Space-Sky-Rail/GoProExtractor
Contribute to Space-Sky-Rail/GoProExtractor development by creating an account on GitHub.
実行形式はこちらです:GoProExtractor-windows-x64-excutable.7z
GoProExtractor-windows-x64-excutable
1 ファイル 43.58 MB
7zipで圧縮しています.インストールは解凍して出てきたフォルダを適当な場所に置くだけです.
なお,データの抽出にffmpeg.exeの力を借りていますので,FFMpegのインストールは必要です.過去の記事にインストールの概要を書いています.
スクリーンショットと使い方
スクショはこんな感じです.
- ファイル名,フォルダ名等のテキストボックスはドラッグ&ドロップ可能です.
- FFMpeg installed folder:
“ffmpeg.exe”と”ffprobe.exe”のあるフォルダを指定します. - Output folder:
GPX,KMLファイルの出力フォルダを指定します.指定しなければ,動画ファイル(mp4)と同じ場所に出力されます. - Output file types:
出力データ形式を指定します.加速度とジャイロは未対応です.出力はできそうなので,(自分的に)需要があれば対応します. - Target extracting stream:
データは#0:3に入っているので特に変更しなくて大丈夫です. - GPS Settings:
GPSデータの出力条件を指定します.条件を満たしたデータのみファイル出力されます. - mp4 file:
そのままです.動画ファイルを指定します. - 「Probe mp4」ボタン:
指定されたmp4ファイルに対して”ffprobe.exe”を実行し,結果をテキストボックスに表示します.GPSデータを取り出すだけなら,特に実行する必要はありません. - 「Extract」ボタン:
指定されたmp4ファイルに対して”ffmpeg.exe”を実行し,データを抽出した後,指定された形式のファイルを出力します.
“GoProExtractor.exe”を配置したフォルダに以下のファイルが作られます.
- 「tmp.bin」
“ffmpeg.exe”の実行結果を書き出した中間ファイルです.消しても問題ありません. - 「settings.json」
最新の設定情報を保存したファイルです.消しても問題ありません.