<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 一、協議概述 H265的RTP封包遵守RFC7798協議標準,與H264的RTP封包協議類似,也分三種打包模式: 1、Single NAL Unit Packets:單一NALU單元模式,即一個RTP包僅由一個完整的NALU組成。 2、Aggregation Packets:當同一時間戳內的多個NALU數據,不足以太網的最大報文長度1500個字節,可以將這多個NALU數據,封裝在一個RTP報文內。 3、Fragmentation Units:當一個NALU數據就大于1500個字節,需要將該NALU數據拆分成幾塊,分別封裝在不同的RTP報文內。 # 二、打包詳解 ![](https://img-blog.csdnimg.cn/20201106111858643.png) 首先介紹一下H265的NAL Unit Header定義。 F:1bit,必須是0。 Type:6bits,nal\_unit\_type。指明該NAL Unit類型,可以參見《T-REC-H.265-201504-I!!PDF-E》協議的nal\_unit\_type定義。指明該NAL是SPS,還是PPS,還是IDR幀等。 LayerId:6 bits,必須是0。 TID:3 bits。時間參考層ID。 ## 1、Single NAL Unit Packets ![](https://img-blog.csdnimg.cn/20201106111506844.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NyeXN0YWxTaGF3,size_16,color_FFFFFF,t_70) 這種模式下,PayloadHeader與上面的Figure1的NALUHeader定義完全一致。只是該NALU傳輸的是CRA或者BAL時,NALU Type會變一下。 DONL:Decoding Order Number。當使用多slice編碼模式時使用,用于判斷一幀的每個slice是否收齊。不過目前webrtc默認都是使用單slice編碼模式,所以封包時,沒有該字段。 ## 2、Aggregation Packets 很明顯,若是所有NALU都打包成一個RTP的話,對帶寬是很大的浪費,所以當編碼一幀有多個NALU數據的時候(比如一個IDR幀,還會攜帶SPS、PPS、VPS、SEI等NALU數據),可以把這多個NALU數據都打包在一個RTP報文里面。但是需要控制打包報文總長度小于1500字節,否則會引起IP分片。 ### AP模式載荷頭格式定義 ![](https://img-blog.csdnimg.cn/20201106135252518.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NyeXN0YWxTaGF3,size_16,color_FFFFFF,t_70) F:1bit, Type:6bits,必須為48,表示是AP報文。 LayerId:6 bits, TID:3 bits。 ### AP模式首個NALU格式 ![](https://img-blog.csdnimg.cn/20201106135603434.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NyeXN0YWxTaGF3,size_16,color_FFFFFF,t_70) ### AP模式非首個NALU格式 ![](https://img-blog.csdnimg.cn/20201106140107537.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NyeXN0YWxTaGF3,size_16,color_FFFFFF,t_70) ### 不攜帶DONL字段的AP報文示例 ![](https://img-blog.csdnimg.cn/20201106135746695.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NyeXN0YWxTaGF3,size_16,color_FFFFFF,t_70) ## 3、Fragmentation Units 同樣,當編碼一幀數據長度大于1500個字節的時候,一個RTP報文裝不下一幀視頻數據,需要將該NALU數據拆分N份,封包到N個RTP報文里面去。 ### FU模式載荷頭格式定義 ![](https://img-blog.csdnimg.cn/20201106143023423.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NyeXN0YWxTaGF3,size_16,color_FFFFFF,t_70) F:1bit。 Type:6bits,必須為49,表示是FU報文。 LayerId:6 bits, TID:3 bits。 ### FU Header格式定義 ![](https://img-blog.csdnimg.cn/20201106143549143.png) S:1bit。1:表示是首個分片報文。0:非首個分片報文。 E:1bit。1:表示最后一個分片報文。0:非最后一個分片報文。 FuType:6 bits。該分片報文對應的NALU type。 # 三、參考 RFC7798
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看