Code Monkey home page Code Monkey logo

mediasoupbin's Introduction

Vittorio Palmisano

PhD, full stack developer. More than 10y experience in developing and testing multimedia streaming and video conference applications using open standards.

GitHub Twitter Linkedin Medium

mediasoupbin's People

Contributors

vpalmisano avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

mediasoupbin's Issues

Simulcast?

Hi there,

It seems from this thread that you were looking into simulcast with gstreamer, is this something you could explain how to do with mediasoupbin?

Thanks!

A high latency when use rtmpsink

Command is here.

gst-launch-1.0 mediasoupbin_py name=ms \
    server-url="https://localhost:4443/rooms/$room" local-ip=127.0.0.1 \
    ms. ! "video/x-raw,producer-id=$video" ! videoconvert ! x264enc ! mux. \
    ms. ! "audio/x-raw,producer-id=$audio" ! audioconvert ! avenc_aac compliance=experimental ! aacparse ! mux. \
    flvmux name=mux ! rtmpsink location=rtmp://localhost/camera/nmfybp8wemnrarcj-db6ca6f2-a138-42b8-b091-304c788fb0b7

It has a high latency (about 7s). Could you please give me some advice to adjust the arguments?

RTMP Server: nginx-rtmp-module

resumeBroadcasterConsumer function error

Hello!
I am trying to use this plugin to make a recording. I am getting an error
400 Client Error: req.room.resumeBroadcasterConsumer is not a function for url: https://smth.com:4443/rooms/test/broadcasters/broadcasterID/transports/transportID/resume

I am using the mediasoupbin branch of mediasoup-demo:
https://github.com/vpalmisano/mediasoup-demo/tree/mediasoupbin

Appears that Room.js needs a resumeBroadcasterConsumer function. However the only place I see it being mentioned is in the server.js file and I cannot see it in Room.js file:
https://github.com/vpalmisano/mediasoup-demo/blob/mediasoupbin/server/lib/Room.js

Did I miss something or there is a different version of Room.js somewhere?

can i consume a stream if my client is behind nat

Thanks for your reply ,
i changed local-ip to my public-ip but i am behind a (Router) NAT and my router is behind a career grade NAT .I am trying to consume the stream on a local PC in a network .

File pbin.py", line 187, in on_pad_linked
recv_rtp_socket.bind(rtp_socket_address, False)
GLib.Error: g-io-error-quark: Error binding to address: Cannot assign requested address (0)

Originally posted by @USAMAWIZARD in #10 (comment)

cannot consume video after hosting on aws server

i am using mediasoupbin to receive video stream in gstreamer.
every thing works fine on local environment but i cannot receive video after hosting it on aws. I can receive the same video stream in the browser with mediasoup apis. There are no errors in logs it shows pipline is playing but does not display the video stream.
pipeline is something like this

