某所にPanasonicのネットワークカメラを設置しました。
ネットワークカメラではあるものの、孤島のためWebに接続されていません。そのため、本体のSDカードに録画をさせることにしました。
発砲の都度フォルダが作成され、その中に細切れになった映像データ(7sec程度)が保存されています。Web画面から視聴するのは連続再生されるため、気にならないのですが、PCで見るのには苦労します。
そこでffmpegで結合させてしまえてと思い立ちました。
コピペで作成したバッチを置いておきますので、似たような境遇の方がいましたらご利用ください。
パスは適当に書き換えてください。このまま実行すると、batの実行場所に結合した。動画が作成されます。
@echo off SETLOCAL ENABLEDELAYEDEXPANSION rem 「for」コマンドで子フォルダに対してループ処理 for /d %%a in (細切れになったフォルダの一つ上のフォルダ) do ( rem (%%aには指定した子フォルダのフルパスが入っている) rem 子ループ:mp4ファイルを【files.txt】に追加する処理 for /F "usebackq" %%b in (`dir /b /s /a-d /O:N %%a`) do ( echo file '%%b' >> files.txt ) rem ファイル名用に、フルパスを変数Fにコピー SET F=%%a rem ffmpegで結合する処理:ffmpegのパスは変更してください。 rem 変数Fからフォルダ名の末尾8桁をファイル名として利用する。 call "C:\ffmpeg\bin\ffmpeg.exe" -f concat -safe 0 -i files.txt -c copy !F:~-8!.mp4 rem 一時ファイルを捨てる。 del files.txt! )