Эй, я использую ffmpeg для хранения потокового видео с камеры в PHP.
Я уже скачал скомпилированную библиотеку ffmpeg и просто использую ее путь в php для хранения потока.
Команда:
C:\ffmpeg\bin\ffmpeg -i "http://10.11.16.120:90/livestream.cgi?user=admin&pwd=&streamid=0&audio=0&filename=" -c:v libx264 -t 10 -an F:\Camera_Videos\video.mp4
Теперь он ждет, пока ffmpeg выполнит свою задачу, а затем будет выполняться код php, но я хочу запустить ffmpeg в фоновом режиме. Я также попробовал это, добавив
> /dev/null 2>/dev/null &
но это не сработало.
Пожалуйста, скажите, любая помощь будет оценена.
Из того, что я понимаю, вы в принципе хотите запустить ffmpeg
на заднем плане «асинхронно».
Я проходил через Соответствующий ТАК Пост о том, как запустить партия файл в фоновом режиме в окнах.
Таким образом, вы можете поместить следующий код в файл (скажем, foo.bat
) [Непроверенный код]:
C:\ffmpeg\bin\ffmpeg -i "http://10.11.16.120:90/livestream.cgi?user=admin&pwd=&streamid=0&audio=0&filename=" -c:v libx264 -t 10 -an F:\Camera_Videos\video.mp4
И тогда в вашем PHP-скрипте вы можете выполнить foo.bat
в соответствии с ответ с помощью shell_exec или же система.
Я не проверял подход выше. Это может быть хорошей отправной точкой для вас. Надеюсь, поможет.
Других решений пока нет …