GoPro動画の連番をリネームするVBScript

GoPro動画をワンショットで長時間撮影すると、そのファイルは4GBごとに分割して保存されます。

分割ファイルの命名規則は公式サイトで公開されているとおりです。

この分割ファイル名が実に扱いづらい。

録画タイプ ファイル名
チャプター分けされたビデオ GHzzxxxx.mp4
GXzzxxxx.mp4

  • H” = AVC エンコード
  • X” = HEVC エンコード
  • xxxx’ = ファイル番号
  • zz’ = チャプター番号
GH011234.mp4 (1 番目のビデオ)
GH021234.mp4 (同じビデオの 2 番目のチャプター)

Windowsのエクスプローラの[名前]順で表示すると、同じビデオのファイルが連続して並んでくれません💀。(↓)

[日付時刻]をクリックして並べ替えると、同じビデオのファイルが連続して並びます👌。(↓)

Windowsのエクスプローラで眺める分にはこれで良いのですが、動画編集ソフトで取り扱う際にはやはり混乱します。

GoProの命名規則が何故、一般的な感覚とは異なる[子番号]-[親番号]という順序になっているのか不思議です。

GoPro動画の連番をリネームするVBScript【ダウンロードと実行】

そこで、[親番号]-[子番号]の順序にリネームするスクリプト(VBScript)を作ってみました。

Windows10で動作確認済みです。Macでは動作しません。

ダウンロード

以下のリンクからダウンロードしてください。

GoPro動画連番リネーム.zipというファイルがPCに保存されます。

右クリック→[すべて展開]で解凍すると、

  • GoPro動画連番リネーム.vbs
  • GoPro動画連番リネーム【逆変換】.vbs

という2つのファイルが入っています。

ひとまずデスクトップにでもコピーしてください。

連番リネーム

早速リネームしてみましょう。

GoProのファイルをGoPro動画連番リネーム.vbs上にドラッグアンドドロップする

GoProのファイルを[GoPro動画連番リネーム.vbs]上にドラッグアンドドロップします。動画以外のファイルも全部含めて大丈夫です。

変換前に確認する

いきなり変換しません。[上記のようにリネームします。実行しますか?]と問い合わせます。

このツールは、GHzzxxxx.mp4またはGXzzxxxx.mp4という命名規則に該当するファイルだけを処理対象とします。画像ファイルなど対象外のファイルについては「対象外です。」と表示します。

変換後に結果を確認する

[はい]と答えると、リネームを実行します。これくらいのファイル数なら、2~3秒でエクスプローラ上のファイル名が変わります。

リネーム後は[親番号]→[子番号]の順に入れ替わり、さらに間にハイフンが入ります。

変換前 変換後
GH010098
GH020098
GH030098
GH040098
GH0098-01
GH0098-02
GH0098-03
GH0098-04

連番リネーム【逆変換】

ファイル名を元に戻したいときのために【逆変換】のVBScriptも用意しました。

ひとつのVBScriptで【変換】と【逆変換】を兼ねようかとも考えましたが、ユーザーインターフェースをどうするか決めかねたので、あっさり2つのスクリプトを用意することにしました。

GoProのファイルをGoPro動画連番リネーム【逆変換】.vbs上にドラッグアンドドロップする

GoProのファイルを[GoPro動画連番リネーム【逆変換】.vbs]上にドラッグアンドドロップします。動画以外のファイルも全部含めて大丈夫です。

変換前に確認する

いきなり変換しません。[上記のようにリネームします。実行しますか?]と問い合わせます。

このツールは、GHxxxxzz.mp4またはGXxxxxzz.mp4という命名規則に該当するファイルだけを処理対象とします。画像ファイルなど対象外のファイルについては「対象外です。」と表示します。

変換後に結果を確認する

[はい]と答えると、リネームを実行します。これくらいのファイル数なら、2~3秒でエクスプローラ上のファイル名が変わります。

リネーム後は[子番号]→[親番号]の順に入れ替わり、間のハイフンが消えて、元のファイル名に戻ります。