gst-launch-1.0 mediasoupbin_py name=ms server-url="http://myawspublicIP:port/myapi" server-ip=awspublicip local-ip=127.0.0.1 \ ms. ! "video/x-raw,producer-id=<video producer id>" ! autovideosink sync=false
gstreamer mediasoupbin_py logs
`

0:00:00.187206324 14251 0x55cab179f790 INFO python mediasoupbin.py:113:do_request_new_pad: ms do_request_new_pad name_template=video_src direction=1 name=None caps=None
INFO:Signaling:init serverUrl=http://awspublicip:3000/rtpCapabilities broadcasterId=b99185189
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): awspublicip
DEBUG:urllib3.connectionpool:http://awspublicip:3000 "GET /rtpCapabilities HTTP/1.1" 200 2524
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): awspublicip
DEBUG:urllib3.connectionpool:http://awspublicip:3000 "POST /rtpCapabilities/broadcasters HTTP/1.1" 200 12
INFO:Signaling:room: {'peers': []}
0:00:00.986101772 14251 0x55cab179f790 INFO python mediasoupbin.py:182:on_pad_linked: video_src on_pad_linked video/x-raw, producer-id=(string)f6be70e3-2c02-40c8-944a-8f3a879b7f6c
INFO:MediaSoup:consume {'producerId': 'f6be70e3-2c02-40c8-944a-8f3a879b7f6c', 'local_ip': '192.168.0.105', 'local_rtpPort': 46002, 'local_rtcpPort': 51955}
INFO:Signaling:request createPlainRtpTransport
INFO:Signaling:do_createPlainRtpTransport {'type': 'plain', 'comedia': False, 'rtcpMux': False, 'enableSctp': False, 'appData': {}}
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): awspublicip
DEBUG:urllib3.connectionpool:http://awspublicip:3000 "POST /rtpCapabilities/broadcasters/b99185189/transports HTTP/1.1" 200 96
INFO:MediaSoup:consume createPlainRtpTransport {'id': '84da2c18-eae4-42c3-8618-5154638e1a1a', 'ip': 'awspublicip', 'port': 12881, 'rtcpPort': 31354}
INFO:Signaling:request plainRtpTransportConnect
INFO:Signaling:do_plainRtpTransportConnect {'transportId': '84da2c18-eae4-42c3-8618-5154638e1a1a', 'ip': '192.168.0.105', 'port': 46002, 'rtcpPort': 51955}
INFO:Signaling:do_transportProduce {'transportId': '84da2c18-eae4-42c3-8618-5154638e1a1a', 'ip': '192.168.0.105', 'port': 46002, 'rtcpPort': 51955}
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): awspublicip
DEBUG:urllib3.connectionpool:http://awspublicip:3000 "POST /rtpCapabilities/broadcasters/b99185189/transports/84da2c18-eae4-42c3-8618-5154638e1a1a/connect HTTP/1.1" 200 2
INFO:MediaSoup:consume plainRtpTransportConnect {}
INFO:Signaling:request transportConsume
INFO:Signaling:do_transportConsume {'producerId': 'f6be70e3-2c02-40c8-944a-8f3a879b7f6c', 'transportId': '84da2c18-eae4-42c3-8618-5154638e1a1a', 'paused': True, 'rtpCapabilities': {'codecs': [{'mimeType': 'audio/opus', 'clockRate': 48000, 'kind': 'audio', 'preferredPayloadType': 100, 'channels': 2, 'parameters': {'useinbandfec': 1}, 'rtcpFeedback': []}, {'mimeType': 'video/VP8', 'clockRate': 90000, 'kind': 'video', 'preferredPayloadType': 101, 'parameters': {}, 'rtcpFeedback': [{'type': 'nack'}]}, {'mimeType': 'video/VP9', 'clockRate': 90000, 'kind': 'video', 'preferredPayloadType': 103, 'parameters': {}, 'rtcpFeedback': [{'type': 'nack'}]}, {'mimeType': 'video/H264', 'clockRate': 90000, 'kind': 'video', 'preferredPayloadType': 107, 'parameters': {'packetization-mode': 1, 'profile-level-id': '42e01f', 'level-asymmetry-allowed': 1}, 'rtcpFeedback': [{'type': 'nack'}]}, {'mimeType': 'video/H265', 'clockRate': 90000, 'kind': 'video', 'preferredPayloadType': 109, 'parameters': {}, 'rtcpFeedback': [{'type': 'nack'}]}]}}
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): awspublicip
DEBUG:urllib3.connectionpool:http://awspublicip:3000 "POST /rtpCapabilities/broadcasters/b99185189/transports/84da2c18-eae4-42c3-8618-5154638e1a1a/consume HTTP/1.1" 200 492
INFO:MediaSoup:consume transportConsume {'id': 'c5940dd8-c45e-48cc-a73c-d6cedb9a278d', 'producerId': 'f6be70e3-2c02-40c8-944a-8f3a879b7f6c', 'kind': 'video', 'rtpParameters': {'codecs': [{'mimeType': 'video/H264', 'payloadType': 107, 'clockRate': 90000, 'parameters': {'level-asymmetry-allowed': 1, 'packetization-mode': 1, 'profile-level-id': '42e01f'}, 'rtcpFeedback': [{'type': 'nack', 'parameter': ''}]}], 'headerExtensions': [], 'encodings': [{'ssrc': 748690711}], 'rtcp': {'cname': '1EsjQPgz4AhigNmd', 'reducedSize': True, 'mux': True}, 'mid': '0'}, 'type': 'simple'}
INFO:Signaling:on producer:remove
0:00:02.186461115 14251 0x55cab179f790 INFO python mediasoupbin.py:280:_consume_done: ms _consume_done {'producerId': 'f6be70e3-2c02-40c8-944a-8f3a879b7f6c', 'local_ip': '192.168.0.105', 'local_rtpPort': 46002, 'local_rtcpPort': 51955, 'transportId': '84da2c18-eae4-42c3-8618-5154638e1a1a', 'ip': 'awspublicip', 'rtpPort': 12881, 'rtcpPort': 31354, 'sctpParameters': None, 'kind': 'video', 'consumerId': 'c5940dd8-c45e-48cc-a73c-d6cedb9a278d', 'encoding_name': 'H264', 'codec': 'h264', 'clockRate': 90000, 'pt': 107, 'ssrc': 748690711}
0:00:02.186581839 14251 0x55cab179f790 DEBUG python mediasoupbin.py:283:_consume_done: ms _produce_done desc=
rtpbin name=rtpbin latency=200 rtp-profile=avpf do-retransmission=true

udpsrc name=rtp_udpsrc caps=application/x-rtp,media=video,clock-rate=90000,encoding-name=H264,payload=107
! rtpbin.recv_rtp_sink_0

rtpbin.
! rtph264depay
! avdec_h264 name=sink

rtpbin.send_rtcp_src_0
! udpsink name=rtcp_udpsink host=awspublicip port=31354 sync=false async=false

udpsrc name=rtcp_udpsrc
! rtpbin.recv_rtcp_sink_0

INFO:MediaSoup:resumeConsumer 84da2c18-eae4-42c3-8618-5154638e1a1a c5940dd8-c45e-48cc-a73c-d6cedb9a278d
INFO:Signaling:request consumerResume
INFO:Signaling:do_consumerResume {'transportId': '84da2c18-eae4-42c3-8618-5154638e1a1a', 'consumerId': 'c5940dd8-c45e-48cc-a73c-d6cedb9a278d'}
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): awspublicip
DEBUG:urllib3.connectionpool:http://awspublicip:3000 "POST /rtpCapabilities/broadcasters/b99185189/transports/84da2c18-eae4-42c3-8618-5154638e1a1a/resume HTTP/1.1" 200 0
0:00:02.657270560 14251 0x55cab179f790 INFO python mediasoupbin.py:306:_resume_consumer_done: ms _resume_consumer_done
Setting pipeline to PAUSED ...
0:00:02.661493520 14251 0x55cab179f790 DEBUG python mediasoupbin.py:208:do_state_changed: ms do_state_changed oldstate= newstate= pending=
0:00:02.661763232 14251 0x55cab179f790 DEBUG python mediasoupbin.py:208:do_state_changed: ms do_state_changed oldstate= newstate= pending=
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
0:00:02.662921946 14251 0x55cab179f790 DEBUG python mediasoupbin.py:208:do_state_changed: ms do_state_changed oldstate= newstate= pending=
New clock: GstSystemClock

`

