Быстрая и относительно точная нарезка из видео

Быстрая и относительно точная нарезка из видео

Я пытаюсь создать приложение, которое вырезает определенные небольшие фрагменты из видео. Если быть точнее, оно вырезает то, что говорит человек, в соответствии с временными метками в субтитрах. Вырезание с помощью следующей команды

ffmpeg -ss 346 -i input.avi -t 5 -c copy -y output.mp4

очень быстрый и достаточно точный, но я не уверен, что он эффективен в плане памяти из-за "подделки", которую выполняет MP4. Я также пробовал резать следующей командой:

ffmpeg -i input.avi -ss 346 -t 5 -c copy output.mp4

В этом случае ffmpeg может обрезать не ключевые кадры, поэтому видео часто воспроизводятся некорректно в начале, что для меня критично.

Я пытался избежать декодирования и кодирования, потому что мое приложение должно обрабатывать несколько видео одновременно, поэтому это может быть слишком медленно. Я уже думал о том, чтобы заставить ffmpeg сделать ключевой кадр в начале требуемого раздела, а затем использовать первую команду, но я не уверен, будет ли это быстро. Насколько я понимаю, создание ключевых кадров — непростая операция. И мои главные приоритеты — это эффективность по времени и относительная точность. Так что теперь я не знаю, какой из этих вариантов лучше всего подходит для моего случая. Я был бы признателен за любую помощь.

решение1

У меня осталось всего несколько минут, прежде чем мне придется убежать, поэтому я сделаю это быстро (и отредактирую позже, если потребуется).

Я бы выбрал такой подход - мою "философию". Для любой проблемы сначала ищите решение, которое дает желаемый результат. Это может быть не самое эффективное или чистое решение, но если оно дает желаемый результат, то по определению это хорошее решение.

И вы почти ответили на свой вопрос. Если позволите, процитирую вас:

Мои главные приоритеты — эффективность использования времени и относительная точность.

Я рад, что вы знаете свои приоритеты! Итак, сказав это, вы готовы немного пожертвовать размером файла, чтобы соответствовать этим приоритетам? Если да, то продолжайте с вашим первым примером. Как вы говорите, это очень быстро, это достаточно точно, и единственная цена — это немного увеличить размер файла.

Надеюсь, это поможет :-) М

Связанный контент