5

Моя миссия - сделать небольшие видеофрагменты из большего, а затем объединить их в один файл. После долгих поисков и чтения я решил использовать следующую команду

ffmpeg -y -ss 03:00 -i myvideo.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts -t 00:05 segment01.ts

Мои проблемы; надеясь, что у вас есть обходные пути для их решения:

1. Как видите, длительность желаемого выхода составляет 5 секунд, чего я вообще не получил. Я получил разную продолжительность для разных сегментов; 4, 6, 8, 9 секунд.

** После поиска я обнаружил, что это происходит из-за проблем с ключевыми кадрами.

Но я не понимаю, как это связано с продолжительностью сегмента.

Я полностью понимаю, что позиция поиска может отличаться из-за ключевых кадров, но почему продолжительность?

2-После прочтения я решил использовать команду -fs, чтобы ограничить размер сегмента. Это работало как-то кроме одной вещи.

Сегменты как будто немного зависают (опускаются рамки! Понятия не имею) В конце концов, сделать окончательный результат при объединении ужасно. Что я могу сделать, чтобы избавиться от этого "зависания"

Есть идеи?

** Примечание: я пробовал оба (вход / выход) поиска, но ничего не изменилось.

1 ответ1

1

Это часто происходит при использовании -ss и -t вместе с -c copy или -codec copy .

Не используйте copy и используйте другие кодеки или просто не указывайте параметры -c , -codec . и этого не произойдет.

например: ffmpeg -y -ss 03:00 -i myvideo.mp4 -c:v libx264 -f mpegts -t 00:05 segment01.ts или что-то в этом роде.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .