2025-06-06
仮想環境で正しく実行できるように内容を修正しました。
macOS Sequoia 15.5にて確認しています。
GoProの動画(MP4)ファイルからGPX抽出を行います。完全なる他力本願です。
利用するのは、GitHub – juanmcasillas/gopro2gpx: Parse the gpmd stream for GOPRO moov track (MP4) and extract the GPS info into a GPX (and kml) file.で公開されている「gopro2gpx」になります。
まず、macOS(またはLinux)用パッケージマネージャー — Homebrewを導入します。
ターミナル.appを起動して、Homebrewのページに記載されている、以下のスクリプトをコピー&ペーストして実行します。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brewのインストールが完了したら、以下のように表示されているので、brewへのパスを通します。
Add Homebrew to your PATH in /Users/ユーザ名/.zprofile:
echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> /Users/ユーザ名/.zprofile
eval $(/opt/homebrew/bin/brew shellenv)
ターミナルで、例えばユーザ名が「hoge」なら、以下を実行
echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> /Users/hoge/.zprofile
eval $(/opt/homebrew/bin/brew shellenv)
「gopro2gpx」の実行に必要となる、Python3とFFmpegをインストールしておきます。
ターミナルにて以下をそれぞれ実行します。
brew install python3
brew install ffmpeg
gopro2gpxを仮想環境にインストールするので、まず仮想環境を作成します。
今回はホーム直下に「gopro/env」フォルダを作成します。
以下をターミナルで実行します。
python3 -m venv ~/gopro/env
仮想環境を有効化します。以下をターミナルで実行します。
source ~/gopro/env/bin/activate
有効化されると頭に(env) が付きます。
(env) hogehote@hogehote ~ %
以降、処理は仮想環境の中で行います。
gopro2gpxをインストールします。以下をターミナルで実行します。
pip3 install git+https://github.com/juanmcasillas/gopro2gpx
インストールに成功すると、こんな感じのログになります。
(env) hogehoge@hogehoge % pip3 install git+https://github.com/juanmcasillas/gopro2gpx
Collecting git+https://github.com/juanmcasillas/gopro2gpx
Cloning https://github.com/juanmcasillas/gopro2gpx to /private/var/folders/r5/28_dwv6j1_3gxp0z6yw1r39h0000gn/T/pip-req-build-9u1j5sc4
Running command git clone --filter=blob:none --quiet https://github.com/juanmcasillas/gopro2gpx /private/var/folders/r5/28_dwv6j1_3gxp0z6yw1r39h0000gn/T/pip-req-build-9u1j5sc4
Resolved https://github.com/juanmcasillas/gopro2gpx to commit 794b972ede14e581dafda5ba82a89c06ac45cf02
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: gopro2gpx
Building wheel for gopro2gpx (pyproject.toml) ... done
Created wheel for gopro2gpx: filename=gopro2gpx-0.3-py3-none-any.whl size=29920 sha256=158a5f94b7d973095fe9e00b9a5b6c17b1575e7bb9c69b0b256a49dca2b7fc5d
Stored in directory: /private/var/folders/r5/28_dwv6j1_3gxp0z6yw1r39h0000gn/T/pip-ephem-wheel-cache-3eug9uaf/wheels/1d/d7/4c/54d83cc03d40b59f9e0850f7a5cce47dfa7c7ea1e535f2b089
Successfully built gopro2gpx
Installing collected packages: gopro2gpx
Successfully installed gopro2gpx-0.3
パスの設定を行います。以下をターミナルで実行します。
管理者パスワードを要求されたら、入力してリターンキー。
sudo nano ~/.config/gopro2gpx.conf
以下の3行を書き込んでください。
書き込んだら、コントロール+O (WriteOut)でリターンキー。
コントロール+X (Exit)で抜けて元に戻ってください。
[ffmpeg]
ffmpeg = /opt/homebrew/bin/ffmpeg
ffprobe = /opt/homebrew/bin/ffprobe
あとは、GoProで撮影したMP4ファイルを指定すれば、抽出されたGPXファイルが作成されます。
例えば、GoProで撮影した「GX0371-01.MP4」ファイルがデスクトップにあるとして、
まずは、cdでデスクトップに移動
cd ~/Desktop
以下をターミナルで実行します。
(書き出すファイル名のGX0371-01には拡張子の指定は必要ありません)
python3 -m gopro2gpx -s -vvv GX0371-01.MP4 GX0371-01
デスクトップに「GX0371-01.kml」「GX0371-01.gpx」「GX0371-01.csv」の3つのファイルが作成されます。
最後に、仮想環境を無効化して終了です。以下をターミナルで実行します。
deactivate
頭についていた、(env)が消えればOKです。
再度、gopro2gpxで処理を行いたい場合は、仮想環境の有効化を行なってから、その中で変換をしてください。最後に仮想環境を無効化するのをお忘れなく。
source ~/gopro/env/bin/activate
python3 -m gopro2gpx -s -vvv GX0371-01.MP4 GX0371-01
.
.
.
deactivate
変換前に撮影順にリネームしておくと便利です。以下をご利用ください。
- GoProのファイル名を撮影順にリネームする(Automator編) | MacFeeling Blog
- GoProのファイル名を撮影順にリネームする(ショートカット編) | MacFeeling Blog
GPXファイルの表示アプリは、軌跡 2.4.2 | MacFeeling Softwareで紹介しています。
コメント