FFmpeg удалить 2 секунды от середины видео и конкатать части. Однолинейное решение - PullRequest
0 голосов
/ 15 января 2019

У меня есть видеофайл длиной 22 секунды.
Я хочу удалить сегмент с 10 до 12 секунд.
Затем верните объединенный видеофайл секунд 1-10 и 12-22.

Я хочу сделать это одной командой FFmpeg.

Это простой способ

Источник https://www.labnol.org/internet/useful-ffmpeg-commands/28490/

ffmpeg -i input.mp4 -ss 00:00:00.0 -codec copy -t 10 output_1.mp4

и

ffmpeg -i input.mp4 -ss 00:00:12.0 -codec copy -t 10 output_2.mp4

затем создайте входной файл со всеми именами исходных файлов и запустите

ffmpeg -f concat -i file-list.txt -c copy output.mp4



Но я ищу решение в одну строку

Буду признателен за любую помощь.

1 Ответ

0 голосов
/ 15 января 2019

Для точной обрезки вам придется перекодировать

Используйте

ffmpeg -i input.mp4 -vf select='not(between(t,10,12))',setpts=N/FRAME_RATE/TB -af aselect='not(between(t,10,12))',asetpts=N/SR/TB out.mp4
...