Можно ли в MODX как-то получить значение длины видеофайла?

Приветствую.
Обычный хостинг. Есть ли какая-то простая возможность получить длину видеофайла в MODX через плагин/сниппет?
weranda
10 января 2025, 18:56
modx.pro
101
0

Комментарии: 4

Артур Шевченко
10 января 2025, 19:21
0
Плагин или сниппет это обычный PHP и в нём есть функции для работы с файлами, в частности filesize
    Алексей
    12 января 2025, 13:46
    +2
    Подключи к сайту PHP FFmpeg, думаю в хостинге тебе установят или уже установлен и плюсом сможешь сжимать файлы, простой пример:

    {'!getWithFFmpeg' | snippet: [
    'file' => ''" // Укажи путь к видеофайлу
    ]}
    как пример сделать через shell
    <?php
    function getWithFFmpeg($videoPath) {
        $command = "ffmpeg -i " . escapeshellarg($videoPath) . " 2>&1 | grep Duration | cut -d ' ' -f 4 | sed s/,//";
        $duration = shell_exec($command);
        if ($duration) {
             list($hours, $minutes, $seconds) = explode(':', $duration);
               return ($hours * 3600) + ($minutes * 60) + $seconds;
          }
        return false;
    }
    
    $duration = getWithFFmpeg($file);
    
    if ($duration !== false) {
        echo "Длительность видео: " . $duration . " секунд";
    } else {
        echo "Не удалось получить длительность видео";
    }
    ?>
    на выходе будет например: Длительность видео: 5 секунд.
    или можно скачать библиотеку, закинуть в папку сайта сам getID3 и написать функцию
      Алексей
      12 января 2025, 15:10
      +1
      код можно сделать проще и логичней, набросал как пример
        weranda
        Вчера в 08:26
        0
        Спасибо, попробую.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4