Use from C?

Is it possible to use this w/ custom signalling from C?

Record using mediasoupbin

How can i record my meeting using this GStreamer plugin ?

I have tried this, but it is creating 0 sized file: ! x264enc ! mp4mux ! filesink location=/home/ugpu/video.mp4

Tried the consumer recipe without success

Shows up as broadcaster b96649519 but I do not see any autosink video. Do you see anything obvious from the output below that does not look right to you ?

Alienware15:$ curl -k "https://localhost:4443/rooms/stkg8wkz/broadcasters" | jq
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 311 100 311 0 0 51833 0 --:--:-- --:--:-- --:--:-- 51833
{
"peers": [
{
"id": "jy0z2es8",
"displayName": "Noctowl",
"device": {
"flag": "chrome",
"name": "Chrome",
"version": "78.0.3904.108"
},
"producers": [
{
"id": "21c5a93f-5a2b-4909-b3f0-0c9dd59670a0",
"type": "simple",
"kind": "audio"
},
{
"id": "062aea06-1f0c-45d6-9600-4f6e87f7cc8f",
"type": "simulcast",
"kind": "video"
}
]
}
],
"broadcasters": []
}

Alienware15:$ gst-launch-1.0 mediasoupbin_py name=ms server-url="https://localhost:4443/rooms/stkg8wkz" local-ip=127.0.0.1 ms. ! "video/x-raw,producer-id=062aea06-1f0c-45d6-9600-4f6e87f7cc8f" ! autovideosink sync=false ms. ! "audio/x-raw,producer-id=21c5a93f-5a2b-4909-b3f0-0c9dd59670a0" ! autoaudiosink sync=false
0:00:00.169872581 18300 0x556b17d7ecf0 INFO python mediasoupbin.py:113:do_request_new_pad: ms do_request_new_pad name_template=video_src direction=1 name=None caps=None
INFO:Signaling:init serverUrl=https://localhost:4443/rooms/stkg8wkz broadcasterId=b35499608
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): localhost:4443
/usr/lib/python3/dist-packages/urllib3/connectionpool.py:849: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://localhost:4443 "GET /rooms/stkg8wkz HTTP/1.1" 200 3801
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): localhost:4443
/usr/lib/python3/dist-packages/urllib3/connectionpool.py:849: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://localhost:4443 "POST /rooms/stkg8wkz/broadcasters HTTP/1.1" 200 12
INFO:Signaling:room: {'peers': []}
0:00:00.182360828 18300 0x556b17d7ecf0 INFO python mediasoupbin.py:182:on_pad_linked: video_src on_pad_linked video/x-raw, producer-id=(string)062aea06-1f0c-45d6-9600-4f6e87f7cc8f
INFO:MediaSoup:consume {'producerId': '062aea06-1f0c-45d6-9600-4f6e87f7cc8f', 'local_ip': '127.0.0.1', 'local_rtpPort': 53395, 'local_rtcpPort': 36605}
INFO:Signaling:request createPlainRtpTransport
INFO:Signaling:do_createPlainRtpTransport {'type': 'plain', 'comedia': False, 'rtcpMux': False, 'enableSctp': False, 'appData': {}}
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): localhost:4443
/usr/lib/python3/dist-packages/urllib3/connectionpool.py:849: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://localhost:4443 "POST /rooms/stkg8wkz/broadcasters/b35499608/transports HTTP/1.1" 200 92
INFO:MediaSoup:consume createPlainRtpTransport {'id': '03f8ad09-761e-4209-8ba6-38cc70f040a1', 'ip': '127.0.0.1', 'port': 49349, 'rtcpPort': 43887}
INFO:Signaling:request plainRtpTransportConnect
INFO:Signaling:do_plainRtpTransportConnect {'transportId': '03f8ad09-761e-4209-8ba6-38cc70f040a1', 'ip': '127.0.0.1', 'port': 53395, 'rtcpPort': 36605}
INFO:Signaling:do_transportProduce {'transportId': '03f8ad09-761e-4209-8ba6-38cc70f040a1', 'ip': '127.0.0.1', 'port': 53395, 'rtcpPort': 36605}
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): localhost:4443
/usr/lib/python3/dist-packages/urllib3/connectionpool.py:849: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://localhost:4443 "POST /rooms/stkg8wkz/broadcasters/b35499608/transports/03f8ad09-761e-4209-8ba6-38cc70f040a1/connect HTTP/1.1" 200 0
INFO:MediaSoup:consume plainRtpTransportConnect {}
INFO:Signaling:request transportConsume
INFO:Signaling:do_transportConsume {'producerId': '062aea06-1f0c-45d6-9600-4f6e87f7cc8f', 'transportId': '03f8ad09-761e-4209-8ba6-38cc70f040a1', 'paused': True, 'rtpCapabilities': {'codecs': [{'mimeType': 'audio/opus', 'clockRate': 48000, 'kind': 'audio', 'preferredPayloadType': 100, 'channels': 2, 'parameters': {'useinbandfec': 1}, 'rtcpFeedback': []}, {'mimeType': 'video/VP8', 'clockRate': 90000, 'kind': 'video', 'preferredPayloadType': 101, 'parameters': {}, 'rtcpFeedback': [{'type': 'nack'}]}, {'mimeType': 'video/VP9', 'clockRate': 90000, 'kind': 'video', 'preferredPayloadType': 103, 'parameters': {}, 'rtcpFeedback': [{'type': 'nack'}]}, {'mimeType': 'video/H264', 'clockRate': 90000, 'kind': 'video', 'preferredPayloadType': 107, 'parameters': {'packetization-mode': 1, 'profile-level-id': '42e01f', 'level-asymmetry-allowed': 1}, 'rtcpFeedback': [{'type': 'nack'}]}, {'mimeType': 'video/H265', 'clockRate': 90000, 'kind': 'video', 'preferredPayloadType': 109, 'parameters': {}, 'rtcpFeedback': [{'type': 'nack'}]}]}}
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): localhost:4443
/usr/lib/python3/dist-packages/urllib3/connectionpool.py:849: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://localhost:4443 "POST /rooms/stkg8wkz/broadcasters/b35499608/transports/03f8ad09-761e-4209-8ba6-38cc70f040a1/consume HTTP/1.1" 200 416
INFO:MediaSoup:consume transportConsume {'id': '57f1fcb7-38a0-448d-b508-58af83c8cb73', 'producerId': '062aea06-1f0c-45d6-9600-4f6e87f7cc8f', 'kind': 'video', 'rtpParameters': {'codecs': [{'mimeType': 'video/VP8', 'clockRate': 90000, 'payloadType': 101, 'rtcpFeedback': [{'type': 'nack'}], 'parameters': {}}], 'headerExtensions': [], 'encodings': [{'ssrc': 127822797, 'scalabilityMode': 'S3T3'}], 'rtcp': {'cname': 'U7OTqKk32cwwWzTE', 'reducedSize': True, 'mux': True}}, 'type': 'simulcast'}
INFO:Signaling:on producer:remove
0:00:00.207717878 18300 0x556b17d7ecf0 INFO python mediasoupbin.py:280:_consume_done: ms _consume_done {'producerId': '062aea06-1f0c-45d6-9600-4f6e87f7cc8f', 'local_ip': '127.0.0.1', 'local_rtpPort': 53395, 'local_rtcpPort': 36605, 'transportId': '03f8ad09-761e-4209-8ba6-38cc70f040a1', 'ip': '127.0.0.1', 'rtpPort': 49349, 'rtcpPort': 43887, 'sctpParameters': None, 'kind': 'video', 'consumerId': '57f1fcb7-38a0-448d-b508-58af83c8cb73', 'encoding_name': 'VP8', 'codec': 'vp8', 'clockRate': 90000, 'pt': 101, 'ssrc': 127822797}
0:00:00.207748382 18300 0x556b17d7ecf0 DEBUG python mediasoupbin.py:283:_consume_done: ms _produce_done desc=
rtpbin name=rtpbin latency=200 rtp-profile=avpf do-retransmission=true

