Insta360 の画像・動画ファイルのフォーマットを調べる

先日 Insta360 X4 を購入した。本体に差し込んだ MicroSDカード から画像や動画を PC に移してみると、 拡張子が insp, insv, lrv のファイルが確認できる。

SDカードからPCに移されたファイル

画像ファイル

insp

IMG_20241014_154301_00_008.insp が画像ファイルになっている。file コマンドで内容を確認すると、JPEG の画像であることがわかる(出力は見やすくするために改行を加えた)。

$ file IMG_20241014_154301_00_008.insp 
IMG_20241014_154301_00_008.insp: 
  JPEG image data, 
  Exif standard: [
    TIFF image data,
    little-endian, 
    direntries=10, 
    description=DCIM\Camera01\IMG_20241014_154301_00_008.ins, 
    manufacturer=Arashi Vision, 
    model=Insta360 X4, 
    orientation=upper-left, 
    resolutionunit=2, 
    software=v1.2.31_build1, 
    datetime=2024:10:14 15:43:05,
    GPS-Data
  ]

拡張子 insp を持つファイルの実体は JPEG 形式の画像であり、TIFF フォーマットの Exif 情報を保持している。Arashi Vision は Insta360 を作っている会社である。

拡張子 insp を jpeg に変えることで、画像の内容を確認することができる。

$ cp IMG_20241014_154301_00_008.insp IMG_20241014_154301_00_008.jpeg
Insta360 の前後のレンズで撮影した画像が横並びで配置されている

動画ファイル

動画は 4K, 30fps で撮影をした。一度の撮影に対応して拡張子 lrv と insv をもつファイルが 2 つ作成されていた。

lrv

LRV_20241014_154315_01_009.lrv を同様に file コマンドで調べると MPEG-4 形式の動画ファイルであることが分かる(出力は見やすくするために改行を加えた)。

$ file LRV_20241014_154315_01_009.lrv 
LRV_20241014_154315_01_009.lrv: 
  ISO Media, 
  MPEG v4 system, 
  3GPP JVT AVC [ISO 14496-12:2005]

LRV は Insta360 のみで使用される拡張子ではなく、Low Resolution Video の略で低解像度の動画に使用されるものらしい。Insta360 のブログには LRV 形式のファイルを プレビューやAI分析に使用している との記述がある。

ffprobe で詳しく中身を調べてみる。

$ ffprobe LRV_20241014_154315_01_009.lrv
ffprobe version 7.0.2 Copyright (c) 2007-2024 the FFmpeg developers
...
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'LRV_20241014_154315_01_009.lrv':
  Metadata:
    major_brand     : avc1
    minor_version   : 538182144
    compatible_brands: avc1isom
    creation_time   : 2024-10-14T06:43:15.000000Z
  Duration: 00:00:05.77, start: 0.000000, bitrate: 28227 kb/s
  Stream #0:0[0x1](eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709, progressive), 1664x832 [SAR 1:1 DAR 2:1], 8636 kb/s, 29.97 fps, 29.97 tbr, 30k tbn (default)
      Metadata:
        creation_time   : 2024-10-14T06:43:15.000000Z
        handler_name    : ?INS.AVC
        vendor_id       : [0][0][0][0]
        encoder         : AVC encoder
  Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s (default)
      Metadata:
        creation_time   : 2024-10-14T06:43:15.000000Z
        handler_name    : ?INS.AAC
        vendor_id       : [0][0][0][0]

拡張子 lrv をもつファイルは H264 形式で解像度 1664x832 の映像と AAC-LC 形式の音声を内包しているファイルだということが分かる。

拡張子 lrv を mp4 に変えることで、動画の内容を確認することができる。

$ cp LRV_20241014_154315_01_009.lrv LRV_20241014_154315_01_009.mp4
Insta360 の前後のレンズで撮影した映像が横並びで配置されている

insv

VID_20241014_154315_00_009.insv を同様に file コマンドで調べると MPEG-4 形式の動画ファイルであることが分かる(出力は見やすくするために改行を加えた)。

$ file VID_20241014_154315_00_009.insv 
VID_20241014_154315_00_009.insv: 
  ISO Media, 
  MPEG v4 system, 
  3GPP JVT AVC [ISO 14496-12:2005]

ffprobe で詳しく中身を調べてみる。

$ ffprobe VID_20241014_154315_00_009.insv 
ffprobe version 7.0.2 Copyright (c) 2007-2024 the FFmpeg developers
...
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'VID_20241014_154315_00_009.insv':
  Metadata:
    major_brand     : avc1
    minor_version   : 538182144
    compatible_brands: avc1isom
    creation_time   : 2024-10-14T06:43:15.000000Z
  Duration: 00:00:05.77, start: 0.000000, bitrate: 57655 kb/s
  Stream #0:0[0x1](eng): Video: hevc (Main) (hvc1 / 0x31637668), yuvj420p(pc, bt709), 1920x1920 [SAR 1:1 DAR 1:1], 18496 kb/s, 29.97 fps, 29.97 tbr, 30k tbn (default)
      Metadata:
        creation_time   : 2024-10-14T06:43:15.000000Z
        handler_name    : ?INS.HVC
        vendor_id       : [0][0][0][0]
        encoder         : HVC encoder
  Stream #0:1[0x2](eng): Video: hevc (Main) (hvc1 / 0x31637668), yuvj420p(pc, bt709), 1920x1920 [SAR 1:1 DAR 1:1], 19396 kb/s, 29.97 fps, 29.97 tbr, 30k tbn (default)
      Metadata:
        creation_time   : 2024-10-14T06:43:15.000000Z
        handler_name    : ?INS.HVC
        vendor_id       : [0][0][0][0]
        encoder         : HVC encoder
  Stream #0:2[0x3](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s (default)
      Metadata:
        creation_time   : 2024-10-14T06:43:15.000000Z
        handler_name    : ?INS.AAC
        vendor_id       : [0][0][0][0]

拡張子 insv をもつファイルは H265 形式で解像度 1920x1920 の映像 2 本と AAC-LC 形式の音声を内包しているファイルだということが分かる。

ffmpeg を使って 2 本の映像をそれぞれ抽出することができる。

映像1

$ ffmpeg -i VID_20241014_154315_00_009.insv -map 0:v:0 -c copy 01.mp4
Insta360 の前方のレンズで撮影した映像

映像2

$ ffmpeg -i VID_20241014_154315_00_009.insv -map 0:v:1 -c copy 02.mp4
Insta360 の後方のレンズで撮影した映像

複数の画像や動画を繋ぎ合わせる技術をスティッチングというらしい。暇があればこれも調べてみたい。

この記事が気に入ったらサポートをしてみませんか?