AxisCommunications / locomote-video-player

Media Player in Adobe Flash with RTSP support. (THIS PROJECT IS NO LONGER MAINTAINED)
BSD 3-Clause "New" or "Revised" License
133 stars 79 forks source link

No stream received after successful security check #133

Closed blasmurf closed 9 years ago

blasmurf commented 9 years ago

Hello!

I receive the "API is ready. 'play' can now be called'. I can follow the security file question and response and I don't get any "Security errors" anymore (security is ok). But I get no stream. The 'rtsp'-url from the ip-camera works perfect in VLC running on the same computer, but Locomote shows white page with no errors in debug mode (ctrl+shift+I). I have tried to put in 'mp4'-urls and they work fine. The code for the website is yours (the example), the only change is the rtsp-url.

Any ideas?

Google Chrome is my browser. The same occurs for IE 11 as well.

Thanks in advance.

Br Alexander

noseglid commented 9 years ago

Hello,

If you attach a listener for the log event, do you get any interesting output?

Attach this listener before you call play.

blasmurf commented 9 years ago

Thank you for helping me. Nothing happens. It only says 'stopped' Here's my log:

API is ready. play can now be called flash.html:33 play called. flash.html:57 RTSP OUT:OPTIONS * RTSP/1.0 CSeq: 2 User-Agent: Locomote 0.5.0 flash.html:37 STREAM: stopped, url: rtsp://79.136.11.89:9090/0, protocol:rtsp flash.html:40 PLAYER: 3

noseglid commented 9 years ago

Does the RTSP server support OPTIONS? It appears as the server is closing the connection after a setup. What RTSP server is it?

Perhaps wiresharking the data would give some more insight.

blasmurf commented 9 years ago

Hi again!

Yes, it supports options. I've tried with Wireshark and VLC also sends the options, but it delivers the rtsp-url along with the option call:

VLC: OPTIONS rtsp://79.136.11.89:9090/0 Locomote: OPTIONS * RTSP/1.0

The camera is online on that address.

But you're right, the camera does not respond to Locomote's OPTION, but to VLC's OPTION. Any clues? The camera is online on the address above if you want to debug :)

Thank you for your time.

Br Alexander

noseglid commented 9 years ago

Is the connection terminated by either side efter the OPTION request? Or is it just left "hanging".

As far as I can tell, OPTIONS * RTSP/1.0 is valid according to the rfc (section 10.1).

blasmurf commented 9 years ago

Wireshark doesn't show any answers from the camera after Locomote sends the OPTION. I'll try tomorrow to extend your code with the longer OPTION alternative (like the VLC OPTION, including the rtsp-url) and see how the camera responds.

Thanks for coming back.

Skickat från min Samsung Mobil

-------- Originalmeddelande --------
Från: Alexander Olsson notifications@github.com
Datum:31-03-2015 19:58 (GMT+01:00)
Till: AxisCommunications/locomote-video-player locomote-video-player@noreply.github.com
Kopia: blasmurf a_eisner@hotmail.com
Rubrik: Re: [locomote-video-player] No stream received after successful security check (#133)
Is the connection terminated by either side efter the OPTION request? As far as I can tell, OPTIONS \* RTSP/1.0 is valid according to the rfc (section 10.1). — Reply to this email directly or view it on GitHub.
blasmurf commented 9 years ago

Hi again!

Locomote hangs on the following row: FLVMux.as, on row "pps.decode(sets[1]);", because the array contains only 1 element (sps.decode). If I take away that part of code (for testing), Flash player (in Locomote) says: "Object {message: "Unsupported Audio or Video format: PCMU", code: 831}"

Any ideas why the"pps.decode(sets[1])" is null? Any default settings that can be put instead? The RTSP-code in Wireshark is almost identical now with VLC, which works fine.

Attached below is the wireshark code between Locomote and the camera

Br

Alexander

OPTIONS rtsp://79.136.11.89:9090/0 RTSP/1.0 CSeq: 2 User-Agent: Locomote 0.5.0

RTSP/1.0 200 OK CSeq: 2 Server: Rtsp Server Public: OPTIONS, DESCRIBE, SETUP, PLAY, TEARDOWN, SET_PARAMETER

DESCRIBE rtsp://79.136.11.89:9090/0 RTSP/1.0 CSeq: 3 User-Agent: Locomote 0.5.0 Accept: application/sdp

RTSP/1.0 200 OK Cseq: 3 Server: Rtsp Server 640_480_0*4096 Content-Type: application/sdp Content-length: 350 Content-Base: rtsp://10.0.5.90/0

v=0 o=StreamingServer 3331435948 1116907222000 IN IP4 10.0.5.90 s=h264.mp4 c=IN IP4 0.0.0.0 t=0 0 a=control: m=video 0 RTP/AVP 96 a=control:trackID=0 a=rtpmap:96 H264/90000 a=fmtp:96 packetization-mode=1; sprop-parameter-sets=(null) a=videoinfo:640_480_04096 m=audio 0 RTP/AVP 0 a=control:trackID=1 a=rtpmap:0 PCMU/8000 a=ptime:20

SETUP rtsp://10.0.5.90/0/trackID=1 RTSP/1.0 CSeq: 4 User-Agent: Locomote 0.5.0 Transport: RTP/AVP/TCP;unicast;interleaved=0-1 Date: Wed Apr 1 13:15:03 2015 UTC

RTSP/1.0 200 OK CSeq: 4 Server: Rtsp Server Session: 79867048;timeout=0 Transport: RTP/AVP/TCP;unicast;interleaved=0-1

SETUP rtsp://10.0.5.90/0/trackID=0 RTSP/1.0 CSeq: 5 User-Agent: Locomote 0.5.0 Session: 79867048;timeout=0 Transport: RTP/AVP/TCP;unicast;interleaved=2-3 Date: Wed Apr 1 13:15:03 2015 UTC

RTSP/1.0 200 OK CSeq: 5 Server: Rtsp Server Session: 79867048;timeout=0 Transport: RTP/AVP/TCP;unicast;interleaved=2-3

PLAY rtsp://10.0.5.90/0 RTSP/1.0 CSeq: 6 User-Agent: Locomote 0.5.0 Session: 79867048;timeout=0

RTSP/1.0 200 OK CSeq: 6 Server: Rtsp Server Session: 79867048;timeout=120

noseglid commented 9 years ago

So there is no sprop-parameter-set in that sdp (it's set to (null)). That's weird. I though that was required to be able to configure the decoder. You could try to simply not create the decoder config record tag (comment out line 45-47 in FLXMux.as).

Regarding PCMU, it's not supported by Locomote at the moment. However there's no reason it shouldn't support it. I don't have time to fix it currently, but if you're up for the task, you could take a look at the A-law implementation (which should essentially be the same as the u-Law (PCMU) you have. The code in the FLV file format should be:

8 = G.711 mu-law logarithmic PCM

blasmurf commented 9 years ago

Again, thanks for your effort! Did the changes you said and now get it streaming, but still a white website, no picture. Flash is loaded though, because I can right-click and get flash settings.

I have run a saved clip from camera in "MediaInfo"-program and it says Main@L3.1 so I did the settings to Main Profile and level 3.1

Any clues?

From Chrome:

RTSPClient: STATE_PLAYundefined (index):27 Init already: nullundefined (index):27 Parameters: stes=1, sets[0]=(null)undefined (index):27 FLVMux: stream params = object Object:27 flvmux done.undefined (index):27 Listener adding done.undefined (index):27 Netstream Metadata:(Array)#0 [avclevel] 3.1 [avcprofile] 77 [creationdate] "Wed Apr 8 14:42:56 GMT+0200 2015" [height] 720 [metadatacreator] "Locomote FLV Muxer" [videocodecid] 7 [width] 1280 (index):27 scaling video, scale:0.50 (aspect ratio: 1.78)undefined (index):21 STREAM state:stopped, url: rtsp://79.136.11.89:9090/0, protocol:rtsp. PLAYER buf:4 (index):27 NetStream status:NetStream.Buffer.Full (index):32 stream has started 100(index):21 STREAM state:playing, url: rtsp://79.136.11.89:9090/0, protocol:rtsp. PLAYER buf:4

noseglid commented 9 years ago

Are the sequence parameter set (nal type 7) and/or picture parameter set (nal type 8) sent as RTP packages in your stream?

noseglid commented 9 years ago

Closing due to no response

blasmurf commented 9 years ago

Hello!

Sorry for no response.

I bought myself a new camera and your"Locomote" works like a charm!

Thank you!

Br

Alexander

Skickat från min Samsung Mobil

-------- Originalmeddelande --------
Från: Alexander Olsson
Datum:08-05-2015 13:54 (GMT+01:00)
Till: AxisCommunications/locomote-video-player
Kopia: blasmurf
Rubrik: Re: [locomote-video-player] No stream received after successful security check (#133)

Closing due to no response


Reply to this email directly or view it on GitHub: https://github.com/AxisCommunications/locomote-video-player/issues/133#issuecomment-100209289

noseglid commented 9 years ago

Good to hear, altough unfortunate you had to spend the money :)