Вы не зашли.
Не везде скорее всего. Там в 2 местах нужно указывать. В меню открывающемся по правому клику на иконке в трее оупен сервера, нахожишь конфиг php. Там указываешь. Это для web сервера. И в консольном php, который в стандартном php.ini . В папке modules кажется он.
Вот в чем дело! Ой позорище..
Оказывается я дебил, в OpenServer есть ведь командная строка PHP..
А я через обычную cmd.exe..
Нашел ругулярку для проверки названия файла, то есть file_mus-ic.mp3
if (preg_match('/^[a-z_-]+\.[0-9a-z]{3}$/iD', $file))
echo 'все ОК';
С "i" понятно, он пускает Заглавные буквы. А что "D" делает?
в мануале пишут "любой символ, кроме десятичной цифры" но пишу десятичную и пускает, видимо потому что есть "0-9a-z", может он вообще тогда там не нужен?
Подскажите, как получить продолжительность видео и его разрешение с помощью ffmpeg через функцию exec() в php?
Duration: 00:07:00.46, start: 0.000000, bitrate: 2049 kb/s"
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1983 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc"
Как в инфе о видео можно вырезать ?
00:07:00 — время
h264 — кодек
1280x720 — разрешение
это ты консолью воспользовался? как ты этот вывод получил? указанный репозиторий предоставляет хорошую обертку над ffmpeg и есть готовые методы для получения нормальных данных.
Gemorroj, да командой, у меня выхода нет, все равно приходится разбивать ролик на кадры чтобы сделать предпросмотр к видео
Код:
span style="color: #0000BB"><?php// $videoPath - путь к видео// $tmpPath - путь сохранения кадров видео $output = shell_exec('/usr/bin/ffmpeg -i ' . $videoPath . ' -an -y ' . $tmpPath . '/%d.jpg 2>&1');// одна строка разбивает видео и извлекает инфу |
готовый класс будет излишним, я больше ничего не делаю
данные в $output
мне кажется, их можно вытащить одной регуляркой, ведь все в одной строке, но для меня это очень сложно
Отредактировано koji (2015.12.13 15:03)
не будет излишним, тем более что все что тебе надо он уже умеет)
а так... регулярками вытаскивать данные.