Как разделить flv-файл по размеру с помощью FFmpeg, mencoder или чего-то еще?
Вопрос
Мне нужно разбить flv-файл на фрагменты известного размера на сервере Linux.Например, размер моего исходного файла составляет 9 МБ, а фрагмента - 4 МБ.Итак, я должен получить 3 части - 4 МБ, 4 МБ и 1 Мб.
Кажется, что FFmpeg может разделяться только по времени.
Mencoder может начинаться по времени (-ss TIME) и заканчиваться по размеру ( -endpos SIZE MB).Но если начальная секунда первого фрагмента, очевидно, равна 0, то как я могу получить начальную секунду для следующих фрагментов?
У вас есть какие-нибудь предложения?
Заранее благодарю.
Решение
вычислите ~ время (сек) каждого блока и используйте -ss X -t X+ avg_block_time для разделения видео
Другие советы
Существует утилита командной строки, которая делает именно это: http://mpgtx.sourceforge.net/
mpgtx -3 movie.mpg -b mysplit
разделит фильм на 3 части с именами mysplit-1.mpg, mysplit-2.mpg, mysplit-3.mpg
Тем не менее, у меня, кажется, возникают проблемы со звуком, когда я использую это - но я не знаю, возникнет ли у вас такая же проблема.