Бортовой журнал Ктулху

Как из видеофайла вырезать определенную часть средствами ffmpeg

Нужно из нудного фильма вырезать наиболее интересные моменты? Обрезка, вырезание кусков из видеофайла в командной строке Ubuntu/Linux это достаточно простой процесс если знать как это делать.

Установка ffmpeg

Добавть репозиторй ffmpeg и установить:

sudo add-apt-repository ppa:jonathonf/ffmpeg-3 -y
sudo apt update
sudo apt install ffmpeg -y

При запуске будет вдно что установлась версия 3.

ffmpeg version 3.4.2-1~14.04.york1.2 Copyright (c) 2000-2018 the FFmpeg developers

 

Обрезка

ffmpeg -ss 00:00:10.0 -i video.mp4 -t 00:00:30.0 -c copy cut.mp4

Можно указать длтельность при помощ флага -t или опреденное время при помощ флага -to.

Еще пшут, что флаг -noaccurate_seek неплохо было бы добавть для корректности воспроизведения видео.

 

Из видео длиной 42 сек. делаем видео длиной, например, 10 секунд начная с 15-й секунды. На скриншоте как раз это время.

screenshot 2018 05 13 15 31 29 1

Выполняем указанную команду, указав необходмое время.

screenshot 2018 05 13 15 39 27 1 

И получаем файл длиной чуть более 10 секунд. Почему-то неточно работает позиционирование.

screenshot 2018 05 13 15 42 52 1 1

На скрине видно что начинается с того же момента но плеер показывает длину в 16 секунд, хотя воспроизведение обрывается не доходя до конца.