【zlm】MS, 复合器与解复合器

本文详细解释了MS框架中demuxer和muxer在处理RTP流时的作用,包括解复用追踪器、解码过程、以及如何通过track中介进行帧输入。特别提到在当前模式下,RTP包首先通过demuxer解码,然后根据预设的编码格式进行编码。

MS: mediasource  左边挂着demuxer ,右边挂着muxer 

 当解复用的时候 ,就直接把demuxer 里产生的trackers ,通过addtracker,直接 调用 了ms的addtracker,给muxer上也挂上了tracker .

当进行解码 的时候,又通过之前 绑定好的关系 ,将数据流最后通过 muxer-》inputFrame进行了数据的复合!

webrtcpusher在收到rtp流后,果断新数据给了rtspMS .

然后给了demuxer

解释下这里:如果是代理模式,才会直接把rtp包放ringbuffer里,供 类似 webrtc play一样的命令来进行请求进行播放;但目前的模式,还是会经过 _demuxer进行解码,然后通过 MultiMediaSourceMuxer里的(rtmp,rtsp,mp4)等要求的编码格式 进行编码 。当然这里的rtspMuxer对它自己来说,自己的rtspDemuxer弄出来的frame又给它来了一遍,放到ringbuffer里了

果断给了v_rtp_decoder或者a_rtp_decoder, 

而decoder显然与track是绑定在一起的(在maketracker的时候就已经注定 了) 

注:比如 h264decode 设置代理为此video_track,解码后,将frame 写入了此track;

  而 addTrack 将 track又加到了sink (muxer)里,作为它的track,且给这个track加一个代理 ,即会让muxer里对track里的frame进行了inputFrame(frame)的动作。 即track作为了一个承载frame的中价,让muxer有机会作inputFrame这个动作。

track input frame 之后 ,通过下面已经在track里设置的代理 ,将input frame转发给, muxer的input frame .

FrameDispatcher 中,它会把inputFrame转给后面muxer去input Frame

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dualven_in_csdn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值