Создание аудио файла Mulaw из L16 - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть волновой файл с этими свойствами.

   sampling rate = 16000 Hz 
   encoding = L16 
   channels = 1 
   bit resolution = 16

Я хочу сделать 2 конвейера

1) Я выбрасываю содержимое этого файла в виде пакетов RTP на порт = 5000

2)слушаю порт = 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

Но я получаю файл L16 на Test.ulaw, а не PCMU

Есть какие-нибудь предложения?

1 Ответ

0 голосов
/ 02 апреля 2019

Проверьте, что делает элемент 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 ]

Таким образом, в основном он декодирует Закон Му в PCM.Если вы хотите сохранить необработанный закон Му, удалите элемент mulawdec.

...