VLC:如何通过 HTTP 流式传输 wave

VLC: How to stream a wave via HTTP

我想通过带有 VLC 的 HTTP 从我的 rapsberry 流式传输麦克风。

这个命令工作正常:

vlc -vvv alsa://hw:1,0 --sout '#transcode{vcodec=none,acodec=mpga,ab=128,channels=2,samplerate=44100}:standard{access=http,mux=mp3,dst=192.168.178.30:8080}'

但是当将代码更改为 s16l 并将多路复用器更改为 wav 时,我在 VLC 中听不到任何声音。

这是我试过的命令:

vlc -vvv alsa://hw:1,0 --sout '#transcode{vcodec=none,acodec=s16l,channels=1,samplerate=16000,scodec=none}:standard{access=http,mux=wav,dst=192.168.178.30:8080}' 

Bu 使用 RTP 的相同编解码器工作:

vlc -vvv alsa://hw:1,0 --sout '#transcode{vcodec=none,acodec=s16l,channels=1,samplerate=16000,scodec=none}:rtp{dst=192.168.178.30,port=1234,sdp=rtsp://192.168.178.30:8080/test.sdp}'

一些日志:https://gist.github.com/timaschew/9e7e027cd1b371b01b0f186f23b47068

不是所有的编解码器都可以复用,检查VLC documentation

目前 PCM(wave) 只能在 RTP 中进行复用。

mux是流式传输需要的封装方式。 wav 在 VLC 中是一个用于存储的容器。

Wave 是一种文件容器类型,它可以容纳不同类型的编解码器数据(压缩/未压缩)。

[Wiki]

WAV 文件中的音频可以采用多种音频编码格式(例如 GSM 或 MP3)进行编码,以减小文件大小。

这是一个比较单声道(非立体声)音频质量和可用于 WAV 文件的音频编码格式压缩比特率的参考,包括 PCM、ADPCM、Microsoft GSM 06.10、CELP、SBC、Truespeech 和 MPEG Layer-3。

For HTTP streaming using VLC

Select 您需要像 mp3 编解码器一样流式传输的编解码器。

注意:木星不适用于此处