LINUX.ORG.RU

Косяки при обрезке и объединении видео в ffmpeg

 


0

1

Гугл говорит, что обрезать большой видосик на части можно так:

ffmpeg -i original.mp4 -ss 06:13 -to 11:20 -c copy part_1.mp4
ffmpeg -i original.mp4 -ss 14:58 -to 22:01 -c copy part_2.mp4

Потом преобразовать файлы в контейнеры ts:

ffmpeg -i part_1.mp4 -acodec copy -vcodec copy -vbsf h264_mp4toannexb -f mpegts part_1.ts
ffmpeg -i part_2.mp4 -acodec copy -vcodec copy -vbsf h264_mp4toannexb -f mpegts part_2.ts

И объединить их:

ffmpeg -i "concat:part_1.ts|part_2.ts" -vcodec copy -acodec copy out.mp4

Попробовал и столкнулся с двумя проблемами.

  1. Обе фрагмента (part_1.mp4 и part_2.mp4) начинают проигрываться не с 00:00:00, а с 00:02:00 и 00:07:00. Почему? И как это исправить?
  2. Полученный в итоге файл (out.mp4) имеет паузу в районе 7 секунд в моменте, когда начинает проигрываться второй фрагмент (part_2.mp4). Почему? И как это исправить?

Ответ на: комментарий от The_Coon

Без перекодирования резать только так, т.к. кадры ссылаются друг на друга, то образуют условно неделимые блоки. Другое дело, что можно заставить игнорировать хвосты на уровне контейнера, но не подскажу.

boowai ★★★★
()
Ответ на: комментарий от firkax

Ерунда какая-то получается. В итоговом файле странно работает перемотка, ее отбрасывает в самое начало…

The_Coon
() автор топика
Ответ на: комментарий от boowai

Попробую с перекодированием, может сработает…

The_Coon
() автор топика
Ответ на: комментарий от boowai

Эксперимент с перекодированием прошел успешно! Перечисленных проблем не встретил. Проблема только одна – это будет небыстро. Благодарю за подсказку!

The_Coon
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.