Перед созданием новой темы, пожалуйста, ознакомьтесь с FAQ по LinkorCMS

Модуль "Видеогалерея" для LinkorCMS 1.4.1-3 (beta)

Младший пользователь
Сообщений: 9
Ссылки не работают. :(
Разработчик
Сообщений: 605
Новичок
Сообщений: 5
Подскажите, почему при добавлении файла выскакивает такая ошибка?:
Замечание: "Undefined index: upload_file" в ..\www\modules\videos\admin.php на линии 419.
Замечание: "Undefined index: upload_file" в ..\www\modules\videos\admin.php на линии 421.
Замечание: "Undefined index: conv" в ...\www\modules\videos\admin.php на линии 461.
Неизвестный
Сообщений: 1
Не возможно скачать модуль. Перезалейте на нормальный файловый обменник.
Разработчик
Сообщений: 605
Увы, файла на ноутбуке сейчас нет, смогу перезалить только через 10 дней.

Как и обещал: https://yadi.sk/d/5LWWPQmAaNuhM

-- Изменено "Мартин": 25.08.2014 16:09 --
Супер пользователь
Сообщений: 38
При добавлении файла с ПК он не загружается в каталог uploads/videos и выскакивают ошибки
Замечание: "Undefined index: upload_file" в \modules\videos\admin.php на линии 419.
Замечание: "Undefined index: upload_file" в \modules\videos\admin.php на линии 421.

Как починить?

И ещё работает только Uppod player, JWPlayer не отображается, вместо него надпись "Загрузка плеера ...".

-- Изменено "dimajak": 07.12.2015 18:42 --

Починил.

-- Изменено "dimajak": 08.12.2015 16:48 --

нашёл кучу ошибок.например, при аплоаде автор запутался в переменных.
Там много таких ошибок.
При удалении видео запутался в массиве.
При использовании JWPlayer автор тоже напутал, пришлось править.
И т.д.
Исправлений внёс очень много, оставшихся косяков, я думаю, ещё много осталось.
Если хочешь могу скинуть файлы на обменник, сравнишь файлы из раздачи и мои. Правил только admin.php и index.php.
Не понимаю, зачем выкладывать такой глюк?
Спешил похвастаться?
У меня сайт в локалке под виндой x64. Поэтому ещё попутно играюсь с совестимостью.
Не смог победить удаление скриншота при удалении видео. Пока бросил.
Сейчас разбираюсь с перекодированием файлов через ffmpeg.
В этом я полный профан.
Пытаюсь играться с ключами (настройки модуля).
Автор, походу тоже оставил в настройках что-то промежуточно-тестовое-нерабочее.

Мои изменения.

-- Изменено "dimajak": 09.12.2015 00:30 --

-- Изменено "dimajak": 09.12.2015 00:37 --

Доработал немного этот модуль. Выкладываю полностью со своего Линкора.
Модуль Видео доработанный dimajak

-- Изменено "dimajak": 22.12.2015 21:16 --

-- Изменено "dimajak": 22.01.2016 00:57 --
Супер пользователь
Сообщений: 53
Как модуль?? Хто-нить пользует его на последней версии ??

А перед установкой данного модуля чего-нибудь на сервер дополнительно устанавливать надо? Или как-нибудь там настройки менять??
Разработчик
Сообщений: 605
Поанализировал модуль.

index.php:
if(!defined('ADMIN_SCRIPT')){
System::database()->Select('plugins', "`name`='jwplayer' and `enabled`='1'");
if(System::database()->NumRows() == 0){
$jw_installed = false;
}else{
$jw_installed = true;
}
UseScript('swfobject'); // Подключаем дополнение SWFObject
if($jw_installed and System::config('videos/default_player') == 2) {
UseScript('jwplayer'); // Если модуль установлен и активен, подключаем видео-плеер JWPlayer
}
}

Очень интересно. Раз есть код, то как-то он видимо работает. Но константы ADMIN_SCRIPT в пользовательской части нет и быть не должно.

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

admin.php. Автор создал функцию ext_del() (или где-то ее взял), хотя в ядре LinkorCMS есть функции для подобных манипуляций с расширениями файлов.

Не слишком круто, что нет обработки стандартных кодов ошибок при загрузке файла. Что мешало дернуть из модуля файлов - не понятно.

if($out_ext == 0) { $ext = 'mpg'; }
elseif($out_ext == 1) { $ext = 'flv'; }
elseif($out_ext == 2) { $ext = 'dv'; }
elseif($out_ext == 3) { $ext = 'mp4'; }
elseif($out_ext == 4) { $ext = 'ogv'; }
elseif($out_ext == 5) { $ext = 'webm'; }

if($video_vb == 0) { $vb = '-b 300k '; }
elseif($video_vb == 1) { $vb = '-b 400k '; }
elseif($video_vb == 2) { $vb = '-b 500k '; }
elseif($video_vb == 3) { $vb = '-b 600k '; }
elseif($video_vb == 4) { $vb = '-b 700k '; }
elseif($video_vb == 5) { $vb = '-b 800k '; }
elseif($video_vb == 6) { $vb = '-b 900k '; }
elseif($video_vb == 7) { $vb = '-b 1000k '; }
elseif($video_vb == 8) { $vb = '-b 1100k '; }
elseif($video_vb == 9) { $vb = '-b 1200k '; }
elseif($video_vb == 10) { $vb = '-b 1300k '; }
elseif($video_vb == 11) { $vb = '-b 1400k '; }
elseif($video_vb == 12) { $vb = '-b 1500k '; }
elseif($video_vb == 13) { $vb = '-b 1600k '; }
elseif($video_vb == 14) { $vb = '-b 1700k '; }
elseif($video_vb == 15) { $vb = '-b 1800k '; }
elseif($video_vb == 16) { $vb = '-b 1900k '; }
elseif($video_vb == 17) { $vb = '-b 2000k '; }
elseif($video_vb == 18) { $vb = '-b 2100k '; }
elseif($video_vb == 19) { $vb = '-b 2200k '; }
elseif($video_vb == 20) { $vb = '-b 2300k '; }
elseif($video_vb == 21) { $vb = '-b 2400k '; }
elseif($video_vb == 22) { $vb = '-b 2500k '; }
elseif($video_vb == 23) { $vb = '-b 2600k '; }
elseif($video_vb == 24) { $vb = '-b 2700k '; }
elseif($video_vb == 25) { $vb = '-b 2800k '; }
elseif($video_vb == 26) { $vb = '-b 2900k '; }
elseif($video_vb == 27) { $vb = '-b 3000k '; }


if($video_ab == 0) { $ab = '-ab 56k '; }
elseif($video_ab == 1) { $ab = '-ab 64k '; }
elseif($video_ab == 2) { $ab = '-ab 96k '; }
elseif($video_ab == 3) { $ab = '-ab 112k '; }
elseif($video_ab == 4) { $ab = '-ab 128k '; }
elseif($video_ab == 5) { $ab = '-ab 192k '; }
elseif($video_ab == 6) { $ab = '-ab 256k '; }
elseif($video_ab == 7) { $ab = '-ab 320k '; }

Не красиво. Можно или вывести формулу/закономерность, или использовать массив (если формулу нельзя по каким-то причинам использовать).

if($video_vcodec == 0) { $vc = '-vcodec libx264 '; }
elseif($video_vcodec == 1) { $vc = '-vcodec x264 '; }
elseif($video_vcodec == 2) { $vc = '-vcodec h264 '; }
elseif($video_vcodec == 3) { $vc = '-vcodec mpeg2 '; }
elseif($video_vcodec == 4) { $vc = '-vcodec mpeg4 '; }
elseif($video_vcodec == 5) { $vc = '-vcodec xvid '; }
elseif($video_vcodec == 6) { $vc = '-vcodec flv '; }
elseif($video_vcodec == 7) { $vc = '-vcodec msmpeg4v2 '; }
elseif($video_vcodec == 8) { $vc = '-vcodec copy '; $vb = ''; $vr = ''; $vg = '';}
elseif($video_vcodec == 9) { $vc = ''; $vb = ''; $vr = ''; $vg = '';}

if($video_acodec == 0) { $ac = '-acodec mp3 '; }
elseif($video_acodec == 1) { $ac = '-acodec libmp3lame '; }
elseif($video_acodec == 2) { $ac = '-acodec aac '; }
elseif($video_acodec == 3) { $ac = '-acodec libfaac '; }
elseif($video_acodec == 4) { $ac = '-acodec fdk-aac '; }
elseif($video_acodec == 5) { $ac = '-acodec copy '; $ab = ''; $ach =''; $ar = '';}
elseif($video_acodec == 6) { $ac = ''; $ab = ''; $ach =''; $ar = '';}

Да вот тоже не очень красиво.

Да и помните, что на шаред хостингах вряд ли вам удастся нормально позапускать конвертацию. Кому надо, чтобы вы видеоролики конвертировали и нагружали сервер.

Так же походу никаких расширений устанавливать не надо. В одном месте действительно использовался класс для работы с ffmpeg (код закомментирован нынче), но модуль по сути просто дергает установленный ffmpeg в системе. Еще надо помнить, что разрабатывалось под винду. В вызовах есть специфика (в закомментированном коде местами пахнет bat скриптованием).
Супер пользователь
Сообщений: 53
Попереписывался с техподдержкой хостинга и они мне установили:
  • ffmpeg установлен версии 1.0.10
  • libx264 установлены: libx264-124, libx264-132
  • libx264 установлено 3:0.132.2310
  • пакет h264enc
  • libmpeg2-4 0.4.1-3
  • flv установлен в составе flvtool2
  • mp3, libmp3lame, aac, libfaac, fdk-aac: установлено в составе ffmpeg

    Скажите пожалуйста, того программного обеспечения которое мне установили работники технической поддержки хватит чтобы запустить модуль видеогалереи??
    Также, меня интересует, нужно ли устанавливать отдельно на движок сайта плейеры или они идут в комплекте с модулем видеогалереи?

    -- Изменено "Бумблик": 03.01.2016 14:28 --

    -- Изменено "Бумблик": 03.01.2016 14:29 --
  • Супер пользователь
    Сообщений: 38
    БумбликПри самостоятельной установке ffmpeg на своём хостинге я проверял с помощью функции phpinfo(). Создай на своём сайте php файл и вызови его на исполнение:
    
    <?php<br />
    
    phpinfo();<br />
    ?>
    Если увидишь в выводимом перечне ffmpeg
    То модуль для PHP установлен.
    Теперь можешь проверить с помощью скрипта:
    
    <?php<br />
    
    /**<br />
     * FFMPEG-PHP Test Script<br />
     *<br />
     * Special thanks to http://www.sajithmr.me/ffmpeg-sample-code for this code example!<br />
     * See the tutorial at http://myownhomeserver.com on how to install ffmpeg-php.<br />
     */<br />
    // Check if the ffmpeg-php extension is loaded first<br />
    extension_loaded('ffmpeg') or die('Error in loading ffmpeg')
    ;<br />
     <br />
    // Determine the full path for our video<br />
    $vid = realpath('./uploads/files/14e734aa1e6ffffffff8bc4e1b3.mp4');<br />
     <br />
    // Create the ffmpeg instance and then display the information
     about the video clip.<br />
    $ffmpegInstance = new ffmpeg_movie($vid);<br />
    echo "getDuration: " . $ffmpegInstance->getDuration() . "<br />".<br />
    "getFrameCount: " . $ffmpegInstance->getFrameCount() . "<br />".<br />
    "getFrameRate: " . $ffmpegInstance->getFrameRate() . "<br />".<br />
    "getFilename: " . $ffmpegInstance->getFilename() . "<br />".<br />
    "getComment: " . $ffmpegInstance->getComment() . "<br />".<br />
    "getTitle: " . $ffmpegInstance->getTitle() . "<br />".<br />
    "getAuthor: " . $ffmpegInstance->getAuthor() . "<br />".<br />
    "getCopyright: " . $ffmpegInstance->getCopyright() . "<br />".<br />
    "getArtist: " . $ffmpegInstance->getArtist() . "<br />".<br />
    "getGenre: " . $ffmpegInstance->getGenre() . "<br />".<br />
    "getTrackNumber: " . $ffmpegInstance->getTrackNumber() . "<br />".<br />
    "getYear: " . $ffmpegInstance->getYear() . "<br />".<br />
    "getFrameHeight: " . $ffmpegInstance->getFrameHeight() . "<br />".<br />
    "getFrameWidth: " . $ffmpegInstance->getFrameWidth() . "<br />".<br />
    "getPixelFormat: " . $ffmpegInstance->getPixelFormat() . "<br />".<br />
    "getBitRate: " . $ffmpegInstance->getBitRate() . "<br />".<br />
    "getVideoBitRate: " . $ffmpegInstance->getVideoBitRate() . "<br />".<br />
    "getAudioBitRate: " . $ffmpegInstance->getAudioBitRate() . "<br />".<br />
    "getAudioSampleRate: " . $ffmpegInstance->getAudioSampleRate() . "<br />".<br />
    "getVideoCodec: " . $ffmpegInstance->getVideoCodec() . "<br />".<br />
    "getAudioCodec: " . $ffmpegInstance->getAudioCodec() . "<br />".<br />
    "getAudioChannels: " . $ffmpegInstance->getAudioChannels() . "<br />".<br />
    "hasAudio: " . $ffmpegInstance->hasAudio();<br />
    ?>

    Где исправь путь к твоему реально существующему файлу:
    $vid = realpath('./uploads/files/14e734aa1e6ffffffff8bc4e1b3.mp4');

    При выполнении кода этого файла ты увидишь параметры твоего видеофайла.
    Иначе - ищи решения проблемы.
    Разработчик
    Сообщений: 605
    Только возникает вопрос: а смысл вешать к интерпретатору PHP расширения, если модуль (по крайней мере с правками dimajak) дергает бинарник в системе? Использования класса ffmpeg_movie я там не вижу. Хотя и расширение наверняка подтягивает ffmpeg и дергает его бинарник.

    А плееры там идут аж двое. Причем один кряканый.

    -- Изменено "Мартин": 03.01.2016 17:04 --
    Супер пользователь
    Сообщений: 38
    Мартин:
    Только возникает вопрос: а смысл вешать к интерпретатору PHP расширения, если модуль (по крайней мере с правками dimajak) дергает бинарник в системе? Использования класса ffmpeg_movie я там не вижу. Хотя и расширение наверняка подтягивает ffmpeg и дергает его бинарник.

    А плееры там идут аж двое. Причем один кряканый.

    -- Изменено "Мартин": 03.01.2016 17:04 --

    Я лишь пытался оживить данный (нужный мне) модуль на том знании API, доступном мне в тот момент данной CMS.
    У меня Windows система и поэтому я сделал так.
    Я увидел, что автор закомментировал вызов методов ffmpeg, т.к. не справился, а я лишь выдал свою версию, но с исправлениями.
    Плеер, да, один кряканый, но при предварительной регистрации он был превращён в лицензионный :)

    -- Изменено "dimajak": 03.01.2016 17:19 --

    -- Изменено "dimajak": 03.01.2016 17:21 --
    Гости не могут отвечать на темы. Войдите или Зарегистрируйтесь.
    Здесь присутствуют
    (пользователей: 0, гостей: 1)
    Быстрый переход: