PushPublish to Facebook from API not starting

Trying to get to the bottom of why some of my Facebook stream targets do not start when enabled through the REST API. The general setup is that I create the target manually in the Manager, including enabling Stream Targets for the relevant application in Wowza. Then my web portal app sends API calls to the Wowza server when the client wants to start the Facebook portion of their stream. This simply matches the target name and enables the target.

Some of these work and some of them do not. For some I personally am a Facebook admin and they are setup using my account - for some I have the client set that up directly with me using their credentials. This does not affect whether the target enabling works or not.

In all cases, the Wowza Manager shows that the target has been enabled. For some, it goes right through to Active status. For the ones that do not work, it sits at Waiting status forever. If I then edit the target manually and save it (I don’t even have to change anything, just save it), it goes to Active right away and works.

Something is not properly triggering these to start, when the transcoded streams clearly will work and the actual Facebook connection clearly works too when I re-save the target.

In Logs, I’ve noticed that the ones which work report the initial PushPublishEnable line like this:

ModulePushPublish.setEntryEnabled([app]/definst) [target] enabled: true update: true

They then go through several additional log lines:

ModulePushPublish.StreamWatcher.run([app]/definst) checkForStreamChanges DISABLED

ModulePushPublish.checkForEntryActions([app]/definst) [target] : START

PushPublishFacebookHandler.connect([target]:[app]/definst/[source_stream])

REST API: PushPublishStreamAppConfig.enableAction: Entry ([target]) enabled successfully

For the ones that do NOT work initially, they go straight to only these two lines, and the target never goes Active. Note the “Unknown” where the application name and instance were for the ones which do succeed.

ModulePushPublish.setEntryEnabled(Unknown) [target] enabled: true update: true

REST API: PushPublishStreamAppConfig.enableAction: Entry ([target]) enabled successfully

There is no difference in the setup for these two targets other than the target name. Any ideas here?

I should add that I’ve tried this with WSE from 4.7.4 up to 4.7.7 (current). And I’ve tried using pushPublishFacebookReadWriteTimeout set to 12000 and to 15000, and also with it removed completely. There’s no connection to what works and what does not work that I can establish.

Hello @Colin Witt, I can understand how frustrating that must be. Thank you for sharing such excellent detail. The Facebook API has gone through a few changes in the last year with the security settings and we have adjusted accordingly for stream target implementation. However, some of our customers have had some issues with these API changes.

Can you please submit a support ticket? We’d like to take a look and run some tests to find why some streams work only when you edit and hit save. Thanks.

https://www.wowza.com/support/open-ticke