Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

srs_bench压测janus,出现codec is not supported by remote报错 #43

Open
ewan1988 opened this issue Mar 28, 2023 · 10 comments
Open

Comments

@ewan1988
Copy link

janus小白,项目需要对比压测janus并发性和当前媒体服务作对比,过程中peerconnection报错,麻烦不吝赐教

环境:
centos7
janus 0.13.3

janus启动命令:
janus --config=/opt/janus/etc/janus/janus.jcfg

srs_bench启动命令:
./objs/srs_bench -sfu janus -pr webrtc://192.168.88.178:8088/1234/livestream -sa avatar.ogg

srs_bench日志:
[trace] 2023/03/28 10:55:21.998409 Run benchmark with delay=50, al=true, twcc=true, publish(url=webrtc://192.168.88.178:8088/1234/livestream, sa=avatar.ogg, sv=, fps=0)
[trace] 2023/03/28 10:55:21.998626 [126462][1000] Run publish url=webrtc://192.168.88.178:8088/1234/livestream, audio=avatar.ogg, video=, fps=0, audio-level=true, twcc=true
[trace] 2023/03/28 10:55:22.001240 [126462][1000] Set offer {offer v=0
o=- 7392817501431756607 1679972122 IN IP4 0.0.0.0
s=-
t=0 0
a=fingerprint:sha-256 61:27:EB:79:59:86:D6:76:39:0A:AC:11:68:6B:DC:11:33:C9:6F:D7:F0:40:91:FC:71:29:44:65:03:3C:15:49
a=group:BUNDLE 0
m=audio 9 UDP/TLS/RTP/SAVPF 111 9 0 8
c=IN IP4 0.0.0.0
a=setup:actpass
a=mid:0
a=ice-ufrag:VjuPZtqBmoPzUSZP
a=ice-pwd:nzCKhKOKsOGCimMJxLzCTjCrOjeSmeuH
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:111 opus/48000/2
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:4 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=ssrc:3526003795 cname:pion
a=ssrc:3526003795 msid:pion audio
a=ssrc:3526003795 mslabel:pion
a=ssrc:3526003795 label:audio
a=msid:pion audio
a=sendrecv
0xc000171440}
[trace] 2023/03/28 10:55:22.001387 [126462][1000] Request url api=http://192.168.88.178:8088/janus/ with {"janus":"create","transaction":"ipeaoxkhlzii"}
[trace] 2023/03/28 10:55:22.003156 [126462][1000] Response from http://192.168.88.178:8088/janus/ is {"data":{"id":5493304360137365},"janus":"success","transaction":"ipeaoxkhlzii"}
[trace] 2023/03/28 10:55:22.003197 [126462][1000] Parse create sessionID=5493304360137365
[trace] 2023/03/28 10:55:22.003224 [126462][1000] Request url api=http://192.168.88.178:8088/janus/5493304360137365 with {"janus":"attach","opaque_id":"zctdtwpnnqih","plugin":"janus.plugin.videoroom","transaction":"csidqvfknpzr"}
[trace] 2023/03/28 10:55:22.003332 [126462][1000] Polling: Request url api=http://192.168.88.178:8088/janus/5493304360137365?rid=1679972122003&maxev=1
[trace] 2023/03/28 10:55:22.019645 [126462][1000] Response from http://192.168.88.178:8088/janus/5493304360137365 is {"data":{"id":3354791645369246},"janus":"success","session_id":5493304360137365,"transaction":"csidqvfknpzr"}
[trace] 2023/03/28 10:55:22.019712 [126462][1000] Parse create handleID=3354791645369246
[trace] 2023/03/28 10:55:22.020122 [126462][1000] Request url api=http://192.168.88.178:8088/janus/5493304360137365/3354791645369246 with {"janus":"message","transaction":"xywwwepgscdy","body":{"request":"join","ptype":"publisher","room":1234,"display":"livestream"}}
[trace] 2023/03/28 10:55:22.021810 [126462][1000] Polling: Response from http://192.168.88.178:8088/janus/5493304360137365?rid=1679972122003&maxev=1 is {"janus":"event","plugindata":{"data":{"description":"Demo Room","id":1391934482954362,"private_id":389113390,"publishers":[],"room":1234,"videoroom":"joined"},"plugin":"janus.plugin.videoroom"},"sender":3354791645369246,"session_id":5493304360137365,"transaction":"xywwwepgscdy"}
[trace] 2023/03/28 10:55:22.021856 [126462][1000] Polling: Reply tid=xywwwepgscdy ok, {"janus":"event","plugindata":{"data":{"description":"Demo Room","id":1391934482954362,"private_id":389113390,"publishers":[],"room":1234,"videoroom":"joined"},"plugin":"janus.plugin.videoroom"},"sender":3354791645369246,"session_id":5493304360137365,"transaction":"xywwwepgscdy"}
[trace] 2023/03/28 10:55:22.021879 [126462][1000] Polling: Request url api=http://192.168.88.178:8088/janus/5493304360137365?rid=1679972122021&maxev=1
[trace] 2023/03/28 10:55:22.022271 [126462][1000] Response from http://192.168.88.178:8088/janus/5493304360137365/3354791645369246 is {"janus":"ack","session_id":5493304360137365,"transaction":"xywwwepgscdy"}
[trace] 2023/03/28 10:55:22.022354 [126462][1000] Response tid=xywwwepgscdy ack
[trace] 2023/03/28 10:55:22.022445 [126462][1000] Async response tid=xywwwepgscdy, reply={"janus":"event","plugindata":{"data":{"description":"Demo Room","id":1391934482954362,"private_id":389113390,"publishers":[],"room":1234,"videoroom":"joined"},"plugin":"janus.plugin.videoroom"},"sender":3354791645369246,"session_id":5493304360137365,"transaction":"xywwwepgscdy"}
[trace] 2023/03/28 10:55:22.023074 [126462][1000] Join as publisher room=1234, display=livestream, tid=xywwwepgscdy ok, event=event, plugin=joined, id=1391934482954362, private=389113390, publishers=0
[trace] 2023/03/28 10:55:22.023339 [126462][1000] Request url api=http://192.168.88.178:8088/janus/5493304360137365/3354791645369246 with {"janus":"message","transaction":"seyyjdibcopf","body":{"request":"configure","video":true,"audio":true},"jsep":{"type":"offer","sdp":"v=0\r\no=- 7392817501431756607 1679972122 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=fingerprint:sha-256 61:27:EB:79:59:86:D6:76:39:0A:AC:11:68:6B:DC:11:33:C9:6F:D7:F0:40:91:FC:71:29:44:65:03:3C:15:49\r\na=group:BUNDLE 0\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 9 0 8\r\nc=IN IP4 0.0.0.0\r\na=setup:actpass\r\na=mid:0\r\na=ice-ufrag:VjuPZtqBmoPzUSZP\r\na=ice-pwd:nzCKhKOKsOGCimMJxLzCTjCrOjeSmeuH\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:9 G722/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:2 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:4 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=ssrc:3526003795 cname:pion\r\na=ssrc:3526003795 msid:pion audio\r\na=ssrc:3526003795 mslabel:pion\r\na=ssrc:3526003795 label:audio\r\na=msid:pion audio\r\na=sendrecv\r\n"}}
[trace] 2023/03/28 10:55:22.026667 [126462][1000] Response from http://192.168.88.178:8088/janus/5493304360137365/3354791645369246 is {"janus":"ack","session_id":5493304360137365,"transaction":"seyyjdibcopf"}
[trace] 2023/03/28 10:55:22.026689 [126462][1000] Response tid=seyyjdibcopf ack
[trace] 2023/03/28 10:55:22.026743 [126462][1000] Polling: Response from http://192.168.88.178:8088/janus/5493304360137365?rid=1679972122021&maxev=1 is {"janus":"event","jsep":{"sdp":"v=0\r\no=- 7392817501431756607 1679972122 IN IP4 192.168.88.178\r\ns=VideoRoom 1234\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS janus\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111\r\nc=IN IP4 192.168.88.178\r\na=recvonly\r\na=mid:0\r\na=rtcp-mux\r\na=ice-ufrag:92VL\r\na=ice-pwd:/yi94UfnBQ+vnCpw0bp2Sg\r\na=ice-options:trickle\r\na=fingerprint:sha-256 C9:A0:1E:EA:5B:0C:FE:39:FB:12:EF:48:31:20:C6:E4:56:22:2E:5E:B4:47:66:16:B4:4F:03:99:50:18:61:21\r\na=setup:active\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 useinbandfec=1\r\na=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:2 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:4 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=msid:janus janusa0\r\na=ssrc:806311391 cname:janus\r\na=ssrc:806311391 msid:janus janusa0\r\na=ssrc:806311391 mslabel:janus\r\na=ssrc:806311391 label:janusa0\r\na=candidate:1 1 udp 2015363327 192.168.88.178 36221 typ host\r\na=end-of-candidates\r\n","type":"answer"},"plugindata":{"data":{"audio_codec":"opus","configured":"ok","room":1234,"videoroom":"event"},"plugin":"janus.plugin.videoroom"},"sender":3354791645369246,"session_id":5493304360137365,"transaction":"seyyjdibcopf"}
[trace] 2023/03/28 10:55:22.026785 [126462][1000] Polling: Reply tid=seyyjdibcopf ok, {"janus":"event","jsep":{"sdp":"v=0\r\no=- 7392817501431756607 1679972122 IN IP4 192.168.88.178\r\ns=VideoRoom 1234\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS janus\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111\r\nc=IN IP4 192.168.88.178\r\na=recvonly\r\na=mid:0\r\na=rtcp-mux\r\na=ice-ufrag:92VL\r\na=ice-pwd:/yi94UfnBQ+vnCpw0bp2Sg\r\na=ice-options:trickle\r\na=fingerprint:sha-256 C9:A0:1E:EA:5B:0C:FE:39:FB:12:EF:48:31:20:C6:E4:56:22:2E:5E:B4:47:66:16:B4:4F:03:99:50:18:61:21\r\na=setup:active\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 useinbandfec=1\r\na=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:2 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:4 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=msid:janus janusa0\r\na=ssrc:806311391 cname:janus\r\na=ssrc:806311391 msid:janus janusa0\r\na=ssrc:806311391 mslabel:janus\r\na=ssrc:806311391 label:janusa0\r\na=candidate:1 1 udp 2015363327 192.168.88.178 36221 typ host\r\na=end-of-candidates\r\n","type":"answer"},"plugindata":{"data":{"audio_codec":"opus","configured":"ok","room":1234,"videoroom":"event"},"plugin":"janus.plugin.videoroom"},"sender":3354791645369246,"session_id":5493304360137365,"transaction":"seyyjdibcopf"}
[trace] 2023/03/28 10:55:22.026807 [126462][1000] Polling: Request url api=http://192.168.88.178:8088/janus/5493304360137365?rid=1679972122026&maxev=1
[trace] 2023/03/28 10:55:22.026905 [126462][1000] Async response tid=seyyjdibcopf, reply={"janus":"event","jsep":{"sdp":"v=0\r\no=- 7392817501431756607 1679972122 IN IP4 192.168.88.178\r\ns=VideoRoom 1234\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS janus\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111\r\nc=IN IP4 192.168.88.178\r\na=recvonly\r\na=mid:0\r\na=rtcp-mux\r\na=ice-ufrag:92VL\r\na=ice-pwd:/yi94UfnBQ+vnCpw0bp2Sg\r\na=ice-options:trickle\r\na=fingerprint:sha-256 C9:A0:1E:EA:5B:0C:FE:39:FB:12:EF:48:31:20:C6:E4:56:22:2E:5E:B4:47:66:16:B4:4F:03:99:50:18:61:21\r\na=setup:active\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 useinbandfec=1\r\na=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:2 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:4 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=msid:janus janusa0\r\na=ssrc:806311391 cname:janus\r\na=ssrc:806311391 msid:janus janusa0\r\na=ssrc:806311391 mslabel:janus\r\na=ssrc:806311391 label:janusa0\r\na=candidate:1 1 udp 2015363327 192.168.88.178 36221 typ host\r\na=end-of-candidates\r\n","type":"answer"},"plugindata":{"data":{"audio_codec":"opus","configured":"ok","room":1234,"videoroom":"event"},"plugin":"janus.plugin.videoroom"},"sender":3354791645369246,"session_id":5493304360137365,"transaction":"seyyjdibcopf"}
[trace] 2023/03/28 10:55:22.026994 [126462][1000] Configure publisher offer=841B, tid=seyyjdibcopf ok, event=event, plugin=event, answer=909B
[trace] 2023/03/28 10:55:22.027403 [126462][1000] Request url api=http://192.168.88.178:8088/janus/5493304360137365/3354791645369246 with {"janus":"message","transaction":"bpqelhenofgn","body":{"request":"unpublish"}}
[trace] 2023/03/28 10:55:22.028398 [126462][1000] Response from http://192.168.88.178:8088/janus/5493304360137365/3354791645369246 is {"janus":"ack","session_id":5493304360137365,"transaction":"bpqelhenofgn"}
[trace] 2023/03/28 10:55:22.028425 [126462][1000] UnPublish tid=bpqelhenofgn done
[trace] 2023/03/28 10:55:22.028441 [126462][1000] Polling: Response from http://192.168.88.178:8088/janus/5493304360137365?rid=1679972122026&maxev=1 is {"janus":"event","plugindata":{"data":{"room":1234,"unpublished":"ok","videoroom":"event"},"plugin":"janus.plugin.videoroom"},"sender":3354791645369246,"session_id":5493304360137365,"transaction":"bpqelhenofgn"}
[trace] 2023/03/28 10:55:22.028441 [126462][1000] Request url api=http://192.168.88.178:8088/janus/5493304360137365/3354791645369246 with {"janus":"detach","transaction":"embyolycnpms"}
[warn] 2023/03/28 10:55:22.029142 [126462][1000] Polling: Handle call event fail {"janus":"event","plugindata":{"data":{"room":1234,"unpublished":"ok","videoroom":"event"},"plugin":"janus.plugin.videoroom"},"sender":3354791645369246,"session_id":5493304360137365,"transaction":"bpqelhenofgn"}, err json: cannot unmarshal string into Go struct field .plugindata.data.unpublished of type uint64
[trace] 2023/03/28 10:55:22.029156 [126462][1000] Polling: Request url api=http://192.168.88.178:8088/janus/5493304360137365?rid=1679972122029&maxev=1
[trace] 2023/03/28 10:55:22.030274 [126462][1000] Response from http://192.168.88.178:8088/janus/5493304360137365/3354791645369246 is {"janus":"success","session_id":5493304360137365,"transaction":"embyolycnpms"}
[trace] 2023/03/28 10:55:22.030282 [126462][1000] Polling: Response from http://192.168.88.178:8088/janus/5493304360137365?rid=1679972122029&maxev=1 is {"janus":"hangup","reason":"Close PC","sender":3354791645369246,"session_id":5493304360137365}
[warn] 2023/03/28 10:55:22.030315 [126462][1000] Polling: Unknown janus=hangup {"janus":"hangup","reason":"Close PC","sender":3354791645369246,"session_id":5493304360137365}
[trace] 2023/03/28 10:55:22.030328 [126462][1000] Polling: Request url api=http://192.168.88.178:8088/janus/5493304360137365?rid=1679972122030&maxev=1
[trace] 2023/03/28 10:55:22.030286 [126462][1000] Detach tid=embyolycnpms done
[warn] 2023/03/28 10:55:22.030955 Run err unable to start track, codec is not supported by remote
Set answer v=0
o=- 7392817501431756607 1679972122 IN IP4 192.168.88.178
s=VideoRoom 1234
t=0 0
a=group:BUNDLE 0
a=extmap-allow-mixed
a=msid-semantic: WMS janus
m=audio 9 UDP/TLS/RTP/SAVPF 111
c=IN IP4 192.168.88.178
a=recvonly
a=mid:0
a=rtcp-mux
a=ice-ufrag:92VL
a=ice-pwd:/yi94UfnBQ+vnCpw0bp2Sg
a=ice-options:trickle
a=fingerprint:sha-256 C9:A0:1E:EA:5B:0C:FE:39:FB:12:EF:48:31:20:C6:E4:56:22:2E:5E:B4:47:66:16:B4:4F:03:99:50:18:61:21
a=setup:active
a=rtpmap:111 opus/48000/2
a=fmtp:111 useinbandfec=1
a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:4 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=msid:janus janusa0
a=ssrc:806311391 cname:janus
a=ssrc:806311391 msid:janus janusa0
a=ssrc:806311391 mslabel:janus
a=ssrc:806311391 label:janusa0
a=candidate:1 1 udp 2015363327 192.168.88.178 36221 typ host
a=end-of-candidates

github.com/ossrs/srs-bench/janus.startPublish
/home/hmm/work/hjgh/open_media_server/srs-bench-feature-rtc/janus/publisher.go:201
github.com/ossrs/srs-bench/janus.Run.func2
/home/hmm/work/hjgh/open_media_server/srs-bench-feature-rtc/janus/janus.go:185
runtime.goexit
/opt/go/src/runtime/asm_amd64.s:1571
[trace] 2023/03/28 10:55:22.049160 Done

请教下,answer回的音频codec(a=rtpmap:111 opus/48000/2)与offer中的一致,为何还会出现codec is not supported by remote的报错?

@xunlujiehuo
Copy link

楼主遇到这个问题是如何解决的,我现在也遇到这个问题了

@ewan1988
Copy link
Author

sdp中fmtp两边不一致的原因,建议pion库升级到新版本,这个pion库比较旧

@xunlujiehuo
Copy link

楼主能详细说一下如何升级吗,对go不太了解。我的理解有两种一种手动在vendor/github.com/poin手动下载需要的库,第二种是将go.mod,require,和go.sum中的poin的版本升级一下嘛

@xunlujiehuo
Copy link

sdp中fmtp两边不一致的原因,建议pion库升级到新版本,这个pion库比较旧

楼主我将pion/里的十几种库都更新了一遍,报了很多错,有指定需要更新pion的哪几种库吗

1 similar comment
@xunlujiehuo
Copy link

sdp中fmtp两边不一致的原因,建议pion库升级到新版本,这个pion库比较旧

楼主我将pion/里的十几种库都更新了一遍,报了很多错,有指定需要更新pion的哪几种库吗

@xunlujiehuo
Copy link

sdp中fmtp两边不一致的原因,建议pion库升级到新版本,这个pion库比较旧
因为pion里面库比较多,升级没有统一的版本,编译出现比较多的问题

@ewan1988
Copy link
Author

sdp中fmtp两边不一致的原因,建议pion库升级到新版本,这个pion库比较旧
因为pion里面库比较多,升级没有统一的版本,编译出现比较多的问题

go语言不熟悉的话不建议用这个工具,因为有些pion的api用法已经不一样了,更新pion库后需要修改srs_bench源码。

@xunlujiehuo
Copy link

太坑了,可惜已经花了很长时间了,现在能测试了,想再向前辈您请教下,两个问题

  1. -sr -pr 这两种拉流推流, 我写的是 拉流 ./objs/srs_bench -sfu janus -sr webrtc://192.168.0.160:8088/2345/livestream_%d -fps 25 -sn 100 -nn 100 ,然后推流也对于为 ./objs/srs_bench -sfu janus -pr webrtc://192.168.0.160:8088/2345/livestream_%d -sv avatar.h264 -fps 25 -sn 100。 我理解的这个应该是100人的会议,100个推流,以及针对于每个人应该有99个拉流。 但是这和srs-bench的--help中 理解不太一致,向问您我的理解正确吗?
  2. 我只能通过丢包来看会议是否正常,我用网页版入会最多可以打开一百多个网页就是极限了,但是我应该如何保证我大量压测的情况下,janus存在的会议是正常的,特别是测一个会议室能最大容量时候,怎样才能确认会议是正常的。

@xunlujiehuo
Copy link

前辈可以解答一下吗

@xunlujiehuo
Copy link

想有偿购买更改过的版本

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants