FFmpeg: Создание видеоклипа примерно 10 секунд, когда продолжительность видео неизвестна, без аудио

Вопрос или проблема

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

К сожалению, у меня нет этой информации, так как я указываю только путь к файлу. Я ищу 10-секундный клип из видео, который сохраняется в указанном месте без звуковой дорожки.

Я намерен показать этот 10-секундный ролик как превью настоящего видео на фронт-энде и не хочу, чтобы звук начинался.

Скорее всего, вам нужно:

ffmpeg -i "A_File.mp4" -ss 00:00:0.0 -t 10 -an "B_File.mp4"

Чтобы сделать это немного быстрее, вы также можете попробовать добавить -threads $(nproc), например:

ffmpeg -threads $(nproc) -i "A_File.mp4" -ss 00:00:0.0 -t 10 -an "B_File.mp4"

Уже существует значительное количество статей и документации по достижению этих результатов, включая:

https://ffmpeg.org/ffmpeg.html

http://www.labnol.org/internet/useful-ffmpeg-commands/28490/

Ответ или решение

Чтобы извлечь 10-секундный видеоклип из видеофайла с помощью FFmpeg, не зная его продолжительности, можно воспользоваться следующими шагами. Данный процесс подходит для создания превью видео без звукового сопровождения, что идеально для вашего проекта.

Подход

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

Команда для выполнения задачи

Для извлечения 10-секундного клипа используйте следующую команду:

ffmpeg -i "путь_к_видео/имя_файла.mp4" -ss 00:00:00.0 -t 10 -an "путь_к_результату/имя_результата.mp4"

Разбор команды:

  • -i "путь_к_видео/имя_файла.mp4": указывает исходный файл для обработки.
  • -ss 00:00:00.0: задает начальную точку извлечения. Здесь стоит установить значение в 0, чтобы начать с самого начала видео.
  • -t 10: определяет продолжительность извлекаемого фрагмента — в этом случае 10 секунд.
  • -an: отключает любые аудиотреки.
  • "путь_к_результату/имя_результата.mp4": указывает путь для сохранения созданного видеофайла.

Оптимизация процесса

Для ускорения обработки можно использовать мультипоточность. Добавьте опцию -threads $(nproc) в команду, чтобы использовать максимальное число потоков, доступное на вашем процессоре:

ffmpeg -threads $(nproc) -i "путь_к_видео/имя_файла.mp4" -ss 00:00:00.0 -t 10 -an "путь_к_результату/имя_результата.mp4"

Итоги

Используя данные команды, вы сможете создать 10-секундный видеоклип, не имея информации о длине исходного видео. Это будет удобно для ваших целей и поможет избежать запутанности с аудиодорожками.

Дополнительные ресурсы

Если вам нужны дополнительные сведения о функционале FFmpeg, рекомендуем посетить официальные руководства по FFmpeg:

С помощью этих команд и методов вы сможете легко извлекать нужные видеоклипы для демонстрации без звука, что очень полезно для создания предварительных просмотров вашего контента.

Оцените материал
Добавить комментарий

Капча загружается...