変換前 変換後
GH0098-01
GH0098-02
GH0098-03
GH0098-04
GH010098
GH020098
GH030098
GH040098

ファイル名に入れたメモ書きを引き継いでリネームできる

ファイル名に入れた「メモ書き」を引き継いでリネームできます。

変換前 変換後
GH010098_登山口~359mピーク
GH020098_359mピーク~稲荷山
GH030098_稲荷山~6号路分岐
GH040098_6号路分岐~山頂
GH0098-01_登山口~359mピーク
GH0098-02_359mピーク~稲荷山
GH0098-03_稲荷山~6号路分岐
GH0098-04_6号路分岐~山頂

GoPro本来のファイル名に続けて、動画の内容をメモ書きしておくと、その部分を引き継いでリネームします。上の例ではアンダースコア(_)を1個挿入していますが、スペースでもハイフンでも、くっつけて書いてもかまいません。もちろん【逆変換】も可能です。

この「メモ書きを引き継ぐ」動作については、コメントで教えていただきました。

GoPro動画の連番をリネームするVBScript【改造】

ハイフンが不要な場合

[親番号]と[子番号]とのあいだのハイフンが不要な場合、以下のようにスクリプトを修正してください。

GoPro動画連番リネーム.vbsの修正

52行目の

sAfterFileName = rx.Replace(sBaseName,"$1$3-$2") & "." & sExtensionName	'リネーム後のファイル名

sAfterFileName = rx.Replace(sBaseName,"$1$3$2") & "." & sExtensionName	'リネーム後のファイル名

という具合にハイフン1文字を削除してください。

GoPro動画連番リネーム【逆変換】.vbsの修正

50行目の

rx.Pattern = "(G.)(\d{4})-(\d{2})"

rx.Pattern = "(G.)(\d{4})(\d{2})"

という具合にハイフン1文字を削除してください。

修正後、保存するときの注意

修正にはWindows標準のメモ帳やテキストエディタを利用します。VBScriptをダブルクリックで開こうとすると、スクリプトを実行してしまいます(その場合、[ファイルをドラッグ&ドロップしてください。]と注意ダイアログを表示して終わるようにしてあります)。

あらかじめメモ帳やテキストエディタを開いておき、そこにスクリプトをドラッグアンドドロップして開くとよいでしょう。

修正後、保存するとき文字コードのタイプに気を付けてください。

保存ダイアログで下部の[文字コード]を[ANSI]とします。テキストエディタによっては[S-JIS]、[Shift-JIS]といった表記になっているかもしれません。

まとめ

こんなツールを使わなくてもすむようにGoPro側で仕様を改善してほしいものです。

[親番号]の代わりに、録画開始時の[年月日時分秒]を付けると良いのではないでしょうか。

GH-yyyymmddhhnnss-01.mp4
GH-yyyymmddhhnnss-02.mp4
GH-yyyymmddhhnnss-03.mp4
GH-yyyymmddhhnnss-04.mp4

こうすれば[9999]を上限としたサイクリック問題も解消します。現状の8桁縛りはまるでMS-DOS時代のような古めかしさです。

コメントで、GoPro MAXの360動画(拡張子が360)でも動作したとご報告をいただきました。元の拡張子を引き継ぐ仕様となっているため、今後新たな拡張子が登場しても対応可能です。
登山用品

