前回、Windows Subsystem for Linux 環境を構築しました。
今回はWSL環境上でGoProで撮影した動画からGPSデータを抽出していきます。
※Linux環境がない方は、以下の記事からWindows10上にLinux環境を用意してください
本来、GoProで撮影した動画に記録されているGPSデータはGoProの編集アプリ 「QUIK」で使用されるものです。
今回はGoProで撮影動画と位置情報が同期したGPSデータを使って、動画編集してみたかったので、GPSデータの抽出に挑戦してみました。
目次
ffmpeg インストール
GoPro Hero8 Black で撮影した動画ファイルからGPSデータのバイナリファイルを抽出するために、ffmpeg が必要となります。
※ここからの作業はWSL環境のUbuntuで実施します※
user@computer$ sudo apt install ffmpeg
GoLang インストール
gopro2gpx の実行ファイル生成にGoLangが必要なのでインストールします。
user@computer$ sudo apt install go
gopro2gpx インストール
ホームディレクトリにある .profile に以下を追加して、パスを通す
export GOPATH=$HOME/go
パスの変更を即時反映させるため、以下を実行する
user@computer$ source ~/.profile
gopro2gpxに必要なパッケージをダウンロード&インストールする
user@computer$ go get github.com/JuanIrache/gopro-utils/bin/gopro2gpx/
${GOPATH}/bin/gopro2gpx
が生成されていOKです。
GPX抽出用シェルスクリプトを作成
生成した gopro2gpx を使って、GPSデータを抽出するためのシェルスクリプトを作成します。
ホームディレクトリに ext_gpx.sh を作成します。
#!/bin/sh #実行ファイル GOPRO2GPX=~/go/bin/gopro2gpx INPUT_FILE=${1} OUTPUT_DIR=${INPUT_FILE%/*} #dirname FILE_NAME=${INPUT_FILE##*/} #basename # mp4からGPSバイナリを抽出 ffmpeg -y -i ${INPUT_FILE} -codec copy -map 0:3 -f rawvideo ${OUTPUT_DIR}/${FILE_NAME}.bin #GPSバイナリをGPXフォーマットに変換 ${GOPRO2GPX} -i ${OUTPUT_DIR}/${FILE_NAME}.bin -o ${OUTPUT_DIR}/${FILE_NAME}.gpx exit 0
実際にGPSデータを抽出してみる
先ほど作成したシェルスクリプト実行前に、実行権限を付与します。
user@computer$ chmod +x ~/ext_gpx.sh
これで実行できる状態になります。
実行方法は、以下のとおりです。
user@computer$ ./ext_gpx.sh <GoPro動画ファイルの絶対パス>
e.g.) user@computer$ ./ext_gpx.sh /mnt/c/goprp/GH010001.MP4
WSL環境の方は /mnt/下に Windowsで認識しているドライブが表示されます。
そこからGoproで撮影したMP4動画の絶対パスを指定してください。
処理完了後、Windows側で、以下のファイルが生成されていることが確認できます。
・ (入力動画のファイル名).bin
・ (入力動画のファイル名).gpx
抽出したGPXファイルをの確認はGoogleMAPで確認します。
詳細について、以前まとめたこちらからどうぞ。
GPXをKMLに変換
Google Earth Studio はKMLフォーマットにしか対応しておらず、GPXフォーマットは使えません。
KML変換するwebサービスは多いのですが、GPS情報をアップロードしたくないので、スタンドアローンで使用できるフリーソフトを使用します。
上記ソフトは、Windows Vista/7/8 対応となっていますが、Windows10 でも利用できそうです。
UIもシンプルです。
GPXファイルを放り込んだら、KMLファイルが出力されます。
複数のGPXを入力すると、一つにまとめてKMLファイルを出力するのも使いやすいです。
参考ページ
先人たちの知恵をお借りして、GoProからGPSデータの抽出ができました。
この場で感謝申し上げます。
まとめ
抽出したGPSデータは Google Earth Studio にインポートして、空撮アニメーションを作成するために使用します。
WSL環境作ったり、動画ファイルからGPSデータ引っこ抜いたり、遠回りをしましたが、ようやく本題の動画編集に入れます。
※Google Earth Studio の使い方はこちらからどうぞ。
GoProで撮影されている方にオススメの動画編集方法の紹介です!
車載動画を作ってみたくて、GoPro Hero8 Black を購入しました!
コメント