Я использую супервизор для вызова и поддержания работы фляжного сервера для управления моим веб-интерфейсом, который был построен как простой видеомагнитофон.
Супервизор вызывает сервер с привилегиями суперпользователя, поэтому окончательные записанные файлы будут недоступны для текущего пользователя, поскольку ему нужно преобразовать и передать их куда-то еще в конце.
Есть ли какое-либо решение, чтобы сообщить супервизору, чтобы он запускал приложение фляги как обычный пользователь, а не root?
другая проблема связана с предварительным просмотром в реальном времени, который я реализовал для своего интерфейса. используя эту опцию, пользователь может увидеть предварительный просмотр в течение 5 секунд перед началом записи (это простой конвейер gstreamer: gst-launch v4l2src device=/dev/video1 ! jpegdec ! ffmpegcolorspace )
но после перезагрузки системы, когда я пытаюсь просмотреть этот предварительный просмотр, он терпит неудачу и дает мне эту ошибку в файле журнала:
ОШИБКА: из элемента /GstPipeline:pipeline0/GstXImageSink:ximagesink0: не удалось инициализировать вывод X. Дополнительная информация об отладке: ximagesink.c(1284): gst_ximagesink_xcontext_get (): /GstPipeline:pipeline0/GstXImageSink:ximagesink0: не удалось открыть display . /testWebcam.sh: 5: kill: такого процесса нет
Вот мой конфигурационный файл для супервизора, помещенный в /etc/supervisor/conf.d/RunFlask.conf
:
[program:flask_app]
command = python main.py
directory = /dir/to/your/app
autostart = true
autorestart = true
и для полноты, вот конвейер gstreamer, который я использую для записи:
nohup gst-launch-1.0 v4l2src do-timestamp=true device=/dev/video0 ! 'video/x-raw,format=BGR,width=1024,height=768' ! videoconvert ! queue ! x264enc ! mux. pulsesrc device="alsa_input.usb-Samson_Technologies_Samson_Go_Mic_Direct-00-Direct.analog-stereo" ! 'audio/x-raw,rate=88200,channels=1,depth=24' ! audioconvert ! avenc_aac compliance=experimental ! mux. matroskamux name="mux" ! filesink location=/home/sina/Desktop/Recordings/Screen.mp4 v4l2src device=/dev/video1 ! videorate ! 'image/jpeg,framerate=30/1,width=1920,height=1080' ! queue ! mux2. pulsesrc device="alsa_input.usb-046d_Logitech_Webcam_C930e_AAF8A63E-02-C930e.analog-stereo" ! 'audio/x-raw,rate=44100,channels=1,depth=24' ! audioconvert ! avenc_aac compliance=experimental ! queue ! mux2. matroskamux name="mux2" ! filesink location=/home/sina/Desktop/Recordings/Webcam.mkv &