Hi:

We are using Firefox version 36.0.4 as my WebRTC client and on the other side 
we have our private client (connected through Janus GW plugin) generating h264 
stream using Cisco open h264 version 1.3.

Big RTP packets (more than 8K) that are generated from our private client and 
are passed through the Janus GW are dropped in the network and so we decided to 
limit the NAL unit size to 2K. 

However, when we tried to limit the NAL unit size to 2k using the 
"uiMaxNalSize" parameter in the "SEncParamExt" structure during encoder 
initialization, open h264 library didn't limit the single NAL unit size to 2K.

Do we need to set (initialize) any other parameter to limit the NAL size to 2K 
when we initialize the Cisco open h264 library???

Also, we tried to break up big NAL unit into multiple fragmented units (up to 
2K), but it didn't work either. We applied the following rules while fragmented 
the big NAL Units:

1. We maintained the same RTP timestamp for all the fragmented units RTP 
packets.

2. We incremented the sequence number for all the fragmented units RTP packets.

3. We only set the marker bit on for the last fragmented unit RTP packet and 
for the rest of the fragmented units RTP packets we set the marker bit off.

4. First fragmented unit RTP packet starts (after the RTP header) with the 
start code (00 00 00 01), followed by 0x7c (FU Indicator - which indicates the 
FU-A type), followed by 0x85 (FU header - which indicates that this is the 
first FU, and it's IDR type) and then followed by the payload.

5. The middle fragmented unit RTP packet starts (after the RTP header) with  
0x7c (FU Indicator - which indicates the FU-A type), followed by 0x05 (FU 
header - which indicates that this not the first or last FU, and it's IDR type) 
and then followed by the payload.

6. The last fragmented unit RTP packet (after the RTP header)  starts with 0x7c 
(FU Indicator - which indicates the FU-A type), followed by 0x45 (FU header - 
which indicates that this is the last FU, and it's IDR type) and then followed 
by the payload.

7. We have negotiated packetization-mode=1 with the Firefox.

Could anyone tell what could be wrong while sending FU-A RTP packets? Or what 
else is Firefox is expecting?


-KMurali
_______________________________________________
dev-media mailing list
dev-media@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-media

Reply via email to