Как я могу разделить серию клипов из видео, а затем соединить их без пропусков аудио или видео? - PullRequest
0 голосов
/ 16 апреля 2020

Я разрабатываю приложение, в котором я снимаю видео и (1) делю его на кучу кусков ~ 1 секунды. Затем мне нужно (2) сшить подмножество этих фрагментов обратно, что приведет к фрагменту исходного видео.

Например, допустим, у меня есть оригинальный клип 10 с. Я разделил его на куски 1 с каждую секунду (клип от 0 с до 1 с, клип от 1 с до 2 с и т. Д. c.). Теперь мне нужно сшить, скажем, секунды 2-4 в одно видео.

В настоящее время я пытаюсь выполнить оба шага, используя ffmpeg.

Для вырезания клипа:

ffmpeg -ss 33 -i video.ts -t 1 33to34.ts

Это должно искать секунды 33 и выводить длительность клипа 1 с, получая видеоклип, содержащий секунды 33-34 исходного видео. Я заметил, что ffmpeg не всегда выполняет точный поиск, поэтому, следуя инструкциям в этого поста , в котором говорится, что нужно вручную добавлять ключевые кадры в те части видео, которые вы хотите вырезать, я попытался это сделать:

Сначала установите ключевые кадры:

ffmpeg -i video.ts -force_key_frames 00:00:01.000,00:00:02.000,00:00:03.000,00:00:04.000 out.ts

И затем обрежьте клипы, как я делал ранее, с новым выходным клипом.

Несмотря на то, что видео получилось ровно по 1 с, (что я и хотел), при объединении клипов в видео возникает небольшой разрыв (просто небольшое дрожание). У меня не может быть этого, и я ищу решение.

Может кто-нибудь помочь мне понять, почему это происходит, и помочь мне найти решение? Заранее большое спасибо.

...