ffmpeg — php exec не будет выполнять то, что исполняется в консоли в отношении аудио и видео

У меня есть php для запуска команды оболочки, чтобы запустить аудио / видео поток через ffmpeg. Я попробовал синтаксис в консоли (тот же пользователь, что и php [www-data] и из того же места, что и php-скрипт:

pi@raspberrypi:/var/www/html/ $ sudo -H -u www-data ffmpeg {parameters}

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

$pid = exec("ffmpeg {parameters} 2> out.txt");

ответ

cannot open audio device hw:1,0 (No such file or directory)

Моим первым предположением было то, что это было связано с пользователями и группами, но я не могу сказать, что именно. Я даже поместил www-данные в группу sudo. До сих пор не работает.

Если я сделаю

exec("whoami 2> user.txt");

файл user.txt создан (с владельцем www-данных), но остается пустым. Может кто-нибудь мне помочь?

ОБНОВИТЬ
Когда я перезагружаю пи, он работает только один раз. Я думаю, что как-то после закрытия потока

exec("kill -9 ".$pid);

звук все еще занят. Сообщение об ошибке изменяется в

cannot open audio device hw:1,0 (Device or resource busy)

Видео (через uv4l: localhost: port / stream / video.mjpeg) доступно.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]