Skip to content

Latest commit

 

History

History
74 lines (59 loc) · 3.69 KB

README.md

File metadata and controls

74 lines (59 loc) · 3.69 KB

一点点从基础做起 从音视频协议原文精读翻译做起,欢迎交流指导!

个人webrtc sfu开源: runner365/cpp_media_server

cpp media server是基于c++11开发的webrtc会议服务sfu,并且支持跨平台(linux/mac)。

cpp media server同时支持多种流媒体协议: webrtc/rtmp/httpflv/hls/websocket flv

1. webrtc方向

  webrtc技术栈比较长,内容比较多,如果只是拿一些开源来改改使用,无法真正的入门
webrtc的主要内容:

  • 音视频编解码
  • RTP/RTCP传输
  • P2P
  • 各种信令协议
  • QUIC协议(未来用QUIC替代UDP的可能性)

开始自学英文协议文档方式,一点点的深入,一边提高英文能力,一边理解各种协议和具体实现。
首先,从关键的RTP/RTCP协议基础开始。

1.1 RTP/RTCP

RTP:Audio and video for the Internet.pdf,这本书比较全面的介绍RTP/RTCP协议在互联网中的应用,通过对关键章节的翻译,逐步深入理解RTP/RTCP协议。

1.1.1 英文自译

原文: RTP/RTCP for internet

1.1.1.1 RTP/RTC协议部分

自译文档连接:RTP/RTC协议--精选翻译
自译关键内容:

  • RTCP报文介绍: SR, RR, BYE, APP
  • JITTER计算方式
  • RTT计算方式

1.1.1.2 RTP纠错方式

自译文档链接:RTP纠错方式
自译关键内容:

  • RTP纠错方式: NACK
  • RTP纠错方式:FEC(前向纠错)

1.2 RTP H264: rfc6184

RFC6184是RFC描述RTP协议如何承载H264
对于视频,主要承载的就是H264报文,rfc6184就显得非常的核心和重要。 原文:RFC6184.pdf
自译文档链接:翻译: rfc6184-RTP Payload Format for H.264 Video
翻译主要内容:

  • RTP承载H264的主要几种方式
  • single NAL unit mode(单NAL单元模式)
  • STAP-A方式(同一时间和顺序的聚合模式)
  • FU-A(同一时间和顺序的分片模式)

对于STAP-B,MTAP,FU-B等,因为当前没有应用场景,在实际工作中用不到,因此不进行翻译。

2 QUIC

原文链接: QUIC wire specification
自译文档连接: QUIC协议自译
相关文档:

3 RTMP

原文链接: rtmp_specification_1.0.pdf

自译文档连接: rtmp协议自译