ffmpeg закодировать Bing как предварительный просмотр видео - PullRequest
3 голосов
/ 17 апреля 2011

Я хочу имитировать функцию предварительного просмотра видео bing с предварительным просмотром миниатюры, затем onMouseOver, загружать и воспроизводить видеофайл. Я планирую использовать VideoJS (html5 + flash) для воспроизведения видео. Мне нужно использовать ffmpeg для создания этих видеофайлов.

Как создать превью в формате mp4 только с видео, которое содержит 1 с каждой второй минуты полного клипа, и уменьшить разрешение до фиксированной ширины (с сохранением соотношения сторон, предпочтительно с увеличением масштаба) с помощью командной строки php + ffmpeg?

Я предполагаю, что это можно сделать каким-то образом вдоль линий обрезки клипов 1 с, затем объединить меньшие клипы и перекодировать для окончательного пересчитанного результата.

* Редактировать : Использование ffmpeg является требованием к дизайну. Вытащить клипы 1s, должно быть довольно легко, но объединить их, кажется, несколько сложно с ffmpeg. Я не хочу зацикливать миниатюры, я хочу предварительный просмотр видео, который содержит несколько клипов 1 с. Например. время выполнения в секундах: 100-101 и 200-201 объединены в сильно сжатый клип. Я прошу пример командной строки о том, как сделать это эффективным образом.

Ответы [ 3 ]

0 голосов
/ 26 апреля 2011

У меня есть подход, и я думаю, что это сработает ...

С помощью ffmpeg вы можете получать эскизы видео через определенные промежутки времени.

Так что я возьму от 5 до 10миниатюры с интервалом в 2 секунды и сохраните их на моем сервере с уникальным именем, которое идентифицирует видео.

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

Но в этом формате мы не можем воспроизводить звук при наведении мыши ..

Я не знаю, хорошо ли это, но я знаю, что так и будетработа ..

Обновление:

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

0 голосов
/ 29 мая 2011

Мне удалось сделать это сейчас, вытащив клипы 1с, и ​​преобразовав их в mpeg. Затем объедините эти файлы MPEG, добавив их в один файл. Затем конвертируйте til mpeg файл в mp4

0 голосов
/ 26 апреля 2011

Один из способов сделать это в Windows (или в Wine) - использовать скрипт Avisynth . Это позволит вам сделать все нужные преобразования за один шаг. Прошло немного времени с тех пор, как я использовал Avisynth, но очень простой скрипт может выглядеть так:

DirectShowSource("C:\file\to\encode.avi", audio=false) # Or another source filter
SelectRangeEvery(1440, 24) # outputs 24 frames every 1440 frames
BilinearResize(320,240) # resize to your desired resolution
Crop(...) # crop to reach desired aspect ratio

Это можно расширить, чтобы поддерживать различные частоты кадров и пропорции вместо жесткого кодирования всего. Полученный файл .avs можно затем использовать в качестве входного файла для ffmpeg, при условии, что он был скомпилирован с --enable-avisynth.

...