Как сделать preview для картинок и видео, и вырезать маленький ролик из аудио
11.11.2009Озаботился превьюшками для мультимедийных файлов, и оказалось, что это довольно просто, если исключить совсем уж пограничные случаи с редкими форматами.
Например для аудио wav или mp3 достаточно обрезать исходный файл. Можно вплоть до секунды вычислить размер файла исходя из битрейта. Чтобы получить инфу о аудиофайле есть специальная библиотека, написанная только на php и не требующая каких либо расширений. Вопрос с преьвью аудио файлов можно считать закрытым, если ограничится только wav и mp3 - они безболезненно переносят неровное обрезание.
Что касается картинок - в с этим все тоже решено, сегодня протестировал создание превью, все работает. Поддерживаются форматы jpg, gif, png, bmp и наверно еще какие то.
Из видео тоже можно без проблем вырезать - у тех, у кого есть шелл наберите ffmpeg, а из php функция exec, хоть это и несколько не безопасно, но зато без проблем можно получить любой кадр. Остается выбрать примерное место от начала, ибо зачастую первые кадры некоторых клипов представляют собой пустой экран или логотип.
Также можно делать превьюшки и pdf, для этого нужно установленное расширение imagick.
← Ранее Файлы, картинки, мультимедиа RSS и скриншоты
Позже Иконки для блоголёта →
Комментарии (4) на запись “Как сделать preview для картинок и видео, и вырезать маленький ролик из аудио”
Оставить комментарий
Код часто не влезает по ширине и поэтому удобно когда внизу появляется горизонтальный скролл, вместо переноса строк. Обрамление кода тегом pre и overflow:auto решало эту задачу, не надо даже проставлять <br />. В блоголете код еще проходит общий фильтр и проставляются лишние параграфы и перенося строк.
Для тега pre как понимаю не нужно делать html форматирование текста, а необходимо оставить текст сырым, то бишь без изменений. Логично наверно добавить флажок не фильтровать текст. Если это касается только одной темы, то в шаблоне поста рекомендую вместо
$post->content
использовать
$post->rawcontent
это полностью должно решить проблему. Но тогда не будет разбиения на страницы (не используется тег nextpage).
Philipp, у меня немного другая проблема, а тебе должен помочь совет Блоголётчика.
Дело в том что использовать фильтр не надо только между тегами <pre></pre>, а остальное фильтровать.
В фильтре изменил функцию обработки <code>, чтоб она удаляла br и р, которые уже были поставлены. Надеюсь это не создаст мне проблем.