I slowly gain a little more understanding and that leads to more questions.
My observable issue is that non-infrequently, I will "watch" a stream and get through the preparing,starting,started sequence, but not get any data. The feedback I get from L is that I am not receiving any data. So, what I rebuilt janus_streaming.c with a little more logging to capture calls to janus_streaming_relay_rtp_packet and janus_streaming_relay_rtcp_packet, as well as logging lines that convey that audio and video packets were received.
When I first load my web page and start janus and do a streaming.hangup() I am still receiving a steady flow of video packets. I actually have a use case where I am a little sensitive to bandwidth consumption, and only want those packets to flow from the camera between the streaming "watch" and "stop" commands. My first question is do I have to janus-destroy the mountpoint to stop the data flow from the camera to janus or is there another recommended method through the streaming plugin? (This is independent of the actual problem of I am debugging.)
When I "watch" my stream I see the following in my log. You can see (***) lines where I have a steady flow of incoming video packets, but the "Incoming RTCP bundling, this is audio" keeps repeating and I get no video. There are no "Incoming RTCP bundling, this is video" messages, but my log data in the routine janus_streaming_relay_thread is continuously indicating that I am receiving video packets.
In an instance of running the code that does behave as I expect, I do see "Incoming RTCP bundling, this is video" messages.
I have not dug into the RTP/RTCP protocol, but it seems like janus is expecting RTCP video messages and the camera doesnt think it needs to send any.
I think this (conclusively?) shows there is no data path issue and my problem is somehow related to janus_streaming/camera rtsp combination not being happy.
What inferences should I draw from this and where do I dig deeper? Or have I already made inappropriate inferences?
-brian
[Mon Oct 15 10:06:17 2018] [6493567867251632] The DTLS handshake for the component 1 in stream 1 has been completed
[Mon Oct 15 10:06:17 2018] [6493567867251632] The DTLS handshake has been completed
[Mon Oct 15 10:06:17 2018] [6493567867251632] Telling the plugin about it (JANUS Streaming plugin)
[Mon Oct 15 10:06:17 2018] [janus.plugin.streaming-0x7f0408001b20] WebRTC media is now available
[Mon Oct 15 10:06:17 2018] [6493567867251632] Sending event to transport...
[Mon Oct 15 10:06:17 2018] Sending event to janus.transport.http (0x7f0408001820)
[Mon Oct 15 10:06:17 2018] Got a Janus API event to send (0x7f0408001820)
[Mon Oct 15 10:06:17 2018] >> Pushing event: 0 (Success)
[Mon Oct 15 10:06:17 2018] [6493567867251632] Sending event to transport...; 0x7f0410007040
[Mon Oct 15 10:06:17 2018] Sending event to janus.transport.http (0x7f0408001820)
[Mon Oct 15 10:06:17 2018] Got a Janus API event to send (0x7f0408001820)
[Mon Oct 15 10:06:17 2018] [6493567867251632] DTLS already set up, disabling retransmission timer!
[Mon Oct 15 10:06:17 2018] New connection on REST API: ::ffff:127.0.0.1
[Mon Oct 15 10:06:17 2018] [transports/janus_http.c:janus_http_handler:1150] Got a HTTP GET request on /janus/268031666939034...
[Mon Oct 15 10:06:17 2018] [transports/janus_http.c:janus_http_handler:1151] ... Just parsing headers for now...
[Mon Oct 15 10:06:17 2018] [transports/janus_http.c:janus_http_headers:1739] Accept-Encoding: identity
[Mon Oct 15 10:06:17 2018] [transports/janus_http.c:janus_http_headers:1739] Host:
127.0.0.1:8088[Mon Oct 15 10:06:17 2018] [transports/janus_http.c:janus_http_headers:1739] Connection: close
[Mon Oct 15 10:06:17 2018] [transports/janus_http.c:janus_http_headers:1739] User-Agent: Python-urllib/2.7
[Mon Oct 15 10:06:17 2018] [transports/janus_http.c:janus_http_handler:1183] Processing HTTP GET request on /janus/268031666939034...
[Mon Oct 15 10:06:17 2018] [transports/janus_http.c:janus_http_handler:1236] ... parsing request...
[Mon Oct 15 10:06:17 2018] Session: 268031666939034
[Mon Oct 15 10:06:17 2018] Got a Janus API request from janus.transport.http (0x7f0404000e20)
[Mon Oct 15 10:06:17 2018] Got a keep-alive on session 268031666939034
[Mon Oct 15 10:06:17 2018] Sending Janus API response to janus.transport.http (0x7f0404000e20)
[Mon Oct 15 10:06:17 2018] Got a Janus API response to send (0x7f0404000e20)
[Mon Oct 15 10:06:17 2018] Session 268031666939034 found... returning up to 1 messages
***[Mon Oct 15 10:06:17 2018] Got 1083 bytes on the video channel...
***[Mon Oct 15 10:06:17 2018] Got 1091 bytes on the video channel...
[Mon Oct 15 10:06:17 2018] New connection on REST API: ::ffff:127.0.0.1
[Mon Oct 15 10:06:17 2018] [transports/janus_http.c:janus_http_handler:1150] Got a HTTP GET request on /janus/268031666939034...
[Mon Oct 15 10:06:17 2018] [transports/janus_http.c:janus_http_handler:1151] ... Just parsing headers for now...
[Mon Oct 15 10:06:17 2018] [transports/janus_http.c:janus_http_headers:1739] Accept-Encoding: identity
[Mon Oct 15 10:06:17 2018] [transports/janus_http.c:janus_http_headers:1739] Host:
127.0.0.1:8088[Mon Oct 15 10:06:17 2018] [transports/janus_http.c:janus_http_headers:1739] Connection: close
[Mon Oct 15 10:06:17 2018] [transports/janus_http.c:janus_http_headers:1739] User-Agent: Python-urllib/2.7
[Mon Oct 15 10:06:17 2018] [transports/janus_http.c:janus_http_handler:1183] Processing HTTP GET request on /janus/268031666939034...
[Mon Oct 15 10:06:17 2018] [transports/janus_http.c:janus_http_handler:1236] ... parsing request...
[Mon Oct 15 10:06:17 2018] Session: 268031666939034
[Mon Oct 15 10:06:17 2018] Got a Janus API request from janus.transport.http (0x7f0410008690)
[Mon Oct 15 10:06:17 2018] Got a keep-alive on session 268031666939034
[Mon Oct 15 10:06:17 2018] Sending Janus API response to janus.transport.http (0x7f0410008690)
[Mon Oct 15 10:06:17 2018] Got a Janus API response to send (0x7f0410008690)
[Mon Oct 15 10:06:17 2018] Session 268031666939034 found... returning up to 1 messages
***[Mon Oct 15 10:06:17 2018] Got 1005 bytes on the video channel...
[Mon Oct 15 10:06:17 2018] [6493567867251632] Got an RTCP packet
[Mon Oct 15 10:06:17 2018] [6493567867251632] Incoming RTCP, bundling: this is audio (local SSRC: video=558475374, audio=3287382980, got$
[Mon Oct 15 10:06:17 2018] Parsing compound packet (total of 8 bytes)
[Mon Oct 15 10:06:17 2018] #1 RR (201)
[Mon Oct 15 10:06:17 2018] RTCP PT 201, length: 8 bytes
[Mon Oct 15 10:06:17 2018] End of compound packet
[Mon Oct 15 10:06:17 2018] [6493567867251632] Got audio RTCP (22 bytes)
***[Mon Oct 15 10:06:17 2018] Got 873 bytes on the video channel...