我想通过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,把mux改成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}' 但是使用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
发布于 2020-01-07 08:55:07
并非所有编解码器都可以多路复用,请检查VLC documentation。
目前,PCM(wave)只能在RTP中进行多路复用。
mux是流式传输所需的封装方法。VLC中的wav是一个用于存储的容器。
发布于 2020-01-08 13:14:29
Wave是一种文件容器类型,它可以容纳不同类型的编解码器数据(压缩的/uncompressed)。
WAV文件中的音频可以用各种音频编码格式进行编码,例如GSM或MP3,以减小文件大小。
这是比较可用于WAV文件的音频编码格式(包括PCM、ADPCM、Microsoft GSM 06.10、CELP、SBC、Truespeech和MPEG Layer-3 )的单声道(非立体声)音频质量和压缩比特率的参考。
选择您需要像mp3编解码器那样流式传输的编解码器。
注意:多路复用在这里不适用
https://stackoverflow.com/questions/59604973
复制相似问题