Мне нужна достаточно простая вещь - вырезать кусок из MPEG2-файла по границе GOP'ов, и пересчитать там timestamp'ы, чтобы они начинались с нуля. И больше НИЧЕГО. Неужели ни одна программа под линуксом этого делать не умеет?
В lve можно подгонять границы с точностью до фрейма или до GOP, но просто вырезать кусок файла он не умеет. Он его обязательно должен демультиплексировать на аудио и видео, а потом склеить обратно, при этом звук обычно уплывает нафиг. И звук в PCM и DTS не понимает в принципе.
ffmpeg не умеет резать по GOP'ам, и с пересчетом timestamp'ов у него как-то странно.
transcode мне вообще не удалось заставить выполнить эту задачу. Вот перекодировать он умеет классно во все стороны, а просто вырезать кусок потока - фиг.
Всякие навороченные редакторы типа MainActor так и норовят при сохранении куска файла перекодировать всё заново..
Я уже даже в принципе знаю, как эта задача решается, но прежде, чем начать писать, хочется всё-таки убедиться, что я не изобретаю велосипед.
В lve можно подгонять границы с точностью до фрейма или до GOP, но просто вырезать кусок файла он не умеет. Он его обязательно должен демультиплексировать на аудио и видео, а потом склеить обратно, при этом звук обычно уплывает нафиг. И звук в PCM и DTS не понимает в принципе.
ffmpeg не умеет резать по GOP'ам, и с пересчетом timestamp'ов у него как-то странно.
transcode мне вообще не удалось заставить выполнить эту задачу. Вот перекодировать он умеет классно во все стороны, а просто вырезать кусок потока - фиг.
Всякие навороченные редакторы типа MainActor так и норовят при сохранении куска файла перекодировать всё заново..
Я уже даже в принципе знаю, как эта задача решается, но прежде, чем начать писать, хочется всё-таки убедиться, что я не изобретаю велосипед.
Tags: