превью фидео и флешек превью фидео и флешек
 

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Main Menu

превью фидео и флешек

Started by MISHA, August 09, 2008, 12:14:25 PM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

MISHA

как можно зделать чтоб заместо стандартного обозначения (картинка) флеш или видео файла было так как на примерах?
Примеры:
флеш http://www.umora.ru/contlist.cgi?s=flash
видео http://www.umora.ru/contlist.cgi?s=video
Что бы Ктулху не воскрес, подпишись на RSS

Makc666

#1
Quote from: MISHA on August 09, 2008, 12:14:25 PM
как можно зделать чтоб заместо стандартного обозначения (картинка) флеш или видео файла было так как на примерах?
Примеры:
флеш http://www.umora.ru/contlist.cgi?s=flash
видео http://www.umora.ru/contlist.cgi?s=video
В документации предлагаются вот такой способ:
http://coppermine-gallery.net/demo/cpg14x/docs/index.htm#cust_thmb

Можно установить вот этот мод:
http://forum.coppermine-gallery.net/index.php/topic,28367.0.html
Как я понимаю, там подобный механизм упрощен.
Quote-Custom thumb tool (for all file types - upload an image and let the system create a thumb/ manually crop the thumb)
more info: http://forum.coppermine-gallery.net/index.php?topic=47538.0

MISHA

спасибо Makc666 , а есть на руусском манул?, а то  с английским я не дуружу да и переводчек переводит хрень((( я просто только начал, ели установил и насторил апач-пхп-мускул
только не нужно говорить кули полез раз нихрена не соображаешь даже в простейших вещах все с чегото начинают=))
Что бы Ктулху не воскрес, подпишись на RSS

only_dig


Makc666

#4
Quote from: MISHA on August 09, 2008, 10:03:36 PM
а есть на руусском манул?
На русском, к сожалению, нет...
Я, на данный момент, к сожалению с переводом помочь не в силах.

MISHA

#5
only_dig  Big thanks for the reference  :)

А теперь всё на русском напишу

1- устанавливаем FFMPEG (у меня установлен сюда usr\local\FFMPEG ) если у кого возникнут проблемы с FFMPEG  то качайте мой Скачать файл FFMPEG.rar
распаковывайте например usr\local\FFMPEG

2- открываем picmgmt.inc в папке gallery\include

3- находим

// Add a picture to an album
function add_picture($aid, $filepath, $filename, $position = 0, $title = '', $caption = '', $keywords = '', $user1 = '', $user2 = '', $user3 = '', $user4 = '', $category = 0, $raw_ip = '', $hdr_ip = '', $iwidth = 0, $iheight = 0)


4- веше него вставляем
(ТОЛЬКО НЕ ЗАБУДТЕ ПОДПРАВИТЬ В КОДЕ НИЖЕ СТРОКУ
$CONFIG['ffmpeg_path'] = '/usr/local/bin/';
// Change the path according to your server.
где /usr/local/bin/ путь к вашему ffmpeg)

/**
* Function to create video thumbnail using ffmpeg
*/
function create_movie_thumb($src_file)
{
    global $CONFIG, $ERROR;

    $CONFIG['ffmpeg_path'] = '/usr/local/bin/'; // Change the path according to your server.

    $src_file = $src_file;
    $dest_file = $CONFIG['fullpath']."edit/".md5(uniqid(time()))."%d.jpg";

    if (preg_match("#[A-Z]:|\\\\#Ai", __FILE__)) {
        // get the basedir, remove '/include'
        $cur_dir = substr(dirname(__FILE__), 0, -8);
        $src_file = '"' . $cur_dir . '\\' . strtr($src_file, '/', '\\') . '"';
        $ff_dest_file = '"' . $cur_dir . '\\' . strtr($dest_file, '/', '\\') . '"';
    } else {
        $src_file = escapeshellarg($src_file);
        $ff_dest_file = escapeshellarg($dest_file);
    }

    $output = array();

    if (eregi("win",$_ENV['OS'])) {
        // Command to create video thumb
        $cmd = "\"".str_replace("\\","/", $CONFIG['ffmpeg_path'])."ffmpeg\" -i ".str_replace("\\","/" ,$src_file )." -an -ss 00:00:05 -r 1 -vframes 1 -y ".str_replace("\\","/" ,$ff_dest_file);
        exec ("\"$cmd\"", $output, $retval);
    } else {
        // Command to create video thumb
        $cmd = "{$CONFIG['ffmpeg_path']}ffmpeg -i $src_file -an -ss 00:00:05 -r 1 -vframes 1 -y $ff_dest_file";
        exec ($cmd, $output, $retval);
    }


    if ($retval) {
        $ERROR = "Error executing FFmpeg - Return value: $retval";
        if ($CONFIG['debug_mode']) {
            // Re-execute the command with the backtick operator in order to get all outputs
            // will not work if safe mode is enabled
            $output = `$cmd 2>&1`;
            $ERROR .= "<br /><br /><div align=\"left\">Cmd line : <br /><span style=\"font-size:120%\">" . nl2br(htmlspecialchars($cmd)) . "</span></div>";
            $ERROR .= "<br /><br /><div align=\"left\">The ffmpeg program said:<br /><span style=\"font-size:120%\">";
            $ERROR .= nl2br(htmlspecialchars($output));
            $ERROR .= "</span></div>";
        }
        @unlink($dest_file);
        return false;
    }

    $return = str_replace("%d", "1", $dest_file);
    @chmod($return, octdec($CONFIG['default_file_mode'])); //silence the output in case chmod is disabled
    return $return;
}


5- находим

    } else {
        $imagesize[0] = $iwidth;
        $imagesize[1] = $iheight;
    }


6- выше него вставляем

    } elseif (is_movie($image)) {
      preg_match("/(.+)\.(.*?)\Z/", $filename, $matches);
      $thumb = $CONFIG['fullpath'] . $filepath . $CONFIG['thumb_pfx'] . $matches[1].".jpg";
      $videoThumb = create_movie_thumb($image);
      if ($videoThumb) {
        if (!resize_image($videoThumb, $thumb, $CONFIG['thumb_width'], $CONFIG['thumb_method'], $CONFIG['thumb_use'])) {
          return false;
        }
        @unlink($videoThumb);
        $imagesize = getimagesize($thumb);
      } else {
        return false;
      }

вот и всё готово=) нише я закрепил свой picmgmt.inc

p.s. не разобрался как редактировать сообщение, предыдущее удалите плз.
Что бы Ктулху не воскрес, подпишись на RSS

MISHA

сори, забыл прекрипить picmgmt.inc
Что бы Ктулху не воскрес, подпишись на RSS

MISHA

вот уже отловил косяк, после проделаных выше описаных операций  перестали загружатся флеш файлы и 3гп ???  т.е. после загрузки и выбора альбома пишет

Предыдущий файл не может быть добавлен.
Вы успешно разместили все файлы.   

хотя файлы загрузились и находятся в альбоме, кто знает как это поправить?
p.s.   фотки загружаются нормально.                                                                                     
Что бы Ктулху не воскрес, подпишись на RSS

MISHA

Вот самое главное кто использует винду, то  чтобы заработал ffmpeg нужно проделать следущее:

Скопировать dll в C:\WINDOWS\system32

avcodec-51.dll
avcodec.dll
avformat-51.dll
avformat.dll
avutil-49.dll
pthreadGC2.dll

скопировать php_ffmpeg.dll в папку php/ext  или по другому php/extensions (у кого как)

добавляем в php.ini следующие строки

extension=php_ffmpeg.dll
extension=php_gd2.dll


путь прописывем плоть по ffmpeg.exe например F:\Server\diskw\usr\ffmpeg.exe

перезапускаем апач и радуемся))
Что бы Ктулху не воскрес, подпишись на RSS

Makc666

Quote from: MISHA on October 13, 2008, 02:09:26 AM
вот уже отловил косяк, после проделаных выше описаных операций  перестали загружатся флеш файлы и 3гп ???  т.е. после загрузки и выбора альбома пишет

Предыдущий файл не может быть добавлен.
Вы успешно разместили все файлы.   

хотя файлы загрузились и находятся в альбоме, кто знает как это поправить?
p.s.   фотки загружаются нормально.                                                                                     
Видно потому что данный "скрипт" не предназначен для данного типа файлов.

Если посмотрите, там используется функция:
is_movie

Функция эта описана в файле:
media.functions.inc.php

Выглядит как:
function is_movie(&$file)
{
    return cpg_get_type($file,'movie');
}


Функция cpg_get_type выглядит как:
function cpg_get_type($filename,$filter=null)
{
    global $FILE_TYPES;
    if (!is_array($filename))
        $filename = explode('.',$filename);
    $EOA = count($filename)-1;
    $filename[$EOA] = strtolower($filename[$EOA]);

    if (!is_null($filter) && $FILE_TYPES[$filename[$EOA]]['content']==$filter)
        return $FILE_TYPES[$filename[$EOA]];
    elseif (is_null($filter))
        return $FILE_TYPES[$filename[$EOA]];
    else
        return null;
}


Данная функция зависит от переменной $FILE_TYPES, которая задаётся как раз чуть выше в коде:
global $FILE_TYPES;

// Map content types to corresponding user parameters
$content_types_to_vars = array('image'=>'allowed_img_types','audio'=>'allowed_snd_types','movie'=>'allowed_mov_types','document'=>'allowed_doc_types');
$CONFIG['allowed_file_extensions'] = '';

