我有一个具有这些属性的wave文件。
sampling rate = 16000 Hz encoding = L16 channels = 1 bit resolution = 16
我要建立2条管道
1)我将这个文件内容作为RTP数据包扔到port = 5000上
2)侦听port = 500捕获rtp数据包并使用 以下属性
sampling rate = 8000 Hz encoding = PCMU channels = 1 bit resolution = 8
我尝试过的是: 发件人:
gst-launch-1.0 filesrc location=/path/to/test_l16.wav ! wavparse ! audioconvert ! audioresample ! mulawenc ! rtppcmupay ! udpsink host=192.168.xxx.xxx port=5000
收件人:
gst-launch-1.0 udpsrc port=5000 ! "application/x-rtp,media=(string)audio, clock-rate=(int)8000, encoding-name=(string)PCMU, channels=(int)1" ! rtppcmudepay ! mulawdec ! filesink location=/path/to/test_pcmu.ulaw
但是我在Test.ulaw而不是PCMU上获取L16文件
有什么建议吗?
答案 0 :(得分:0)
检查mulawdec
元素的作用:
Pad Templates:
SINK template: 'sink'
Availability: Always
Capabilities:
audio/x-mulaw
rate: [ 8000, 192000 ]
channels: [ 1, 2 ]
SRC template: 'src'
Availability: Always
Capabilities:
audio/x-raw
format: S16LE
layout: interleaved
rate: [ 8000, 192000 ]
channels: [ 1, 2 ]
因此,基本上,它将Mu Law解码为PCM。如果要保存原始Mu Law,则删除mulawdec
元素。