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: Tue, 6 Jan 2009 03:31:02 -0200

Sim, já testei.
Mas neste caso, como devo proceder com a variável?
Devo declará-la com aspas?
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\"}' "

A única forma de obter o conteúdo completo da variável (nos meus
testes e utilizando um echo) foi
delimitá-la com aspas, embora o vlc não consiga tratar.

Sim, este teste eu também já fiz e não funcionou.

Obrigado pela dica Fabiano.

Abraços

Fernando Gottlieb


2009/1/6 Fabiano Caixeta Duarte <address@hidden>:
> 2009/1/5 Fernando Gottlieb <address@hidden>
>
>> 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]
>
> 


reply via email to

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