if (count($FILE_TYPES)==0) {
         $result = cpg_db_query('SELECT extension, mime, content, player FROM '.$CONFIG['TABLE_FILETYPES'].';');
         while ($row = mysql_fetch_array($result)) {
             // Only add types that are in both the database and user defined parameter
        if ($CONFIG[$content_types_to_vars[$row['content']]]=='ALL' || is_int(strpos('/'.$CONFIG[$content_types_to_vars[$row['content']]].'/','/'.$row['extension'].'/')))
        {
            $FILE_TYPES[$row['extension']] = $row;
            $CONFIG['allowed_file_extensions'].= '/'.$row['extension'];
    }   }
    mysql_free_result($result);
}

$CONFIG['allowed_file_extensions'] = substr($CONFIG['allowed_file_extensions'],1);


Таким образом всё зависит от того, что у Вас прописано в
"Конфиг" -> "Дополнительные настройки файлов и миниатюр" 

  • Разрешенные типы изображений
  • Разрешенные типы видео файлов

Я так думаю :)


MISHA

#10
Макс вот в томто и дело, что у меня прописано:

Разрешенные типы аудио файлов: mp3/midi/mid/wma/wav/ogg/MKV/swf
Разрешенные типы документов: doc/txt/rtf/pdf/xls/pps/ppt/zip/gz/mdb/3gp/swf/rar/7zip/MKV

а как только возращаю в исходный вид media.functions.inc picmgmt.inc то флешки загружаются нормально
Что бы Ктулху не воскрес, подпишись на RSS

MISHA

сори, ошибочка. После возвращения в исходный вид файла picmgmt.inc

p.s. Где кнопка правки соощения???
Что бы Ктулху не воскрес, подпишись на RSS

MISHA

Народ ну неужели нет решения? =(( если кто найдёт решение с меня пиво =)
Что бы Ктулху не воскрес, подпишись на RSS

Makc666

Quote from: MISHA on October 22, 2008, 09:22:41 PM
Макс вот в томто и дело, что у меня прописано:

Разрешенные типы аудио файлов: mp3/midi/mid/wma/wav/ogg/MKV/swf
Разрешенные типы документов: doc/txt/rtf/pdf/xls/pps/ppt/zip/gz/mdb/3gp/swf/rar/7zip/MKV

а как только возращаю в исходный вид media.functions.inc picmgmt.inc то флешки загружаются нормально
У Вас MKV/swf прописано в аудио файлах?

А что же у Вас прописано в "Разрешенные типы изображений"?

MISHA

Вот как у меня
Разрешенные типы изображений = ALL
Разрешенные типы видео файлов = ALL
Разрешенные типы аудио файлов = mp3/midi/mid/wma/wav/ogg/MKV/swf
Разрешенные типы документов = doc/txt/rtf/pdf/xls/pps/ppt/zip/gz/mdb/3gp/swf/rar/7zip/MKV
Что бы Ктулху не воскрес, подпишись на RSS

Petrovichalt

MISHA, использую denwer3 для тестирования на localhoste.
Установил все согласно инструкции, dll-ки залил, модуль лежит по пути G:\WebServers\usr\local\ffmpeg\
php_ffmpeg - G:\WebServers\usr\local\php5\ext\.
При попытке залить видео ролик (avi) вываливается следующая ошибка: "Error executing FFmpeg - Return value: 1".
Файл picmgmt.inc прилагаю.
В чем состоит проблема, не подскажешь?

MISHA

А это только при avi ?
попробуй изменить
$CONFIG['ffmpeg_path'] = 'g:\WebServers\usr\local\ffmpeg\ffmpeg.exe';
на $CONFIG['ffmpeg_path'] = '/usr/local/FFMPEG/';
Что бы Ктулху не воскрес, подпишись на RSS

Petrovichalt

Так-с, с одной проблемой разобрался.
Изменил путь (неверно был указан диск), заработала функция создания превью.
Используя различные настройки в типах файлов, и заливая различные форматы, пришел к выводу что не все форматы файлов поддерживаются именно ffmpeg утилитой, т.е. не для всех типов файлов она может создать jpg-превью.
Еще один нюанс с которым столкнулся, имена файлов на русском языке.
Имена для файлов thumb создаются также на русском языке, а (я так предполагаю) в базу записываются в UTF, возможно поэтому потом в альбомах нет сопоставления thumb'a к ролику, т.к. из базы название выглядит "крякозябрами".
Следующий вопрос, ролики загруженные в галерею не проигрываются...

MISHA

я тоже заметил, что не все форматы обрабатываются, возможно это можно исправить в настройках ffmpeg
также не  будут загружатся  флешки
По поводу русских имён файлов это сюда http://forum.coppermine-gallery.net/index.php/topic,43506.0.html но у этого способа есть минус, при групповом добавлении файлов русские имена не меняются, но других способов я не видел
Что бы Ктулху не воскрес, подпишись на RSS

Petrovichalt

Vob не поддерживается.
На локалхосте галерея по-умолчанию стоит в ютф, в глобе в вин 1251. Я так понимаю в глобе проблем не будет при загрузке файлов с русскими именами?