У меня есть видео, размещенные на Amazon S3. Я кодирую их с помощью Zencoder и сохраняю миниатюру для видео, а затем использую Zencoder. Однако мне нужен способ генерировать миниатюры в определенных точках видео (т.е. 00:00:03, 00:10:32, 01:40:18) и сохранять их либо на S3, либо на моем сервере.
ffmpeg позволяет удаленно создавать миниатюры, однако для получения миниатюры из середины файла требуется очень много времени (иногда несколько минут) - я полагаю, это происходит потому, что он загружает весь файл до этой точки, чтобы получить миниатюру .
Мой план состоит в том, чтобы каким-то образом загрузить заголовок видеофайла через запрос диапазона байтов HTTP, угадать диапазон байтов, в котором я должен искать миниатюру, загрузить около секунды видео из этой части файла через байт HTTP. -рандж запрос, затем сохраните заголовок и крошечное видео локально. Я вытаскиваю миниатюру с помощью ffmpeg и удаляю временное видео.
Я понятия не имею, как именно это будет работать (я полагаю, что файлы H.264 MP4, с которыми я работаю, имеют динамический заголовок длины, для другой проблемы). Есть предложения или лучшие идеи?
Редактировать : Для пояснения, миниатюра Zencoder великолепна, но она позволяет создавать миниатюры только в сочетании с транскодированием. Я не хочу перекодировать видео каждый раз, когда создаю новый эскиз, поэтому мне нужно сделать это самостоятельно без Zencoder.