9.2. 例子

9.2.1. 转码

转码输入流并将其发送到组播 IP 地址,并带有相关的 SAP 公告

% vlc -vvv input_stream --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:
standard{access=udp,mux=ts,url=239.255.12.42,sap=TestStream}'

显示输入流,对其进行转码,并将其发送到组播 IP 地址,并带有相关的 SAP 公告

% vlc -vvv input_stream --sout '#duplicate{dst=display,dst=
"transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:
standard{access=udp,mux=ts,url=239.255.12.42,sap=TestStream}"}'

转码输入流,显示转码后的流,并将其发送到组播 IP 地址,并带有相关的 SAP 公告

% vlc -vvv input_stream --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:
duplicate{dst=display,dst=standard{access=udp,mux=ts,url=239.255.12.42,sap=TestStream}}'

9.2.2. 多路流式传输

将流发送到组播 IP 地址和单播 IP 地址

% vlc -vvv input_stream --sout '#duplicate{dst=
standard{access=udp,mux=ts,url=239.255.12.42,sap=TestStream},
dst=standard{access=udp,mux=ts,url=192.168.1.2}}'

显示流并将其发送到两个单播 IP 地址

% vlc -vvv input_stream --sout '#duplicate{dst=display,dst=
standard{access=udp,mux=ts,url=192.168.1.12},
dst=standard{access=udp,mux=ts,url=192.168.1.42}}'

9.2.3. 转码和多路流式传输

转码输入流,显示转码后的流,并将其发送到带有相关 SAP 公告的组播 IP 地址和一个单播 IP 地址

% vlc -vvv input_stream --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:
duplicate{dst=display,dst=standard{access=udp,mux=ts,url=239.255.12.42,sap=TestStream},
dst=standard{access=udp,mux=ts,url=192.168.1.2}}'

显示输入流,对其进行转码,并将其发送到两个单播 IP 地址

% vlc -vvv input_stream --sout '#duplicate{dst=display,
dst="transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:
duplicate{dst=standard{access=udp,mux=ts,url=192.168.1.2},
dst=standard{access=udp,mux=ts,url=192.168.1.12}"}'

将输入流发送到组播 IP 地址,并将转码后的流发送到另一个带有相关 SAP 公告的组播 IP 地址

% vlc -vvv input_stream --sout '#duplicate{dst=
standard{access=udp,mux=ts,url=239.255.1.2,sap=OriginalStream},
dst="transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:
standard{access=udp,mux=ts,url=239.255.1.3,sap=TranscodedStream}"}'

9.2.4. HTTP 流式传输

HTTP 流式传输

转码和 HTTP 流式传输

% vlc -vvv input_stream --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:
standard{access=http,mux=ogg,url=server.example.org:8080}'

例如,如果您想通过 HTTP 以 Ogg/Vorbis 格式流式传输音频 CD

% vlc -vvv cdda:/dev/cdrom --sout '#transcode{acodec=vorb,ab=128}:
standard{access=http,mux=ogg,url=server.example.org:8080}'

9.2.5. 使用 es 模块

将音频和视频分离到两个 PS 文件中

% vlc -vvv input_stream --sout
'#es{access=file,mux=ps,url_audio=audio-%c.%m,url_video=video-%c.%m}'

将输入流的音轨提取到 TS 文件中

% vlc -vvv input_stream --sout '#es{access_audio=file,mux_audio=ts,url_audio=audio-%c.%m}'

通过单播在一个端口上流式传输音轨,在另一个端口上流式传输视频轨道

通过组播流式传输视频,并将音频输出到文件中

% vlc -vvv input_stream --sout '#es{access_video=udp,mux_video=ts,url_video=239.255.12.42,
access_audio=file,mux_audio=ps,url_audio=audio-%c.%m}'

Note

您还可以将 es 模块与其他模块结合使用,以设置更复杂的解决方案。