Решил самостоятельно. Инструкцию писал самостоятельно.
ПЕРЕД ЗАПУСКОМ НУЖНО СОЗДАТЬ ПАПКИ, ПОЛЬЗОВАТЕЛЯ И ГРУППУ!!! (Это умеет скрипт ./тот самый скрипт/123.sh)
не забываем делать скрипты исполнительными (chmod +x имя)
Ниже пример демона с коментариями для начала работы надо его подправить под себя (к примеру ip:port в разделе # Daemon options)
файл vlcd в папке etc.init.d нужно отредактировать под свои нужды и закинуть в папку /etc/init.d/ и сделать исполнительным (chmod +x)
#!/bin/sh
#
### BEGIN INIT INFO
# Provides: vlcd
# Required-Start: $network
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 6
# Short-Description: VLC trancoding daemon
# Description: This service provides streaming DVB
# channels to network
### END INIT INFO
set -e
. /lib/lsb/init-functions
VLCD_PIDDIR=/var/run/vlcd #рабочая папка(каталог для PID файла должен быть заранее создан)
VLCD_LOGDIR=/var/log/vlcd #папка для логов(заранее создать)
VLCD_USER=vlc #имя пользователя от кого стартует VLC (пользователь должен быть заранее создан но для этого тоже имеется скрипт)
VLCD_GROUP=video #группа которой принадлежит user (так же создается скриптом)
VLM_CONFIG=/etc/vlcd/vlm.cfg #доп конфиги для запуска
VLM_CONF_DIR=/etc/vlcd/vlm.conf.d #из этой папки она берет конфиги для VLM (многопоточный стриминг) (в нашем случае не используется)
[ -r /etc/default/vlcd ] && . /etc/default/vlcd #дефолтный конфиг так же для старта
# Daemon options
VLC_OPTS="-d --pidfile $VLCD_PIDDIR/vlcd.pid /home/sag/playlist.m3u --sout "#transcode:rtp{sdp=rtsp://192.168.0.35:5544/mystream}" --loop -I telnet --telnet-password 123" #параметры запуска (тут можно прописать ту самую команду как в примере)
# Logging options
VLC_OPTS="$VLC_OPTS --file-logging --logmode text --logfile $VLCD_LOGDIR/vlcd.log" #файл лога
# VLM config
VLC_OPTS="$VLC_OPTS $VLC_EXTRA_OPTS"
start()
{
log_daemon_msg "Starting VLC daemon" "vlcd"
VLCD_TMPCONF="$VLCD_PIDDIR/vlmt.tmp.cfg"
echo "del media" > $VLCD_TMPCONF
if [ -r "$VLM_CONFIG" ] ; then
echo "load $VLM_CONFIG" >> $VLCD_TMPCONF
fi
if test -d "$VLM_CONF_DIR" ; then
for cfg in $VLM_CONF_DIR/*.cfg ; do
if [ -r $cfg ]; then
echo "load $cfg" >> $VLCD_TMPCONF
fi
done
fi
chown $VLCD_USER:$VLCD_GROUP $VLCD_TMPCONF
VLC_OPTS="$VLC_OPTS --vlm-conf $VLCD_TMPCONF"
start-stop-daemon --start --exec /usr/bin/vlc --group $VLCD_GROUP --chuid $VLCD_USER \
--startas /usr/bin/cvlc --pidfile $VLCD_PIDDIR/vlcd.pid -- $VLC_OPTS
log_end_msg $?
}
stop()
{
log_daemon_msg "Stopping VLCT daemon" "vlcd"
start-stop-daemon --stop --exec /usr/bin/vlc -R 2 --oknodo --pidfile $VLCD_PIDDIR/vlcd.pid
log_end_msg $?
}
case "$1" in
start)
start
;;
restart|force-reload)
stop
sleep 1
start
;;
stop)
stop
;;
status)
exit 4
;;
*)
echo "Usage: /etc/init.d/vlcd {start|stop}"
exit 2
;;
esac
exit 0
Тот самый скрипт. 123.sh
#!/bin/bash
# Создаем системного пользователя с домашним каталогом /var/log/vlcd и запрещаем ему вход
adduser --system --ingroup video --no-create-home --disabled-password --home /var/log/vlcd \
--shell /bin/false vlc
# Создаем каталог для журналов
mkdir /var/log/vlcd
chown vlc:adm /var/log/vlcd
chmod u=rwx,g=rx,o=rx /var/log/vlcd
# Создаем каталог для PID файла
mkdir /var/run/vlcd
chown vlc:adm /var/run/vlcd
chmod u=rwx,g=rxs,o= /var/run/vlcd
# Добавляем vlcd в автозапуск
update-rc.d vlcd defaults