Я загрузил видео, но когда я вижу их в списке, я хотел бы увидеть снимок или клип видео. Есть ли способ отобразить список видео, как это?

2
Arpit.k.Vaishnav 6 Ноя 2009 в 12:19

2 ответа

Вы можете использовать ffmpeg для создания изображений из видео.

Вы найдете здесь учебник, позволяющий использовать Paperclip для загрузки видео и FFMpeg для создания миниатюры из него.

В этом руководстве для создания миниатюры интересен метод make.
Который генерирует команду ffmpeg и выполняет ее.

Вы найдете информацию только об этой команде здесь.

1
Damien MATHIEU 6 Ноя 2009 в 12:38
Просто небольшое предупреждение об использовании FFMPEG, насколько я понимаю, хотя его бесплатное программное обеспечение распространяется под лицензией LGPL или GPL, что означает, что вы должны открыть исходный код своего кода.
 – 
Josh K
6 Ноя 2009 в 13:26
Поправьте меня, если не прав: это не так. Если код FFMPEG используется для создания какого-либо другого программного обеспечения, то оно должно быть под лицензией GPL. Я использую RoR для разработки приложения. RoR — это MIT, что не означает, что мне придется открывать исходный код моего приложения.
 – 
Waseem
6 Ноя 2009 в 14:58
K, вы можете использовать результат выполнения FFMPEG (конвертированное видео) в своем приложении без каких-либо ограничений. Это прямо указано в GPL. LGPL еще менее ограничительна, чем GPL.
 – 
P Shved
2 Фев 2010 в 17:42

При загрузке видео и изображений с помощью Paperclip используется processor для создания различные варианты файла

Процессор зависит от типа файла и обычно будет imagemagick, если вы работаете с изображениями, и ffmpeg, если вы работаете с видео

Это работает следующим образом: Paperclip обрабатывает загрузку файла, а затем отправляет его на другой процессор для изменения. Вот как вы можете создавать миниатюры с помощью imagemagick или миниатюры видео с помощью ffmpeg.


скрепка-ffmpeg

FFMpeg будет лучшим способом создания миниатюры видео, и вы можете заставить его работать, установив paperclip-ffmpeg драгоценный камень

Вот некоторый живой код, показывающий, как это работает (в основном вам просто нужно вызвать процессор :ffmpeg:

 has_attached_file :attachment,
                styles:          lambda { |a| a.instance.is_image? ? {:small => "x200>", :medium => "x300>", :large => "x400>"}  : {:thumb => { :geometry => "100x100#", :format => 'jpg', :time => 10}, :medium => { :geometry => "300x300#", :format => 'jpg', :time => 10}}},
                :processors => lambda { |a| a.is_video? ? [ :ffmpeg ] : [ :thumbnail ] }

    def is_video?
            attachment.instance.attachment_content_type =~ %r(video)
    end

    def is_image?
            attachment.instance.attachment_content_type =~ %r(image)
    end

Если вам нужна дополнительная помощь с этим (очевидно, вопрос был давно), пожалуйста, дайте мне знать!

1
Richard Peck 24 Окт 2013 в 12:34