【zlm】针对单个设备的码率的设置

【zlm】针对单个设备的码率的设置发现在拉的时候 是与设置的码率无关的

大家好,欢迎来到IT知识分享网。

目录

代码修改

实验数据一

实验数据二

同时拉一路视频后

修改记录

 使用方法

各库实操

3-27号的zlm对应的第三方库


代码修改

【zlm】针对单个设备的码率的设置

【zlm】针对单个设备的码率的设置

【zlm】针对单个设备的码率的设置

【zlm】针对单个设备的码率的设置

 【zlm】针对单个设备的码率的设置

【zlm】针对单个设备的码率的设置

【zlm】针对单个设备的码率的设置

【zlm】针对单个设备的码率的设置

要被子类引用 ,所以放在protected 不能放private 

【zlm】针对单个设备的码率的设置

 下面的结论,可以在下面的实验数据里引用。“同时拉一路视频后”【zlm】针对单个设备的码率的设置

注:onSortedRtp发生的频率比较大,所以可以理解为在播放过程中,更改配置文件后,全局的配置也是实时变化的;所以这个针对单个设备的设置,其它不能实时变化,因为在建链时就已经成为这个链里的私有变量了。 

在WebRTC的实现中,`onSortedRtp` 方法的被调用频率取决于多个因素,包括媒体流的特性、网络条件以及WebRTC框架自身的工作机制。一般来说,`onSortedRtp` 是在接收到排序后的RTP数据包时被调用的。

以下是一些可能导致 `onSortedRtp` 被调用的情况:

1. 接收到新的RTP数据包: 当接收到新的RTP数据包时,WebRTC框架可能会将其传递给 `onSortedRtp` 进行处理。这可以是实时传输中的音频或视频数据。

2. 网络重传: 在不稳定的网络条件下,可能会发生数据包的丢失,从而触发网络重传。在这种情况下,WebRTC可能需要对接收到的数据包进行排序和处理,以确保正确的重建媒体流。

3. 媒体流变化: 当媒体流中的特性发生变化时,例如分辨率、编解码器切换等,可能会触发 `onSortedRtp` 被调用以适应这些变化。

4. 网络状况改变: 当网络状况发生变化,例如带宽的增加或减少,可能会导致需要调整媒体流的处理方式。

要了解具体的调用频率,您可能需要查看WebRTC的实现文档、源代码或者相应的文档。通常,这种调用频率是由WebRTC的内部算法和策略来决定的,以适应不同的应用场景和网络条件。

实验数据一

【zlm】针对单个设备的码率的设置

https://10.60.3.45:10443/index/api/webrtc?app=live&stream=test&type=push&speed=

下面数据95000kBps * 8 ~~ kbps 

【zlm】针对单个设备的码率的设置

实验数据二

【zlm】针对单个设备的码率的设置

【zlm】针对单个设备的码率的设置

 181 261 * 8 ~ 1600 000 kbps

 【zlm】针对单个设备的码率的设置

同时拉一路视频后

   发现在拉的时候,是与设置的码率无关的。因为依赖于push上的流的码率即可!

【zlm】针对单个设备的码率的设置 【zlm】针对单个设备的码率的设置

修改记录

【zlm】针对单个设备的码率的设置

PS D:\java\xiachu\ZLMediaKit\www\webassist> cd ../../ PS D:\java\xiachu\ZLMediaKit> git branch * gbcomZlm master PS D:\java\xiachu\ZLMediaKit> git log -1 --name-only commit cc11e4b5e9a23351d0260c3126c0584c08c8e89d (HEAD -> gbcomZlm) Author: dualven <> Date: Tue Jan 23 12:13:00 2024 +0800 增加对每个设备单独的码率控制 server/WebApi.cpp webrtc/WebRtcPusher.cpp webrtc/WebRtcPusher.h webrtc/WebRtcTransport.cpp webrtc/WebRtcTransport.h

 使用方法

https://10.60.3.45:10443/index/api/webrtc?app=live&stream=test&type=push&speed=

各库实操

(1) 将windows上的库提交到 gbcomZlm 

git remote add gbcomRemote http://10.30.40.10/version/gbcomzlm.git

git push -u gbcomRemote gbcomZlm

(2)  192上的环境 (linux)

  /opt/temp/ZlmMediaKit 

  先更新,及submodule更新到最新;然后对照windows上2023-12-12日的版本,知道各个版本的commitid  hash,然后在192上的此目录,及submodule 进行git checkout commitidHash,保证与windows一样的版本。

   然后git pull gbcomRemote gbcomZlm与本地融合,这样就将上面的五个文件进行了合入。

    ./build.sh 进行编译, 放至

 cp release/linux/Release/MediaServer /opt/Release/gbcomzlm/2024-1-23-MediaServer

 896 git submodule update --init 897 cd 3rdpart/ 898 cd ZLToolKit/ 899 ll 900 git checkout 9a545d7 901 cd ../jsoncpp/ 902 git checkout 8190e06 903 cd ../media-server/ 904 git checkout a8a80e0 905 cd ../../www/ 906 ll 907 cd webassist/ 908 git status 909 git checkout b02d2a4

在新的工程里,注意 项目——》重新配置,就会生成新的cmake等;然后 生成-》再生成具体的可执行文件

在一个分支上,随便合入一个commit -id 

git checkout current-branch

git cherry-pick <commit-id>

3-27号的zlm对应的第三方库

 896 git submodule update --init 897 cd 3rdpart/ 898 cd ZLToolKit/ 899 ll 900 git checkout 04d1c47d2568f5ce1ff84260cefaf2754e514a5e 901 cd ../jsoncpp/ 902 git checkout 69098a18b9af0c47549d9a271c054d13ca92b006 903 cd ../media-server/ 904 git checkout 527c0f5117b489fda78fcd123dddd9ec9a 905 cd ../../www/ 906 ll 907 cd webassist/ 908 git status 909 git checkout b02d2a4c1abf95db45e50bb77d789defa0fcc4b7

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/130080.html

(0)
上一篇 2025-08-19 17:45
下一篇 2025-08-19 18:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信