音视频文摘

webrtc层可以手动指定使用硬编码还是软编码吗:
webrtc目前还没有,不过这个已经被讨论(https://github.com/w3c/webrtc-extensions/issues/98)纳入webrtc 1.1标准里,webcodecs有(https://w3c.github.io/webcodecs/#hardware-acceleration)

webrtc只有vp9和av1支持SVC

像 x264 这样的编码器默认不会不必要地用比特“填充”帧。这意味着,如果您有一个非常容易编码的场景,您的比特率可能总是低于您指定的比特率。不要担心这一点——只要记住,如果它是浪费的,那么实现精确的目标比特率是没有意义的。

想做电竞直播的一个功能需要把鼠标键盘状态编码进流里面,webrtc不支持sei帧,用e2ee的方式编进去了,一开始还以为后面多了几个字节srs这边会报错,结果没有,太好了

FFmpeg编码器可以使用"-rc"参数来控制码率和质量,其中包括一些选项可以动态丢帧以降低码率。例如,可以使用"-rc_lookahead"选项来设置编码器的预测帧数,以便在编码过程中丢弃一些帧以降低码率。另外,还可以使用"-rc_min_vbv_overflow_use"选项来设置编码器在达到最小缓冲区溢出时是否丢弃帧。这些选项可以在实时场景下使用,但需要根据具体情况进行调整以达到最佳效果。

webrtc gpu硬件编码
https://github.com/shiguredo/momo

srs转发机制,一块内存不会被拷贝多份,当一个用户读完,引用计数就减一,等减到0就释放这块内存。
srs的房间信令逻辑:
新进入房间时后台返回给所有的参与者信息,自己publish

猜你喜欢

转载自blog.csdn.net/weixin_43466192/article/details/127627033