How to deal with media streams' RTP/RTCP packets in webRTC?

619 views
Skip to first unread message

李屹

unread,
Dec 28, 2015, 7:56:30 AM12/28/15
to discuss-webrtc
Hello, everyone
    
        I'm working on a project about WebRTC and need to transcode media streams between browsers (like Chrome, using VP8) and IMS terminals (like linphone, using H264).Without RTCP control, video streams are in low quality. So I want to use JRTPLIB to manage RTP and RTCP for I'm not able to write RTCP buffer.
        I use ffmpeg to transcode streams and try receiving and sending streams with JRTPLIB to deal with RTP and RTCP. I have checked the data received and they worked. But after transcoding and sending, the screen kept black. 
        I guess this is because video frames' size are greater than Ethernet transport limit. So they need to be split into more than one packets. According to RFCs, some bits should change while dividing a frame. I use functions in ffmpeg's source code ( rtpenc.c, rtpenc_h264.c, rtpenc_vp8.c) to get payload and abandon RTP head. Then I send payload to JRTPLIB's API, hoping JRTPLIB to add RTP headers, but still black.
        So if I finish transcoding streams, how to send them in RTP and send RTCP, and receive rtcp? Can JRTPLIB do that ? Or there are other ways? 
        
        Thans for your reading and appreciate for your help.

Sheel Patel

unread,
Apr 14, 2016, 6:39:38 PM4/14/16
to discuss-webrtc
Hi,

I have a questions similar to yours. 

Are you able to play audio/video without transcoding in the inter-working scenario, between linphone and webrtc client? How do you handle rtcp in that case as the media profiles will be different one side RTP/AVP and the other UDP/TLS/RTP/SAVPF.
Do you multiplex-demultiplex rtcp packets with rtcp-mux or use separate streams for both ends?
Any other special handling required for rtcp?

Thanks,
Sheel
Reply all
Reply to author
Forward
0 new messages