[miscellaneous]GoProのmp4データからgpxを取り出す(windows10)
https://qiita.com/clamoto/items/7c977d9a741c677b8539#ffmpeg
を参考にした。
-
ffmpegのインストールとPathの設定。
ffmpeg BuildsからStatic版をダウンロード解凍して、Program Filesなどに移動させて、windowsの環境設定からPathを設定。
Gitのインストール
Go(The Go Programming Language)のインストール
・GoProから落としてきたmp4データのstreamを調べる。
GPS情報はmp4データにメタデータとして入っている。
ffprobe GHXXXX.mp4
ffprobe version git-2020-05-15-b18fd2b Copyright (c) 2007-2020 the FFmpeg developers
built with gcc 9.3.1 (GCC) 20200513
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
libavutil 56. 45.100 / 56. 45.100
libavcodec 58. 84.100 / 58. 84.100
libavformat 58. 43.100 / 58. 43.100
libavdevice 58. 9.103 / 58. 9.103
libavfilter 7. 81.100 / 7. 81.100
libswscale 5. 6.101 / 5. 6.101
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'GH010063.MP4':
Metadata:
major_brand : mp41
minor_version : 538120216
compatible_brands: mp41
creation_time : 2020-05-20T11:23:57.000000Z
location : +34.4032+132.7200/
location-eng : +34.4032+132.7200/
firmware : HD6.01.02.10.00
Duration: 00:07:12.47, start: 0.000000, bitrate: 33257 kb/s
Chapter #0:0: start 63.229000, end 126.426000
Chapter #0:1: start 126.426000, end 194.194000
Chapter #0:2: start 194.194000, end 270.703000
Chapter #0:3: start 270.703000, end 367.200000
Chapter #0:4: start 367.200000, end 432.469000
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 33010 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc (default)
Metadata:
creation_time : 2020-05-20T11:23:57.000000Z
handler_name : GoPro AVC
encoder : GoPro AVC encoder
timecode : 11:23:16:27
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s (default)
Metadata:
creation_time : 2020-05-20T11:23:57.000000Z
handler_name : GoPro AAC
timecode : 11:23:16:27
Stream #0:2(eng): Data: none (tmcd / 0x64636D74) (default)
Metadata:
creation_time : 2020-05-20T11:23:57.000000Z
handler_name : GoPro TCD
timecode : 11:23:16:27
Stream #0:3(eng): Data: bin_data (gpmd / 0x646D7067), 36 kb/s (default)
Metadata:
creation_time : 2020-05-20T11:23:57.000000Z
handler_name : GoPro MET
Stream #0:4(eng): Data: none (fdsc / 0x63736466), 9 kb/s (default)
Metadata:
creation_time : 2020-05-20T11:23:57.000000Z
handler_name : GoPro SOS
Unsupported codec with id 0 for input stream 2
Unsupported codec with id 100359 for input stream 3
Unsupported codec with id 0 for input stream 4
このファイルの場合は”Stream #0:3(eng): Data: bin_data (gpmd / 0x646D7067), 36 kb/s (default)”がgpsのトラック。
mp4からbinファイルとしてgps情報を抽出する。
ffmpeg -y -i GHXXXX.mp4 -codec copy -map 0:3 -f rawvideo GHXXXX.bin
binファイルからgpxファイルへ変換する。
githubからgopro-utilsをダウンロード
git clone https://github.com/stilldavid/gopro-utils.git
go language で動く次のパッケージをダウンロード
go get github.com/stilldavid/gopro-utils/telemetry
go get github.com/paulmach/go.geo
gopro-utilsのbinの中にあるgopro2gpx.goをrunして変換。
go run gopro2gpx.go -i GOPRxxxx.bin -o GOPRxxxx.gpx
ピンバック: GoProの動画(mp4)からGPSデータを抽出してみる | SkyRail