晋城市网站建设_网站建设公司_展示型网站_seo优化
2025/12/23 18:08:23 网站建设 项目流程

1. webrtc中AV1的真实数据流(接收端)

RTP packet→ depacketize→ OBU (fragment / aggregate)→ Temporal Unit (TU)→ Encoded Frame→ Decoder

2.

🔹 ① RTP → OBU(AV1Depacketizer)

  • 处理:

    • OBU aggregation

    • OBU fragmentation(Z / Y bits)

  • 保证:

    • OBU 按 bitstream 顺序恢复

  • 不关心 decoder

👉 这一层只负责:

“把 RTP payload 还原成合法的 OBU 序列”


🔹 ② OBU → Temporal Unit(FrameAssembler)

  • marker bit / TU boundary 作为结束条件

  • 收集:

    • OBU_FRAME_HEADER

    • OBU_TILE_GROUP

    • OBU_METADATA

  • 直到:

    • 当前 TU 完整

👉 这里已经形成了 “一个可 decode 的单位”


🔹 ③ Temporal Unit → EncodedImage(Frame)

在 WebRTC 里:

  • EncodedImage

    • 是 decoder 的输入单位

    • 1 TU

  • 字段包括:

    • timestamp

    • frame type (key / delta)

    • data buffer(OBU bitstream)

👉 这一步你口中的 “组成 frame”
在代码里其实是:组成一个 EncodedImage


🔹 ④ EncodedImage → Decoder(VideoToolbox / libaom)

  • WebRTC 把完整 TU 的 OBU:

    • 按 AV1 Annex B / length-prefixed

    • 喂给 decoder

  • Decoder:

    • 可能 decode 新 frame

    • 也可能 SEF(show existing frame)

👉 decoder 不认识 RTP / OBU
👉 它只吃:完整 frame bitstream

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询