Создание превью для прокрутки видео для JW Player (jwplayer tooltip thumbnails)
Нужно было сделать превью как на ютубе для быстрого поиска нужного момента. Гугл не особо хотел делится, но я нашел)
И так имеется готовая библиотека товарища vlanard. Это питон скрипт который использует FFmpeg и ImageMagick для создания миниатюр и склеивания их в спрайт.
Для его использования нужен python и библиотека питона dateutil
sudo apt-get install python-pip
sudo pip install python-dateutil
Запускаем скрипт с указанием видео файла.
python makesprites.py /path/to/myvideofile.mp4
Получаем в папке со скриптом папку с превьюшкой и файл Web VTT в котором идет посекундная привязка превью ко времене видео.
WEBVTT
Img 1
00:00:22.000 —> 00:01:07.000
BIGBUCKBUNNY_sprite.jpg#xywh=0,0,100,56
Img 2
00:01:07.000 —> 00:01:52.000
BIGBUCKBUNNY_sprite.jpg#xywh=100,0,100,56
Img 3
00:01:52.000 —> 00:02:37.000
BIGBUCKBUNNY_sprite.jpg#xywh=200,0,100,56
Обратите внимание на то что изображение лежит вместе с файлом vtt. Если вам нужно держать изображения отдельно и индекс отдельно (не все яйца в одну корзину) то нужно поправить скрипт на 186 строке. Так же можно задать интервал превью, через сколько в секундах их делать.
THUMB_RATE_SECONDS=30 #через сколько делать стоп кадр
Для linux также нужно отключить опцию USE_SIPS т.к. скрипт может работать еще в Маке, а него команда немного другая
USE_SIPS = False #этим мы указваем что нужно использовать ImageMagick функцию montage.
Так же можно отключить логирование закоментировав строку addLogging() в конце файла.
Дальше подключаем все это к JW Player 6 (ниже не катит) по офф инструкции.
Получится то что на картинке в начале поста.
Это все можно использовать и для других плееров поддерживающих это фишку.
Не забываем настроить в nginx mp4 streaming иначе промотка идет лесом.
Всех с новым технологиями! Юзаем.