Я могу разделить вспомогательный (или видео) файл по времени, но как мне разделить его по размеру файла?

ffmpeg -i input.mp3 -ss S -to E -c copy output1.mp3 -ss S -to E -c copy output2.mp3

Это нормально, если у меня есть временные коды, но если я хочу, чтобы выходные файлы были разделены на 256 МБ независимо от длины времени, что мне делать? (То, что я сейчас делаю, — это оценка, но это часто означает, что мне приходится выполнять несколько прогонов с -ss S -to E, чтобы получить файлы, размер которых близок к тому, который мне нужен).

1
lbutlr 8 Ноя 2020 в 16:23
2
 – 
Artem S. Tashkinov
8 Ноя 2020 в 16:41
Ух ты. искал размер файла ffmpeg и не нашел. Таким образом, это невозможно в самом ffmpeg, но возможно с помощью сценария-оболочки. Это сработает, я надеялся избежать этого, но это сработает. (ну скрипт не работает с текущим ffmpeg, но возможно это поправимо)
 – 
lbutlr
8 Ноя 2020 в 19:54
Вы хотите, чтобы фрагменты были действительными mp3-файлами? Если нет, команда split сделает это за вас.
 – 
Jeremy Boden
20 Июн 2021 в 03:19
Это должно быть ffmpeg? Если нет, также взгляните на mp3splt, который (а) не перекодирует и (б) имеет лучшие параметры разделения, хотя я не видел метода «размера файла». И если ваш mp3 имеет постоянный битрейт, 256 МБ должно иметь заданное количество кадров, чтобы вы могли разделить его на количество кадров или продолжительность.
 – 
dirkt
20 Июн 2021 в 08:08

1 ответ

Лучший ответ

Вариант, который вы ищете, это -fs, который ограничивает размер файла.

Вот официальная документация: https://ffmpeg.org/ffmpeg.html#Main-options< /а>

1
mattia.b89 23 Июн 2021 в 19:51
Пожалуйста, скажите мне всю команду, которую я должен ввести.
 – 
radiorz
25 Ноя 2021 в 16:48