VLC (명령 줄)에 따옴표를 어떻게 중첩합니까?


3

다중 프로그램 입력이 있습니다. 각 프로그램을 가져 와서 각각을 개별적으로 트랜스 코딩하고 싶습니다 (하나는 16 : 9, 하나는 4 : 3이므로) 각 스트림을 다른 주소로 RTP하십시오.

문제는 VLC에 적합한 방식으로 따옴표를 중첩하는 방법을 알 수 없다는 것입니다. 대부분 트랜스 코드와 RTP뿐만 아니라 프로그램을 선택해야하기 때문입니다.


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""
}'

나는 어떤 해결책에도 열려 있지만 따옴표없이 또는 프로그램을 중첩 할 수있는 방법으로 프로그램을 선택할 수있는 방법이 있다면 좋을 것입니다.

답변:


0

올바른 형식은 "dst"를 큰 따옴표로 끝내고 select 문을 인용하는 것입니다.

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"
}'

-1

이것이 제대로 작동하는지는 확실하지 않지만 많은 운영 체제에서 백 슬래시 (\ ")로 내부 따옴표를 이스케이프 처리 할 수 ​​있습니다. 따라서 다음과 같이됩니다.

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\""
}'

큰 따옴표를 이스케이프 처리해야 할 필요가 있지만 내부 세트를 \ "로 이스케이프 처리하면 좋을 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.