コメント

  1. […] ↓こちらのサイトで公開されてます。 https://kamiyama-online.com/gopro-movie-renumbering-vbscript/ […]

  2. R1150GS-A より:

    ありがてぇ、ありがてぇ
    二泊三日のバイクツーリングでは、ファイルが1TBになることも珍しくなく
    仲間内に公開する動画編集に・・・ファイル名による並び順が障害でした
    本当に助かります
    kamiyamaさんというお名前、昔cgiをいじっていた時にお見受けしたような・・

    • kamiyama kamiyama より:

      R1150GS-Aさん、お役に立てたようで良かったです。
      GoProユーザー共通の悩みではないかと思います。

  3. コツメカワウソ より:

    素晴らしいスクリプト作成ありがとうございます!
    しかし何故か私は動作がうまくいかない状況で困っています…。
    (私のやり方がどこかダメなのかもしません。その場合は大変申し訳ございません。m(_ _)m)
    一応、私の場合の詳細を書いてみます。
    OSはWindows10 proです。
    「Gopro動画連番リネーム.vbs」に動画ファイル(例えばGH010321.MP4)をドロップすると、「圧縮しています…」の表示が出た後、「GH010321.MP4」のファイル名のままでコピペされたデータがGopro動画連番リネーム.vbsの隣に現れます。
    もし何かアドバイス等ございましたらお手数をお掛けしてしまいますがお教えいただけますと幸いです。
    どうぞよろしくお願い申し上げます。m(_ _)m

    • kamiyama kamiyama より:

      コツメカワウソさん、こんにちは。
      不思議な現象ですね。ファイル圧縮に関わるようなコードはないのですが…。
      大量の動画ファイルをハードディスクで管理されていて、
      そのハードディスクに何らかのデータ圧縮機能を設定されていないでしょうか。
      このツールはGopro動画連番リネームに特化しており使い方が簡単なことだけが取り柄ですので、
      どうしても解決しないようでしたらflexible renamerのような汎用ツールを利用されてはいかがでしょうか。

  4. コツメカワウソ より:

    kamiyama様
    ご丁寧なお返事、誠にありがとうございます!
    また、flexible renamerというツールも教えてくださりありがとうございます。

    リネームしたい動画ファイルが入っているフォルダーの中に「GoPro動画連番リネーム」を入れて、そこにドロップ&ドラッグすると無事リネームできました!
    しかも動画ファイル名に個別のメモ書きを入れている場合でもその内容を引き継いでくれるのですね。非常に便利で感動しました。
    (例:GH010321 散歩.MP4 → GH0321-1 散歩.MP4)
    本当にありがとうございました!m(_ _)m

    • kamiyama kamiyama より:

      コツメカワウソさん、解決して良かったです。

      ※もしかして圧縮ファイルを解凍せずに「GoPro動画連番リネーム.vbs」にドラッグ&ドロップしようとしたら、圧縮処理が走ろうとしたのかも…?

      ファイル名の前後のメモ書きが引き継がれるのは実は意図した動作ではないのですが、余計なことをしていないシンプルなツールの副産物ですね。

      たしかに分割動画にシーン名を付けておくと扱いやすくなります。記事中で言及したいと思います。

  5. Sekiai より:

    こんなスクリプトをずっと探していました。(^ω^)
    どうもありがとうございます。大変助かりました。
    GoProの番号振りの謎仕様は長年こんな感じですが、
    理解に苦しみますね。(^-^;)

    • kamiyama kamiyama より:

      Sekiaiさん、こんにちは。
      コメントありがとうございます。

      ほんとに謎ですよね。
      お役に立てて良かったです。

  6. よし3 より:

    初めまして。
    私もgoproのファイル名が嫌なのですが、
    ファイル名を変更するとgopro純正アプリで読み込めなくなるので
    ファイル名を変更することはあきらめていました。
    こちらのソフトで変更すると、gopro純正アプリでも読み込めて、支障なく編集できるでしょうか?

    • kamiyama kamiyama より:

      よし3さん、コメントありがとうございます。
      GoPro「Quik」、私は利用していないので即答できないのですが、分割ファイルのつながりを認識するのにファイル名をあてにしているとしたら、リネームするといかにも不都合そうですね。
      私はちょっとしたビデオ編集にはWindows10付属の「フォト」を、凝ったものは「DaVinci Resolve」無償版を利用しています。

  7. ひろかめ より:

    これは「神」だ!
    Goproを使い始めて2年、ファイル名にはいつもイライラさせられていましたが、溜飲が下がりました。本当にありがとうございます。

    • kamiyama kamiyama より:

      ひろかめ 様、コメントありがとうございます。
      GoPro側で対応してほしいですよね。本当に不可解な仕様です。

  8. とむ より:

    スクリプトの作成ありがとうございます。
    早速使用してみたのですが、エラーを吐いてしまい困っています。
    解決方法をご教授下さい。

    行:54
    文字:4
    エラー:書き込みできません。
    コード:800A0046
    ソース:Microsoft VBScript 実行時エラー

    • kamiyama kamiyama より:

      とむ 様、コメントありがとうございます。
      57行目ということは、まさしくリネームを実行しようとしたときエラーになっているようですね。
      リネームを阻害するような要因がなにか考えられないでしょうか。
      たとえば何らかの他のアプリが対象ファイルを掴んでいる状態ですとリネームが出来ません。
      手動でリネームしてエラーにならないか試していただけますか。

  9. go素人 より:

    はじめまして

    使用してみたかったのですがダウンロードできません(T_T)

    もう公開はされていなのでしょうか?

  10. kamiyama kamiyama より:

    go素人 様、コメントありがとうございます。
    現在、ダウンロードできるはずですのでお試しください。

    ※当サイトで利用させていただいているWordpressテーマ「cocoon」と、ダウンロードプラグインの相性で問題が発生していたようです。[cocoon設定]→[高速化]→[JavaScriptを縮小化する]をOFFにすると解消できました。

  11. えす爺 より:

    はじめまして、DLさせていただいたのですが、
    当方のGoPro HERO4 Silverではうまく動かないようでした。
    なにか設定などが必要なのでしょうか?
    余りに古い機種のため仕組みが違うのですかね?

    • kamiyama kamiyama より:

      えす爺 様、コメントありがとうございます。
      PC側にファイルをコピーし、そのファイルをドラッグ&ドロップされているでしょうか。
      GoPro側に残したまま処理しようとすると、何らかの制限がかかるかもしれません。

      • えす爺 より:

        PCにコピーしたファイルでやっていたのですが、一部のファイルが変換できませんでした。
        ので、公式サイトの命名規則を詳しく見た結果
        初代HERO~HERO5までは命名規則が違っているようでした。

        GOPR1234.mp4(最初のビデオ)
        GP011234.mp4(オリジナルビデオの最初のチャプター)
        GP021234.mp4(同じビデオの2つ目のチャプター)

        と記載されていましたので、
        こちらのスクリプトでは対応していない形式のようですね。
        残念ですが、手動でがんばります。
        お騒がせいたしました。

        • kamiyama kamiyama より:

          えす爺 様。

          GOPR1234.mp4は想定外ですが、
          GP011234.mp4 → GP1234-01.mp4
          GP021234.mp4 → GP1234-02.mp4
          とリネームされないでしょうか?

  12. k2 より:

    はじめまして

    検索でヒットしました。まさに、こんなソフト、アプリを探していました。至極便利です。Maxで使っています。
    私もアウトドア系の動画だと、このサイトの説明にあるようにファイル名の後に説明を追加することが多いのですが、これにも対応している点も素晴らしいです。感謝しかありません。

    GoPro MAXの360動画(拡張子が360)も利用できました。こちらも説明に追加すると参考になる人もちょっとは増えるかと思いました。 (^_^)

    ありがとうございました。

    • kamiyama kamiyama より:

      k2様、コメントありがとうございます。
      お役に立てて良かったです。
      早速「元の拡張子を引き継ぐ仕様となっているため、今後新たな拡張子が登場しても対応可能」と追記いたしました。

  13. 特選Channel より:

    はじめまして。
    今年GoPROを購入しまして、ファイル名の秩序の無さに困っており辿り着きました。
    非常に素晴らしいスクリプト、ありがとうございます!
    これで編集が楽になります。

    • kamiyama kamiyama より:

      特選Channel様、コメントありがとうございます。
      お役に立てて良かったです。
      Goproの謎仕様、改善してほしいですね。