2021/01/20 20:10
GoPro Hero9の分割されたファイルを結合するの面倒ですよね!
なぜなら、
純正のアプリで結合するのがなんか面倒
ffmpegのconcatの引数がファイル名の羅列ではなくて、特定のフォーマットに従ったファイルになってしまった
日付もffmpegで同時に指定しないといけないけど入力がめんどい
からです。
SDカードのファイルを時間順に並べて、結合したいファイルを放り込めば良いようにしました。
再エンコードしないので、SDカードの読み込み速度くらいで書き出せるのではなかろうか?(あまり深く考えてない)
Goで書きました。
macOS版だけリリースしてます。油断して、VMware Fusionを更新しないままBig SurにしてしまってWindowsやLinuxの動作確認ができません。
ffmpegのconcatを使っているだけです。つなぎ目にノイズなどはいらず、綺麗に結合できます。
わざわざプログラムからffmpegを使っているのは、複数ファイルの結合が面倒になったのと、日付をどうするんだっけ?と悩まなくて済むようにです。何より楽ちんです(プログラム書くのは大体これ目的)。
ただし、GPSメタデータの入っているストリームはコピーできてません。GPSデータを活かしたい場合には、GPSデータの利用も含めてGoPro純正のアプリを使うのが良いでしょう。
ffmpeg: https://ffmpeg.org mp4concat: https://github.com/tsuyukimakoto/mp4concat
右上の虫眼鏡から起動するアプリケーション: terminal.app
野良アプリを動かせるようにするコマンド: xattr -dr com.apple.quarantine
※ 自己責任で
https://ffmpeg.org からzipをダウンロードして、ffmpegコマンドをデスクトップに置きましょう。HomeBrewでインストールしても良いです。 コマンドをデスクトップに置いた場合には、以下のコマンドをターミナルで実行します
xattr -dr com.apple.quarantine ~/Desktop/ffmpeg
https://github.com/tsuyukimakoto/mp4concat/releases から mp4concat.0.1.1.zip をダウンロードして、mp4concatコマンドをデスクトップに置きましょう。
コマンドをデスクトップに置いた場合には、以下のコマンドをターミナルで実行します
xattr -dr com.apple.quarantine ~/Desktop/mp4concat
GoPro Hero9(少し古いものもきっと同じ)で撮影したデータが入っているSDカードをリーダーなどで読み込めるようにします。
MP4ファイルの入ったフォルダで、ファイルを更新日時順(古いもの順)にします。
デスクトップのmp4concatをダブルクリックしてアプリを起動します(黒い画面が表示されます)。
Finderからmp4concatの黒い画面に結合したいファイルをドラッグ&ドロップします。MP4以外は無視するので、他のファイルも含めて選択、ドラッグ&ドロップして構いません。
黒い画面にファイルの一覧を渡せたら、ウィンドウをアクティブにしてエンターキーを押します。
暫くするとコマンドが完了しましたと表示されます。デスクトップの mp4concat_work フォルダに1つに結合されたmp4ファイルが出力されています。
チャンネル登録と高評価ボタンをお願いします!