udpsrc name=rtp_udpsrc caps=application/x-rtp,media=video,clock-rate=90000,encoding-name=VP8,payload=101
! rtpbin.recv_rtp_sink_0

rtpbin.
! rtpvp8depay
! vp8dec name=sink

rtpbin.send_rtcp_src_0
! udpsink name=rtcp_udpsink host=127.0.0.1 port=43887 sync=false async=false

udpsrc name=rtcp_udpsrc
! rtpbin.recv_rtcp_sink_0

INFO:MediaSoup:resumeConsumer 03f8ad09-761e-4209-8ba6-38cc70f040a1 57f1fcb7-38a0-448d-b508-58af83c8cb73
INFO:Signaling:request consumerResume
INFO:Signaling:do_consumerResume {'transportId': '03f8ad09-761e-4209-8ba6-38cc70f040a1', 'consumerId': '57f1fcb7-38a0-448d-b508-58af83c8cb73'}
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): localhost:4443
/usr/lib/python3/dist-packages/urllib3/connectionpool.py:849: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://localhost:4443 "POST /rooms/stkg8wkz/broadcasters/b35499608/transports/03f8ad09-761e-4209-8ba6-38cc70f040a1/resume HTTP/1.1" 200 0
0:00:00.219179381 18300 0x556b17d7ecf0 INFO python mediasoupbin.py:306:_resume_consumer_done: ms _resume_consumer_done
0:00:00.219430739 18300 0x556b17d7ecf0 INFO python mediasoupbin.py:113:do_request_new_pad: ms do_request_new_pad name_template=audio_src direction=1 name=None caps=None
0:00:00.219581182 18300 0x556b17d7ecf0 INFO python mediasoupbin.py:182:on_pad_linked: audio_src on_pad_linked audio/x-raw, producer-id=(string)21c5a93f-5a2b-4909-b3f0-0c9dd59670a0
INFO:MediaSoup:consume {'producerId': '21c5a93f-5a2b-4909-b3f0-0c9dd59670a0', 'local_ip': '127.0.0.1', 'local_rtpPort': 34624, 'local_rtcpPort': 36449}
INFO:Signaling:request createPlainRtpTransport
INFO:Signaling:do_createPlainRtpTransport {'type': 'plain', 'comedia': False, 'rtcpMux': False, 'enableSctp': False, 'appData': {}}
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): localhost:4443
/usr/lib/python3/dist-packages/urllib3/connectionpool.py:849: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://localhost:4443 "POST /rooms/stkg8wkz/broadcasters/b35499608/transports HTTP/1.1" 200 92
INFO:MediaSoup:consume createPlainRtpTransport {'id': 'c5cb4618-53b5-46c4-b6e7-17eaa6d04018', 'ip': '127.0.0.1', 'port': 48929, 'rtcpPort': 46731}
INFO:Signaling:request plainRtpTransportConnect
INFO:Signaling:do_plainRtpTransportConnect {'transportId': 'c5cb4618-53b5-46c4-b6e7-17eaa6d04018', 'ip': '127.0.0.1', 'port': 34624, 'rtcpPort': 36449}
INFO:Signaling:do_transportProduce {'transportId': 'c5cb4618-53b5-46c4-b6e7-17eaa6d04018', 'ip': '127.0.0.1', 'port': 34624, 'rtcpPort': 36449}
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): localhost:4443
/usr/lib/python3/dist-packages/urllib3/connectionpool.py:849: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://localhost:4443 "POST /rooms/stkg8wkz/broadcasters/b35499608/transports/c5cb4618-53b5-46c4-b6e7-17eaa6d04018/connect HTTP/1.1" 200 0
INFO:MediaSoup:consume plainRtpTransportConnect {}
INFO:Signaling:request transportConsume
INFO:Signaling:do_transportConsume {'producerId': '21c5a93f-5a2b-4909-b3f0-0c9dd59670a0', 'transportId': 'c5cb4618-53b5-46c4-b6e7-17eaa6d04018', 'paused': True, 'rtpCapabilities': {'codecs': [{'mimeType': 'audio/opus', 'clockRate': 48000, 'kind': 'audio', 'preferredPayloadType': 100, 'channels': 2, 'parameters': {'useinbandfec': 1}, 'rtcpFeedback': []}, {'mimeType': 'video/VP8', 'clockRate': 90000, 'kind': 'video', 'preferredPayloadType': 101, 'parameters': {}, 'rtcpFeedback': [{'type': 'nack'}]}, {'mimeType': 'video/VP9', 'clockRate': 90000, 'kind': 'video', 'preferredPayloadType': 103, 'parameters': {}, 'rtcpFeedback': [{'type': 'nack'}]}, {'mimeType': 'video/H264', 'clockRate': 90000, 'kind': 'video', 'preferredPayloadType': 107, 'parameters': {'packetization-mode': 1, 'profile-level-id': '42e01f', 'level-asymmetry-allowed': 1}, 'rtcpFeedback': [{'type': 'nack'}]}, {'mimeType': 'video/H265', 'clockRate': 90000, 'kind': 'video', 'preferredPayloadType': 109, 'parameters': {}, 'rtcpFeedback': [{'type': 'nack'}]}]}}
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): localhost:4443
/usr/lib/python3/dist-packages/urllib3/connectionpool.py:849: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://localhost:4443 "POST /rooms/stkg8wkz/broadcasters/b35499608/transports/c5cb4618-53b5-46c4-b6e7-17eaa6d04018/consume HTTP/1.1" 200 445
INFO:MediaSoup:consume transportConsume {'id': '89752306-198d-4af0-b992-f66d120affbd', 'producerId': '21c5a93f-5a2b-4909-b3f0-0c9dd59670a0', 'kind': 'audio', 'rtpParameters': {'codecs': [{'mimeType': 'audio/opus', 'clockRate': 48000, 'payloadType': 100, 'channels': 2, 'rtcpFeedback': [], 'parameters': {'minptime': 10, 'useinbandfec': 1, 'sprop-stereo': 1, 'usedtx': 1}}], 'headerExtensions': [], 'encodings': [{'ssrc': 788399308}], 'rtcp': {'cname': 'U7OTqKk32cwwWzTE', 'reducedSize': True, 'mux': True}}, 'type': 'simple'}
INFO:Signaling:on producer:remove
0:00:00.237724827 18300 0x556b17d7ecf0 INFO python mediasoupbin.py:280:_consume_done: ms _consume_done {'producerId': '21c5a93f-5a2b-4909-b3f0-0c9dd59670a0', 'local_ip': '127.0.0.1', 'local_rtpPort': 34624, 'local_rtcpPort': 36449, 'transportId': 'c5cb4618-53b5-46c4-b6e7-17eaa6d04018', 'ip': '127.0.0.1', 'rtpPort': 48929, 'rtcpPort': 46731, 'sctpParameters': None, 'kind': 'audio', 'consumerId': '89752306-198d-4af0-b992-f66d120affbd', 'encoding_name': 'OPUS', 'codec': 'opus', 'clockRate': 48000, 'pt': 100, 'ssrc': 788399308, 'channels': 2}
0:00:00.237759583 18300 0x556b17d7ecf0 DEBUG python mediasoupbin.py:283:_consume_done: ms _produce_done desc=
rtpbin name=rtpbin latency=200 rtp-profile=avpf do-retransmission=true

