📝

Insta360動画ファイルからGPS情報の有無を機械的に判別する方法

に公開

Insta360で撮影した360度動画ファイル(.insv)にGPS情報が含まれているかどうかを、コマンドラインから機械的に確認する方法を紹介します。

背景

Insta360カメラで撮影した動画には、GPS機能が有効な場合に位置情報が埋め込まれます。しかし、撮影時の設定やGPS信号の受信状況によって、GPS情報が含まれるファイルと含まれないファイルが混在することがあります。

大量のファイルを整理する際、GPS情報の有無でファイルを分類したいケースがあります。

使用ツール

exiftool を使用します。macOSの場合、Homebrewでインストールできます。

brew install exiftool

ポイント:-ee オプションが必須

Insta360の.insvファイルは、GPS情報を標準的なEXIFタグではなく、MP4コンテナ内の独自トラックに埋め込んでいます。

そのため、通常のexiftoolコマンドではGPS情報を読み取れません。

# これではGPS情報が見つからない
exiftool -GPSPosition video.insv
# (出力なし)

-ee(extractEmbedded)オプションを使用することで、埋め込まれたメタデータトラックからGPS情報を抽出できます。

# これでGPS情報が読み取れる
exiftool -ee -GPSPosition video.insv
# GPS Position : 26 deg 20' 37.88" N, 126 deg 49' 43.32" E

単一ファイルの確認

exiftool -ee -GPSPosition ファイル名.insv

GPS情報がある場合は位置情報が出力され、ない場合は何も出力されません。

複数ファイルの一括確認

以下のシェルスクリプトで、フォルダ内のすべての.insvファイルのGPS有無を確認できます。

#!/bin/bash

echo "=== GPS情報の確認 ==="
echo ""

for f in /path/to/folder/*.insv; do
    filename=$(basename "$f")
    gps=$(exiftool -ee -GPSPosition "$f" 2>/dev/null | grep "GPS Position" | head -1)
    if [ -n "$gps" ]; then
        echo "✓ GPS あり: $filename"
        echo "  $gps"
    else
        echo "✗ GPS なし: $filename"
    fi
done

実行例

=== GPS情報の確認 ===

✓ GPS あり: VID_20251124_102711_00_020.insv
  GPS Position                    : 26 deg 20' 30.42" N, 126 deg 52' 53.72" E
✓ GPS あり: VID_20251124_102928_00_021.insv
  GPS Position                    : 26 deg 20' 21.86" N, 126 deg 53' 12.79" E
✗ GPS なし: VID_20251124_111033_00_026.insv
✗ GPS なし: VID_20251124_111204_00_027.insv
✓ GPS あり: VID_20251124_113446_00_029.insv
  GPS Position                    : 26 deg 20' 37.88" N, 126 deg 49' 43.32" E

ファイルを自動分類するスクリプト

GPS情報の有無でファイルを別フォルダに分類するスクリプトです。

#!/bin/bash

SOURCE_DIR="/path/to/source"
GPS_DIR="/path/to/with_gps"
NO_GPS_DIR="/path/to/without_gps"

mkdir -p "$GPS_DIR" "$NO_GPS_DIR"

for f in "$SOURCE_DIR"/*.insv; do
    filename=$(basename "$f")
    gps=$(exiftool -ee -GPSPosition "$f" 2>/dev/null | grep "GPS Position")

    if [ -n "$gps" ]; then
        echo "GPS あり: $filename -> $GPS_DIR"
        cp "$f" "$GPS_DIR/"
    else
        echo "GPS なし: $filename -> $NO_GPS_DIR"
        cp "$f" "$NO_GPS_DIR/"
    fi
done

echo "完了"

より詳細なGPS情報を取得

緯度・経度以外の情報も取得できます。

exiftool -ee -G3 -GPS:all video.insv

出力例:

[Doc32521]      GPS Date/Time                   : 2025:11:24 02:34:46.999Z
[Doc32521]      GPS Latitude                    : 26 deg 20' 37.88" N
[Doc32521]      GPS Longitude                   : 126 deg 49' 43.32" E
[Doc32521]      GPS Speed                       : 6.3631

CSV形式で出力

複数ファイルの情報をCSVで出力する場合:

exiftool -ee -csv -GPSPosition -GPSDateTime *.insv > gps_info.csv

まとめ

  • Insta360の.insvファイルのGPS情報は独自形式で埋め込まれている
  • exiftool -ee オプションで読み取り可能
  • シェルスクリプトで大量ファイルの一括処理が可能

参考

Discussion