ffmpegでバッチモードでビデオを分割する方法はLinuxユーザーにとって多くの答えがありますが、これまたはまたはこれ便利な構文は他にもたくさんあります。
ffmpeg -i input.mp4 -c copy -map 0 -segment_time 300 -f segment output%03d.mp4
この例では、ビデオは Linux では 5 分のチャンクに分割されます。ただし、Windows では %0 がファイル名 (スクリプトを含むバッチファイル名) を取得するため、これらは使用できません。何らかの変更を加えることで、これを Windows で使用できる方法はありますか? バッチ ファイル内でスクリプトを使用して、次のようにファイル名を引数として渡せるようにしたいのですが...
ffmpeg -i %1 -c copy -map 0 -segment_time 300 -f segment output%03d.mp4
現在は以下のように決めています...
ffmpeg -i input.avi -vcodec copy -acodec copy -ss 00:00:00 -t 00:30:00 output1.avi
ffmpeg -i input.avi -vcodec copy -acodec copy -ss 00:30:00 -t 00:30:00 output2.avi
`
答え1
回答を得たこの郵便受け. %03dを別の%でエスケープする必要があり、
ffmpeg -i %1 -c コピー -map 0 -segment_time 300 -f セグメント '%1~na%%03d'