CentOS 7 - FFMPEG를 서비스로 실행

CentOS 7 - FFMPEG를 서비스로 실행

비디오 스트리밍 프로젝트에 대한 몇 가지 테스트를 작성 중입니다. 비디오를 올바르게 스트리밍하고 있는지 확인하기 위해 비디오 클라이언트(예: ffmpeg/vlc)를 데몬으로 실행하는 가상 머신을 설정했습니다. 클라이언트가 명령에 따라 서버에 연결하고 비디오를 표시하고 비디오를 파일에 저장하기를 원합니다.

이를 위해 서비스를 설정했습니다. 이것은 내 .service 파일입니다.

[Unit]
Description=Video client for testing

[Service]
Type=simple
WorkingDirectory=/home/user/
ExecStart=client.sh
Restart=always

[Install]
WantedBy=default.target

이상적으로는 이것이 사용자 서비스가 되기를 바랍니다. 안타깝게도 내 가상 머신은 CentOS 7을 실행하고 있습니다.사용자 서비스를 실행할 수 없습니다. 일반 서비스로서 $DISPLAY 및 $XAUTHORITY도 설정해야 하지만 이를 초기화하는 스크립트를 찾을 수 없습니다.아치에그래서 나는 그것들을 스스로 설정하는 것이 건강하지 않다고 생각합니다. 로그인이 자동이 아닌 경우 어떻게 작동하는지 잘 모르겠습니다. 그래픽창을 열지 않고 영상만 저장해도 스크립트 자체가 작동하지 않네요. 시작시 잘 작동합니다.

.profile에서 스크립트를 실행하려고 생각했지만 아이디어가 별로 마음에 들지 않습니다. 어색해 보입니다(또는 이것이 좋은 옵션인지 확실하지 않습니다). 또 다른 옵션은 SSH를 통해 스크립트를 설정하는 것입니다(예:파라미코- 추가 종속성/스크립트가 필요합니다.

나는 이것이 너무 많은 해킹이 되는 것을 원하지 않기 때문에 몇 가지 제안/대안/행동 방법에 대해 정말로 감사드립니다.

고마워요, 조이.

답변1

제가 권장하는 패턴은 systemd사용자가 자동으로 로그인하도록 설정하지 않고 데스크톱 "자동 시작" 기능을 사용하여 로그인 시 자동으로 VLC를 실행하고 콘텐츠 스트리밍을 시작하는 것입니다.

이 방법은 $DISPLAY 및 $XAUTHORITY 설정을 자동으로 처리합니다.

이 모드는 사용자가 자동으로 브라우저를 실행하고 장치가 시작된 후 전체 화면에서 URL을 열려는 Raspberry Pi 키오스크 프로젝트에서 자주 사용됩니다.

관련 정보