Как удалить несколько секунд из файла .mp4 с помощью ffmpeg?

Попробуйте отредактировать grub.cfg в /boot/grub/grub.cfg

Вы сказали, что можете загружать установленную систему Ubuntu 15.10 через USB, не так ли?

2
задан 16 November 2017 в 23:08

4 ответа

Думаю, вам нужно разрезать видео на 2 части, а затем объединить их. первая «временная величина» является начальной точкой, вторая «временная величина» - это длина видео, которую вы хотите вырезать. Напри- мер, ниже первый срез начинается в 00:00:00, а длина составляет 11 минут, второй срез начинается с 11 минут 10 секунд, а длина - 10 минут.

разрезание:

ffmpeg -i test.mp4 -ss 00:00:00 -t 00:11:00 -acodec copy -vcodec copy test1.mp4

ffmpeg -i test.mp4 -ss 00:11:10 -t 00:10:00 -acodec copy -vcodec copy test2.mp4

merge:

cat test1.mp4 test2.mp4 >> test3.mp4

Я не пробовал, дайте мне знать, если это работы.

0
ответ дан 18 July 2018 в 03:10

Вы можете попытаться сделать это без повторного кодирования, но поскольку вы можете только нарезать ключевые кадры, это, возможно, не будет соответствовать вашим желаемым временам среза, поэтому, если вам нужна точность, вам нужно будет перекодировать:

ffmpeg -i input.mp4 -filter_complex \ "[0:v]trim=end=660,setpts=N/FRAME_RATE/TB[v0]; \ [0:a]atrim=end=660,asetpts=N/SR/TB[a0]; \ [0:v]trim=start=670,setpts=N/FRAME_RATE/TB[v1]; \ [0:a]atrim=start=670,asetpts=N/SR/TB[a1]; \ [v0][a0][v1][a1]concat=n=2:v=1:a=1[v][a]" \ -map "[v]" -map "[a]" output.mp4 (a) обрезка позволит вам выбрать ваши клипы. (a) setsets сбрасывает временные метки. concat объединяет клипы.

Подробную информацию о каждом фильтре см. в документации FFmpeg Filter.

1
ответ дан 18 July 2018 в 03:10

Думаю, вам нужно разрезать видео на 2 части, а затем объединить их. первая «временная величина» является начальной точкой, вторая «временная величина» - это длина видео, которую вы хотите вырезать. Напри- мер, ниже первый срез начинается в 00:00:00, а длина составляет 11 минут, второй срез начинается с 11 минут 10 секунд, а длина - 10 минут.

разрезание:

ffmpeg -i test.mp4 -ss 00:00:00 -t 00:11:00 -acodec copy -vcodec copy test1.mp4

ffmpeg -i test.mp4 -ss 00:11:10 -t 00:10:00 -acodec copy -vcodec copy test2.mp4

merge:

cat test1.mp4 test2.mp4 >> test3.mp4

Я не пробовал, дайте мне знать, если это работы.

0
ответ дан 24 July 2018 в 17:46

Вы можете попытаться сделать это без повторного кодирования, но поскольку вы можете только нарезать ключевые кадры, это, возможно, не будет соответствовать вашим желаемым временам среза, поэтому, если вам нужна точность, вам нужно будет перекодировать:

ffmpeg -i input.mp4 -filter_complex \ "[0:v]trim=end=660,setpts=N/FRAME_RATE/TB[v0]; \ [0:a]atrim=end=660,asetpts=N/SR/TB[a0]; \ [0:v]trim=start=670,setpts=N/FRAME_RATE/TB[v1]; \ [0:a]atrim=start=670,asetpts=N/SR/TB[a1]; \ [v0][a0][v1][a1]concat=n=2:v=1:a=1[v][a]" \ -map "[v]" -map "[a]" output.mp4 (a) обрезка позволит вам выбрать ваши клипы. (a) setsets сбрасывает временные метки. concat объединяет клипы.

Подробную информацию о каждом фильтре см. в документации FFmpeg Filter.

1
ответ дан 24 July 2018 в 17:46

Другие вопросы по тегам:

Похожие вопросы: