流媒体协议.之(RTP,RTCP,RTSP,RTMP,HTTP)(三)
本文,分析,贴出一些博主的关键源码
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)
二、博主开源的