Como faço para aninhar aspas no VLC (linha de comando)?

3

Eu tenho uma entrada multi-programa. Eu quero pegar cada um dos programas e transcodificar cada um deles separadamente (porque um é 16: 9, um é 4: 3) e, em seguida, RTP cada um dos fluxos para um endereço diferente.

O problema é que não consigo descobrir uma maneira de aninhar aspas de uma maneira aceitável para o VLC. Principalmente isso é porque eu preciso não apenas transcodificar e RTP, mas também selecionar o programa.


cvlc multi-program-input-source.ts 
--sout '#duplicate{
  dst="transcode{width=640,height=360,OTHER_SETTINGS}:rtp{mux=ts,dst=SOMEWHERE,port=20000},select="program=3"",
  dst="transcode{width=704,height=480,OTHER_SETTINGS}:rtp{mux=ts,dst=SOMEWHERE,port=20002},select="program=4""
}'

Estou aberto a qualquer solução, mas se houver uma maneira de selecionar o programa sem aspas ou de maneira que eu possa aninhá-lo, isso seria ótimo.

    
por Macho Matt 03.11.2011 / 22:33

2 respostas

0

O formato adequado é terminar o "dst" com um aspas duplas e, em seguida, citar a instrução de seleção.

cvlc multi-program-input-source.ts 
--sout '#duplicate{
  dst="transcode{width=640,height=360,OTHER_SETTINGS}:rtp{mux=ts,dst=SOMEWHERE,port=20000}",select="program=3",
  dst="transcode{width=704,height=480,OTHER_SETTINGS}:rtp{mux=ts,dst=SOMEWHERE,port=20002}",select="program=4"
}'
    
por 19.04.2012 / 18:38
-1

Não tenho certeza se isso funcionará, mas em muitos sistemas operacionais, é possível escapar das aspas internas com uma barra invertida (\ "). Assim, ficaria assim:

cvlc multi-program-input-source.ts 
--sout '#duplicate{
  dst=\"transcode{width=640,height=360,OTHER_SETTINGS}:rtp{mux=ts,dst=SOMEWHERE,port=20000},select=\"program=3\"",
  dst="transcode{width=704,height=480,OTHER_SETTINGS}:rtp{mux=ts,dst=SOMEWHERE,port=20002},select=\"program=4\""
}'

Eu posso ter errado aspas duplas que precisam escapar, mas esperançosamente escapar dos conjuntos internos com \ "funcionará para você.

    
por 11.11.2011 / 17:07