udpsrc name=rtp_udpsrc caps=application/x-rtp,media=audio,clock-rate=48000,encoding-name=OPUS,payload=100
! rtpbin.recv_rtp_sink_0

rtpbin.
! rtpopusdepay
! opusdec name=sink

rtpbin.send_rtcp_src_0
! udpsink name=rtcp_udpsink host=127.0.0.1 port=46731 sync=false async=false

udpsrc name=rtcp_udpsrc
! rtpbin.recv_rtcp_sink_0

INFO:MediaSoup:resumeConsumer c5cb4618-53b5-46c4-b6e7-17eaa6d04018 89752306-198d-4af0-b992-f66d120affbd
INFO:Signaling:request consumerResume
INFO:Signaling:do_consumerResume {'transportId': 'c5cb4618-53b5-46c4-b6e7-17eaa6d04018', 'consumerId': '89752306-198d-4af0-b992-f66d120affbd'}
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): localhost:4443
/usr/lib/python3/dist-packages/urllib3/connectionpool.py:849: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
DEBUG:urllib3.connectionpool:https://localhost:4443 "POST /rooms/stkg8wkz/broadcasters/b35499608/transports/c5cb4618-53b5-46c4-b6e7-17eaa6d04018/resume HTTP/1.1" 200 0
0:00:00.245596983 18300 0x556b17d7ecf0 INFO python mediasoupbin.py:306:_resume_consumer_done: ms _resume_consumer_done
Setting pipeline to PAUSED ...
0:00:00.254954966 18300 0x556b17d7ecf0 WARN vaapi gstvaapiutils.c:77:gst_vaapi_warning: va_getDriverName() failed with unknown libva error,driver_name=(null)
0:00:00.258471423 18300 0x556b17d7ecf0 WARN vaapi gstvaapiutils.c:77:gst_vaapi_warning: va_getDriverName() failed with unknown libva error,driver_name=(null)
0:00:00.263011334 18300 0x556b17d7ecf0 DEBUG python mediasoupbin.py:208:do_state_changed: ms do_state_changed oldstate= newstate= pending=
0:00:00.263428512 18300 0x556b17d7ecf0 DEBUG python mediasoupbin.py:208:do_state_changed: ms do_state_changed oldstate= newstate= pending=
Pipeline is live and does not need PREROLL ...
Got context from element 'autovideosink0-actual-sink-vaapi': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"(GstVaapiDisplayDRM)\ vaapidisplaydrm2";
Setting pipeline to PLAYING ...
0:00:00.265395090 18300 0x556b17d7ecf0 DEBUG python mediasoupbin.py:208:do_state_changed: ms do_state_changed oldstate= newstate= pending=
New clock: GstSystemClock
Redistribute latency...
0:00:00.640661009 18300 0x7f9c08001aa0 WARN pulse pulsesink.c:702:gst_pulsering_stream_underflow_cb: Got underflow
0:00:02.374775328 18300 0x7f9bf4004a30 WARN rtpsession rtpsession.c:3679:session_nack: Removing 1 expired NACKS
0:00:02.596136278 18300 0x7f9bf8003400 WARN rtpsession rtpsession.c:3679:session_nack: Removing 1 expired NACKS

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.