Конвертировать RTP-пакеты в WAV или AU, используя ffmpeg
У меня есть файл, содержащий последовательность пакетов RTP, завернутых в пакеты UDP/IP. Я хочу преобразовать этот файл в файл WAV или AU, и мне сказали, что ffmpeg может выполнить эту работу. Однако инструмент не ведет себя так, как я ожидал. По какой-то причине он ожидает файл SDP, но у меня нет такого файла, и мне интересно, зачем он нужен, поскольку пакеты RTP, по-видимому, содержат достаточно информации для преобразования. Также сообщается о неправильном типе полезной нагрузки.
Есть идеи? Ниже я попробовал. Пакеты RTP во входном файле alaw.rtp имеют только типы полезной нагрузки 8 (A-law) и 72 (связанные с RTCP), поэтому я не знаю, откуда исходит тип 105 полезной нагрузки.
$ ffmpeg -f rtp -i alaw.rtp alaw.au
...
[rtp @ 0x9dbdfe0] Unsupported RTP version packet received
Last message repeated 89 times
[rtp @ 0x9dbdfe0] Unable to receive RTP payload type 105 without an SDP file describing it
[rtp @ 0x9dbdfe0] Estimating duration from bitrate, this may be inaccurate
Input #0, rtp, from 'alaw.rtp':
Duration: N/A, bitrate: N/A
File 'alaw.au' already exists. Overwrite ? [y/N] y
Output #0, au, to 'alaw.au':
Output file #0 does not contain any stream
Это версия ffmpeg, которую я использовал
ffmpeg version 0.10.6-6:0.10.6-0ubuntu0jon1~lucid2
built on Nov 12 2012 15:20:22 with gcc 4.4.3
1 ответ
Если вы хотите услышать голос, присутствующий в файле.pcap, вы можете выполнить следующие шаги.
Установите Wireshark:
Файл -> открыть имя файла.pcap
Анализировать -> Декодировать как
выберите RTP из списка и нажмите "Применить"
Телефония -> RTP -> Показать все потоки -> Анализировать
Затем нажмите на Player -> Декодировать
Установите флажок для каждого файла и играйте
Теперь вы можете здесь потоки.
Примечание. Убедитесь, что у вас установлена последняя версия Wireshark.