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

535
user1306322

Я кодирую несколько видео, и я хотел бы добавить миниатюру, которая загружалась бы быстрее, чем браузер файловой системы, автоматически генерирующий ее с подходом по умолчанию. Я нашел несколько отдельных инструментов, которые либо генерируют, либо добавляют существующие эскизы, но я хотел бы получить решение ffmpeg, поскольку я уже использую его для кодирования. Миниатюра должна быть изображением от 25% или 33% от продолжительности видео.

0

1 ответ на вопрос

1
Gyan

Сначала используйте ffprobe, чтобы получить длительность закодированного файла,

DURATION=$(ffprobe -show_entries format=duration -v 0 -of compact=p=0:nk=1 file.mp4) 

и четверть

DUR=$(echo "$DURATION/4" | bc) 

Извлеките и приложите миниатюру,

ffmpeg -i file.mp4 -ss $DUR -i file.mp4 -map 1:v:0 -map 0 -filter:v:0 scale=320:-1,trim=end_frame=1 -c copy -c:v:0 mjpeg -disposition:0 attached_pic out.mp4 
Это ругается на меня о "ched_pic "... откуда это взялось? tink 5 лет назад 0
ffmpeg никогда не ругается Обновите ffmpeg - это значение было добавлено в течение последнего года. Gyan 5 лет назад 0

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