https://www.wowza.com/docs/how-to-push-streams-to-cdns-and-other-services-push-publishing
Hi I am trying to use this AddOn to publish to BitGravity with my custom module.
Seems it works but I have doubts about some lines in the logs. Please, have a look.
Does the PingResult.onResult should return false? Is it ok?
I tried the same code with my local WMS and there was true result on the ping and with WMS I had the only ping line in the logs.
Here is the logs when connecting to Bitgravity
[PHP]
INFO server comment - PushPublisher#IdleHandler.create
INFO server comment - PushPublisher.addSession: {[0]: 1028147850 }
INFO server comment - PushPublisher.sessionOpened:
INFO server comment - PushPublisher.callConnect[rtmp://rtp1.cdg1.bitgravity.com:1935/rtmp/push/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/live/feed01]: rtmp/push
INFO server comment - PushPublisher#ConnectResult.connect[rtmp://rtp1.cdg1.bitgravity.com:1935/rtmp/push/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/live/feed01]: result: NetConnection.Connect.Success description:Connection succeeded.
INFO server comment - PushPublisher#StreamCreateResult.onResult[rtmp://rtp1.cdg1.bitgravity.com:1935/rtmp/push/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/live/feed01]: publishStream: com.wowza.wms.stream.MediaStreamVODTest@1e883644
INFO server comment - PushPublisher#StreamOnStatus.onCallback[rtmp://rtp1.cdg1.bitgravity.com:1935/rtmp/push/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/live/feed01]: NetStream.Publish.Start
INFO server comment - PushPublisher#IdleHandler.onIdle: validate
INFO server comment - PushPublisher#PingResult.onResult: false
INFO server comment - PushPublisher: ping OK
INFO server comment - PushPublisher#IdleHandler.onIdle: validate
INFO server comment - PushPublisher#PingResult.onResult: false
INFO server comment - PushPublisher: ping OK
INFO server comment - PushPublisher#IdleHandler.onIdle: validate
INFO server comment - PushPublisher#PingResult.onResult: false
INFO server comment - PushPublisher: ping OK
INFO server comment - PushPublisher#IdleHandler.onIdle: validate
INFO server comment - PushPublisher#PingResult.onResult: false
INFO server comment - PushPublisher: ping OK
INFO server comment - PushPublisher#IdleHandler.onIdle: validate
INFO server comment - PushPublisher#PingResult.onResult: false
INFO server comment - PushPublisher: ping OK
INFO server comment - PushPublisher#IdleHandler.onIdle: validate
INFO server comment - PushPublisher#PingResult.onResult: false
INFO server comment - PushPublisher: ping OK
[/PHP]
Here is the log of local connection to the same WMS
[PHP]
INFO stream create - -
INFO stream publish test -
INFO server comment - PushPublisher#IdleHandler.create
INFO server comment - PushPublisher.addSession: {[0]: 900532540 }
INFO server comment - PushPublisher.sessionOpened:
INFO server comment - PushPublisher.callConnect[rtmp://localhost:1935/rtmp/push/test]: rtmp/push
INFO application app-start push rtmp/push
INFO session connect-pending 127.0.0.1 -
INFO session connect 127.0.0.1 -
INFO server comment - PushPublisher#ConnectResult.connect[rtmp://localhost:1935/rtmp/push/test]: result: NetConnection.Connect.Success description:Connection succeeded.
INFO stream create - -
PushPublisher#StreamCreateResult.onResult[rtmp://localhost:1935/rtmp/push/test]: publishStream: com.wowza.wms.stream.MediaStreamVODTest@24be0446
INFO stream publish test -
INFO server comment - PushPublisher#StreamOnStatus.onCallback[rtmp://localhost:1935/rtmp/push/test]: NetStream.Publish.Start
INFO server comment - PushPublisher#IdleHandler.onIdle: validate
INFO server comment - PushPublisher#PingResult.onResult: true
INFO server comment - PushPublisher: ping OK
[/PHP]
It should return true. Not sure why it is not for BitGravity. There are other heuristics that are used to validate the connection as well. So these are most likely keeping the connection open.
Charlie
It is ready to use. It just requires Java programming and the skills required are not basic. Not sure how else to answer your question. The technology is solid. It takes a bit of work to implement.
Charlie
We will consider add this but it is not available at this time. No definitive timeframe as to when we would add this capability.
Charlie
It might work with Highwinds. If you can send a stream from FMLE to Highwinds using authenticaiton without adding any plugin to FMLE then regular RTMP authentication should just work. Give it a try and let us know.
Charlie
Thanks for the info.
Charlie
I guess there is work to do for authentication. No short term plans to add support. I would continue to check the push publishing addon article to see when Highwinds support is added.
Charlie
Was this a question? I guess I did not understand the question. Can you explain in detail the problem.
Charlie
Do you have this working when using FMLE. You should be able to use this same connection info to publish using FMLE, right? Does that work? I might use that to try and debug the issue. Get that working first.
Charlie
Sorry, did not mean anything by my suggestions. Just trying to find a way to debug why it is not working. Seemed like FMLE was a decent way to debug.
Charlie
I think the value you are talking about is in Application.xml. It is the RTP/RTSPSessionTimeout.
Charlie
I will need to look into it and get back to you.
Charlie
Hi,
we got a problem with Push Publisher reconnection feature.
Seems it stop working in case of the destination host getting not resolvable for some reason. In our situation it happens for a short period of time, but the reconnector just stop working.
2011-01-11 14:28:30 CET comment server INFO 200 - PushPublisher#IdleHandler.onIdle: validate - - - 66236.427 - - - - - - - - - - - - - - - - - - - - - - - - - 2011-01-11 14:28:30 CET comment server INFO 200 - PushPublisher.resetConnection: com.wowza.wms.plugin.pushpublish.protocol.rtmp.PushPublisherRTMPSession@49293945 - - - 66236.426 - - - - - - - - - - - - - - - - - - - - - - - - - 2011-01-11 14:28:30 CET comment server INFO 200 - PushPublisher.removeSession: {} -- - 66236.427 - - - - - - - - - - - - - - - - - - - - - - - - - 2011-01-11 14:28:30 CET comment server INFO 200 - PushPublisher#IdleHandler.onIdle: validate - - - 66236.427 - - - - - - - - - - - - - - - - - - - - - - - - - 2011-01-11 14:28:30 CET comment server INFO 200 - PushPublisher#IdleHandler.create- - - 66236.427 - - - - - - - - - - - - - - - - - - - - - - - - - 2011-01-11 14:28:30 CET comment server INFO 200 - PushPublisher.sessionClosed -- - 66236.427 - - - - - - - - - - -- - - - - - - - - - - - - - 2011-01-11 14:28:30 CET comment server ERROR 500 - PushPublisher.Reconnector: java.nio.channels.UnresolvedAddressException - - - 66236.427 - - - - - -- - - - - - - - - - - - - - -- - - -
Re-download the push publishing package and try the new .jar file in the lib folder. I have added a try/catch block to the connection attempt that should make it work better.
Charlie
Redownload the push publishing package. There is now a new method:
PushPublisherRTMP.setRemoveDefaultAppInstance(removeDefaultAppInstance);
If you set this to true then it should remove the definst part when connecting.
Charlie
Try surrounding in CDATA tag:
<Value><![CDATA[http://mycompany.com/myurl]]></Value>
Charlie
Kind of a complicated to setup. You will need to create a .stream file that points to the orgin stream, start it in the stream manager or StartupStreams.xml then you can use the push publishing module to send it out. Those are the basic steps.
Charlie
Try stream.sendDirect.
Charlie
Which CDN are you trying to send to. Not all will work. Depends on how they handle security.
Charlie