流媒体协议.之(RTP,RTCP,RTSP,RTMP,HTTP)(三)

发布于:2024-11-02 ⋅ 阅读:(37) ⋅ 点赞:(0)

本文,分析,贴出一些博主的关键源码

git地址:https://github.com/ireader/media-server?tab=readme-ov-file

网络上也有开源的库,可以用这些。
推流协议库有,librtmp,librtp,jrtplib等;
推流工具有,ffmepg,obs.lib,ndi等;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

FLV video codec: H.264/H.265/H.266/AV1/VP8/VP9/VP10
FLV audio codec: AAC/MP3/G.711/Opus
FLV file read/write
H.264/H.265/H.266/AV1 bitstream filter: annex-b <-> mp4 stream
AAC bitstream filter: ADTS <-> ASC

librtmp
rtmp-client: RTMP publish/play
rtmp-server: RTMP Server live/vod streaming

libmpeg
ITU-T H.222.0 PS/TS read/write
ps/ts codec: H.264/H.265/H.266/AAC/MP3/G.711/Opus

librtp
RFC3550 RTP/RTCP
RTP with H.264/H.265/H.266/MPEG-2/MPEG-4/VP8/VP9/AV1
RTP with G.711/G.726/G.729/MP3/AAC/Opus
RTP with MPEG-2 PS/TS
RTP Header Extension
RTCP PSFB/RTPFB/XR

librtsp
RFC2326 RTSP
RFC4566 SDP
SDP fmtp: H.264/H.265/H.266/AAC/Opus/G.711

libhls
HLS M3U8: generate m3u8 file
HLS Media: TS segmenter
HLS fmp4 segmenter
HLS Master/Playlist m3u8 parser

libdash
ISO/IEC 23009-1 MPEG-DASH static(vod)
ISO/IEC 23009-1 MPEG-DASH dynamic(live)
DASH MPD v3/v4 parser

libmov
ISO/IEC 14496-12 MP4 File reader/writer
MP4 faststart(moov box before mdat)
fMP4(Fragment MP4) writer
MP4 with H.264/H.265/H.266/AV1/VP8/VP9/JPEG/PNG
MP4 with AAC/Opus/MP3/G.711

libmkv
MKV/WebM file read/write
MKV/WebM live streaming

libsip
sip user-agent (UAC/UAS)
sip with ICE

libhttp(https://github.com/ireader/sdk)
HTTP Server(base AIO)
HTTP Client
HTTP Cookie

Make
make clean && make
make RELEASE=1 (make release library, default debug)
make PLATFORM=arm-hisiv100nptl-linux (cross compile)

二、博主开源的

在这里插入图片描述