I'm a newbie to pjsip and want to build an RTP stream receiver using pjsip.
Setup:
I want to use specific L16/16000/1 codec and have also enabled it in "config_site.h" during compiling the pjsip project and checked that its available
Receiver:
- BeagleBone
- CrossCompiled Pjsip and Installed all req. libs and sample apps
Sender:
- Another Windows PC in the same Network using FFmpeg to transmit Audio Stream via Multicast
I got to know about streamutil.c(pjsip sample-apps) which does similar things to send and receive both. Now for the sake of easyness, I'm using the same Cross-Compiled binary streamutil.
SENDER:
..\ffmpeg -re -stream_loop -1 -i test.mp3 -ar 16000 -acodec pcm_s16be -b:a 128k -ac 1 -payload_type 123 -f rtp udp://239.255.255.211:5500?pkt_size=652
......
Output #0, rtp, to 'udp://239.255.255.211:5500?pkt_size=652':
Metadata:
title : -----
artist : --------
album : -------
date : 2019
track : 1
encoder : Lavf58.20.100
Stream #0:0: Audio: pcm_s16be, 16000 Hz, mono, s16, 256 kb/s
Metadata:
encoder : Lavc58.35.100 pcm_s16be
SDP:
v=0
o=- 0 0 IN IP4 127.0.0.1
s=GREATEST HITS (2) [1 HOUR 20 MINUTES LONG]
c=IN IP4 239.255.255.211/5
t=0 0
a=tool:libavformat 58.26.101
m=audio 5500 RTP/AVP 123
b=AS:256
a=rtpmap:97 L16/16000/1
a=rtpmap:123 L16/16000/1
a=control:streamid=
size= 833kB time=00:00:25.91 bitrate= 263.4kbits/s speed= 1x
RECIEVER LOG:
./streamutil --mcast-addr=239.255.255.211 --recv-only --codec=L16/16000/1
...
...
17:05:05.178 strm0x55dee1537f48 Jitter buffer starts returning normal frames (after 1 empty/lost)
17:05:05.246 strm0x55dee1537f48 Jitter buffer empty (prefetch=0), plc invoked
17:05:05.266 strm0x55dee1537f48 Jitter buffer starts returning normal frames (after 1 empty/lost)
17:05:05.325 strm0x55dee1537f48 Jitter buffer empty (prefetch=0), plc invoked
17:05:05.344 strm0x55dee1537f48 Jitter buffer starts returning normal frames (after 1 empty/lost)
17:05:05.422 strm0x55dee1537f48 Jitter buffer empty (prefetch=0), plc invoked
Tried So far:
- set different payload_type
- set specific codec in streamutil as parameter
- all other parameters in FFmpeg ex. bitrate, clockrate, channels
Check working stream
I am facing no issue, if I use a *.sdp file to receive RTP stream in VLC.
SDP file:
v=0
o=- 0 0 IN IP4 127.0.0.1
s=GREATEST HITS (2) [1 HOUR 20 MINUTES LONG]
c=IN IP4 239.255.255.211/5
t=0 0
a=tool:libavformat 58.26.101
m=audio 5500 RTP/AVP 123
b=AS:256
a=rtpmap:97 PCMU/8000/1
a=rtpmap:123 PCMU/8000/1
a=control:streamid=
I have googled a lot but stuck now at this problem. So finally my question is that, How can I get the same Output via Pjsip without this Jitter Buffer logging and dropped sound?
Any help would be greatly appreciated.!