Обработка видеозаписей

Ffmpeg, удалить часть видео

Трям. Плиз, знающие, помогите.
Необходимо из середины видео вырезать кусок и удалить его. Это можно сделать одной командой, или резать кусками и склеивать? Если да, помогите составить команду. Перекодировать или еще что-то делать не надо
Игорь Р.
Игорь Р.
237
пролистал по быстрому, вроде ничего, посмотрите - "FFmpeg. Трюки и хитрости": https://habr.com/ru/post/536170/

ещё форум: http://forum.ru-board.com/topic.cgi?forum=5&topic=45173
S A K A L A S
S A K A L A S
53 025
Лучший ответ
Игорь Р. Да я нарыл такого много. Думал, здесь помогут
Одной командой ffmpeg - никак. "Ответчик" не удалил а сохранил середину файла.

1. Создаём временные сегменты для сохранения "начала" (до 11-й минуты) и "окончания" (с 11-й минуты 10-й секунды):

ffmpeg -t 00:11:00 -i input.mp4 -map 0 -c copy segment1.mp4
ffmpeg -ss 00:11:10 -i input.mp4 -map 0 -c copy segment2.mp4

2. Создаём список из файлов для "склейки" input.txt следующего содержания (можно обойтись без него - используя регулярные выражения на следующем шаге):

file 'segment1.mp4'
file 'segment2.mp4'

3. объединяем их с помощью демуксера concat:

ffmpeg -f concat -i input.txt -map 0 -c copy output.mp4

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

Если это не однократная потребность, то лучше на основе вышеуказанного составить скрипт с "подчисткой" и входными параметрами. Однако его содержание, как и регулярные выражения будут зависеть от используемой ОС.
Игорь Р. Ок, спасибо, вроде разобрался, буду пробовать. Да потребность пока одноразовая, пытаюсь понять, как работает сие чудо. Играюсь. Вопрос, хватит ли терпения...
Игорь Р. Еще один вопрос. "Учтите, "распиловка" может быть не точной, так как без перекодирования файлы "режутся" только по ключевым кадрам."

Как тогда правильно перекодировать? Какова последовательность действий?
ffmpeg -ss 10 -t 20 -i source_video.mp4 -vcodec copy -acodec copy result.mp4
вырезать с 10 сек продолжительностью 20 сек
для более точного позиционирования: 00:00:10.250
продолжительность -t можно заменить на время окончания -to 30 но надо добавить copyts
ffmpeg -ss 10 -i source_video.mp4 -to 30 -copyts -c copy result.mp4
(еще здесь -vcodec copy -acodec copy заменено на -c copy)
А*
Амелия ***
23 492
Игорь Р. ffmpeg -ss 00:00:10 -t 00:00:20 -i source_video.mp4 -vcodec copy -acodec copy result.mp4
Так сработает?

"для более точного позиционирования: 00:00:10.250" .250 -- здесь это доли секунды?