pedroSG94 / RootEncoder

RootEncoder for Android (rtmp-rtsp-stream-client-java) is a stream encoder to push video/audio to media servers using protocols RTMP, RTSP, SRT and UDP with all code written in Java/Kotlin
Apache License 2.0
2.54k stars 771 forks source link

Endpoint malformed #108

Closed LutfiTekin closed 6 years ago

LutfiTekin commented 6 years ago

Hello guys, I am trying to use this library for streaming to dacast. And I am getting this error Endpoint malformed, should be: rtmp://ip:port/appname/streamname While I am trying to use it like, rtmp://user:pass@ip:port/appname/streamname

I have tried setAuthorization method for authorization but it doesn't work as well. Fail to connect, time out What should I do?

pedroSG94 commented 6 years ago

Auth is developed to work with Wowza so if it doesn't work with others server that is normal. Dacast server response me this:

[ AccessManager.Reject ] : [ authmod=adobe ] : ?reason=needauth&user=210211&salt=MjA2OTIyMzI5OA==&challenge=OTUwMjY0NjQ5

So I need develop other auth. The problem is that I can't do a stream with ffmpeg to debug the aith method and develop it. Ffmpeg is not working for me with Dacast

LutfiTekin commented 6 years ago

I see, I asked because I have tried user-password in rtmp url with this swift library https://github.com/shogo4405/HaishinKit.swift And it worked, was hoping to see the same thing happen with this lib. Thank you for response. Do you have any recommendation about what should use?

pedroSG94 commented 6 years ago

I'm using adobe auth too. Maybe I can emulate that auth. Can you share me the message produced by this methods?: https://github.com/shogo4405/HaishinKit.swift/blob/master/Sources/RTMP/RTMPConnection.swift#L355 https://github.com/shogo4405/HaishinKit.swift/blob/master/Sources/RTMP/RTMPConnection.swift#L347 And credentials used to know codification?. Also I want know if library use the first line or the second line that I linked you.

LutfiTekin commented 6 years ago

Can you share me the message produced by this methods?

Like this?

line 355 command: rtmp://210211:872262@p.ep303559.i.akamaientrypoint.net/EntryPoint?authmod=adobe&user=210211

line 347 command: rtmp://210211:872262@p.ep303559.i.akamaientrypoint.net/EntryPoint?authmod=adobe&user=210211&challenge=0b8bb43c&response=V7vEHsTgT5N/Pk59snoOFg==

pedroSG94 commented 6 years ago

Yes, thank you. Can you share me all values of description variable in the connection?: https://github.com/shogo4405/HaishinKit.swift/blob/master/Sources/RTMP/RTMPConnection.swift#L337 Try with auth and without auth please.

pedroSG94 commented 6 years ago

Sorry for it. I haven't IPhone or Mac :(

LutfiTekin commented 6 years ago

No worries, I am looking into it now.

LutfiTekin commented 6 years ago

This is what I get with wrong auth 2017-23-12 20:59:41.459 [Info] [com.haishinkit.HaishinKit] [AACEncoder.swift:81] inSourceFormat > nil 2017-23-12 20:59:41.638 [Info] [com.haishinkit.HaishinKit] [VideoIOComponent.swift:35] fps > (fps: 30.0, duration: __C.CMTime(value: 100, timescale: 3000, flags: __C.CMTimeFlags(rawValue: 1), epoch: 0)) line 355 command rtmp://210:2262@p.ep303559.i.akamaientrypoint.net/EntryPoint?authmod=adobe&user=210

LutfiTekin commented 6 years ago

No Auth: 2017-23-12 21:00:46.895 [Info] [com.haishinkit.HaishinKit] [VideoIOComponent.swift:35] fps > (fps: 30.0, duration: __C.CMTime(value: 100, timescale: 3000, flags: __C.CMTimeFlags(rawValue: 1), epoch: 0)) 2017-23-12 21:00:47.452 [Trace] [com.haishinkit.HaishinKit] [NetSocket.swift:91] close(isDisconnected:) > isDisconnected:true 2017-23-12 21:00:47.452 [Warn] [com.haishinkit.HaishinKit] [RTMPConnection.swift:364] on(status:) >

pedroSG94 commented 6 years ago

Auth is fixed! The problem was opaque that look optional in authmode adobe. https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/commit/576208bf55087d1c474c2b5731f0d6a210108cd2 Try with this commit. I can see the stream in the web app of Dacast.

LutfiTekin commented 6 years ago

How can get that commit? I am using gradle

pedroSG94 commented 6 years ago

I will upload to gradle 1 moment. Uploaded. Version 1.2.7

LutfiTekin commented 6 years ago

It worked. Thank you!!! you-are-the-best

pedroSG94 commented 6 years ago

Nice. Issue closed. If you have other question or problem open other issue :)