<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] ## 分塊 - RTMP中創建的每個塊都有一個唯一 ID 對其進行關聯,這個 ID 叫做 chunk stream ID (塊流 ID)。這些塊通過網絡進行傳輸。傳遞時,每個塊必須被完全發送才可以發送下一塊。在接收端,這些塊被根據塊流 ID 被組裝成消息。 - 分塊允許上層協議將大的消息分解為更小的消息,例如,防止體積大的但優先級小的消息 (比如視頻) 阻礙體積較小但優先級高的消息 (比如音頻或者控制命令)。 - 分塊也讓我們能夠使用較小開銷發送小消息,因為塊頭包含包含在消息內部的信息壓縮提示。 - 塊的大小是可以配置的。它可以使用一個設置塊大小的控制消息進行設置 。更大的塊大小可以降低 CPU 開銷,但在低帶寬連接時因為它的大量的寫入也會延遲其他內容的傳遞。更小的塊不利于高比特率的流化。所以塊的大小設置取決于具體情況。 塊格式 ![](https://img.kancloud.cn/ab/8d/ab8d836bceb1010b564d916ced3ee2a7_554x108.png) 每個塊包含一個頭和數據體。塊頭包含三個部分: - **Basic Header** (基本頭,1 到 3 個字節):這個字段對塊流 ID 和塊類型進行編碼。塊類型決定了消息頭的編碼格式。(這一字段的) 長度完全取決于塊流 ID,因為塊流 ID 是一個可變長度的字段。RTMP 協議最多支持 65597 個流,流 ID 范圍 3 - 65599。 - **Message Header** (消息頭,0,3,7,或者 11 個字節):這一字段對正在發送的消息 (不管是整個消息,還是只是一小部分) 的信息進行編碼。這一字段的長度可以使用塊頭中定義的塊類型進行決定。消息頭有四種不同的格式,由塊基本頭中的 "fmt" 字段進行選擇。 **消息頭的四種類型** 1. 類型 0 : 11 個字節。這一類型必須用在塊流的起始位置,和流 timestamp 重來的時候 (比如,重置)。 2. 類型 1 : 7 個字節。不包含消息流 ID;這一塊使用前一塊一樣的流 ID。可變長度消息的流 (例如,一些視頻格式) 應該在第一塊之后使用這一格式表示之后的每個新消息。 3. 類型 2 : 3 個字節。既不包含流 ID 也不包含消息長度;這一塊具有和前一塊相同的流 ID 和消息長度。具有不變長度的消息 (例如,一些音頻和數據格式) 應該在第一塊之后使用這一格式表示之后的每個新消息。 5. 類型 3 :沒有消息頭。流 ID、消息長度以及 timestamp delta 等字段都不存在;這種類型的塊使用前面塊一樣的塊流 ID。當單一一個消息被分割為多塊時,除了第一塊的其他塊都應該使用這種類型。 - Extended Timestamp (擴展 timestamp,0 或 4 字節):這一字段是否出現取決于塊消息頭中的 timestamp 或者 timestamp delta 字段。擴展 timestamp 字段主要用于對大于 16777215 (0xFFFFFF) 的 timestamp 或者 timestamp delta 進行編碼;也就是,對于不適合于在 24 位的類型 0、1 和 2 的塊里的 timestamp 和 timestamp delta 編碼。 - Chunk Data (有效大小):當前塊的有效負載,相當于定義的最大塊大小。
                  <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>

                              哎呀哎呀视频在线观看