shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Variáveis com apóstrofos II


From: Fernando Gottlieb
Subject: Re: [shell-script] Variáveis com apóstrofos II
Date: Mon, 5 Jan 2009 19:23:37 -0200

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]