GoProの動画からGPX抽出

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

変換前に撮影順にリネームしておくと便利です。以下をご利用ください。

GPXファイルの表示アプリは、軌跡 2.4.2 | MacFeeling Softwareで紹介しています。


コメント

タイトルとURLをコピーしました