2009/1/5 Fernando Gottlieb <fernando0...@gmail.com> > Tentei simplificar para explicar, mas vi que não ajudou muito. > Vamos à prática. > > Criei um serviço no OpenSUSE usando o padrão Suse, não o LSB. > Este serviço recebe parâmetros de um arquivo de configuração. > O serviço consiste em receber um streaming (áudio/vídeo) e transcodificar > para > outro endereço. > > A forma original e funcional é esta: > > vlc -vvv input_stream --sout > '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}: > rtp{mux=ts,dst=239.255.12.42,sap,name="TestStream"}' > > No arquivo de configuração, armazeno todos os parâmetros que serão > passados para o VLC. > > CONFIG="-vvv input_stream --sout > '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}: > rtp{mux=ts,dst=239.255.12.42,sap,name="TestStream"}' " > > No script do serviço, faço a leitura do arquivo de configuração e > obtenho o conteúdo da variável através de > $CONFIG e executo-o da seguinte forma: > > /sbin/startproc vlc $CONFIG > > A instrução completa, na forma original como relatado acima, funciona, > tudo numa só linha, mas como > não quero reescrever este serviço (no caso de uma alteração de > parâmetros) estou tentando obter as > configurações de outro arquivo. > > Se uso " " para limitar os dados da variável, um echo $CONFIG mostra o > conteúdo da variável porém o > serviço não inicializa. > > Se uso ' ' para limitar os dados, o próximo apóstrofo ( '#transcode " > ) fechará a primeira sentença quebrando > a variável. Sem falar que o próximo caractere ( # ) torna o restante > do conteúdo um mero comentário na linha. > > Estes são alguns problemas que observei. > > Eis um exemplo prático de streaming de um arquivo de vídeo: > > vlc arquivo.avi -vvv --sout > > '#transcode{vcodec=mp4v,acodec=mpga,vb=1800,ab=128,width=352,height=288,fps=30.00,audio-sync,deinterlace}:std{access=udp,mux=ts,dst=239.255.255.201}' > > E para visualizar, use o VLC no linux/windows: > > Vá em 'abrir mídia na rede' e digite: > > udp://@239.255.255.201 > > Abraços > > Fernando Gottlieb >
Agora sim! Claro como água (limpa). Ou quase. Precisamos agora saber como o startproc trata os parâmetros. Já tentou fazer startproc vlc "$CONFIG" pra evitar que o bash trate as aspas simples e deixe o startproc se virar com elas? -- Fabiano Caixeta Duarte Especialista em Redes de Computadores Linux User #195299 Ribeirão Preto - SP [As partes desta mensagem que não continham texto foram removidas]