%20%D1%87%D0%B0%D1%81%D1%82%D0%B8%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20ffmpeg%20%D0%B2%20Windows.png)
Хотя разделение видео с помощью ffmpeg в пакетном режиме дает много ответов для пользователей Linux, я обнаружил,этотилиили этополезно. Есть много других. Один синтаксис может быть
ffmpeg -i input.mp4 -c copy -map 0 -segment_time 300 -f segment output%03d.mp4
В этом примере видео будет разделено на 5-минутные куски в Linux). Но я не могу их использовать, так как в 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'