youtubeyoutube-livestreaming-api

Cannot make transition of my Youtube broadcast to live using Youtube API


Right now I'm trying to figure out what i'm doing wrong when making transition of my YT broadcast to live.

So I make the request and get the following response:

{
  "code" : 403,
  "errors" : [ {
    "domain" : "youtube.liveBroadcast",
    "message" : "Invalid transition",
    "reason" : "invalidTransition",
    "extendedHelp" : "https://developers.google.com/youtube/v3/live/docs/liveBroadcasts/transition#params"
  } ],
  "message" : "Invalid transition"
}

Of course i've read docs many times so I've monitored the LiveStream and was waiting for its "active" state (and my Broadcast has lifeCycleStatus="ready").

Error message doesn't explain real reason why cannot I do the transition.
And... of course I do not have access to logs of Youtube servers :)

What can you suggest?
How to find out where am I wrong?

So even if i've missed something, docs and error message do not help me to understand anything. So anyway it is kind of a "bug" for YT LiveStreaming API...


Solution

  • So a bit unclear rule is:

    1. ensure you have broadcast and livestream created and ready.
      and ensure that broadcast lifecycle status is not COMPLETE, otherwise recreate broadcast ... so ensure that your broadcast lifecycle status is ready
    2. bind broadcast to livestream
    3. start publishing video to livestream
    4. wait for livestream status active
    5. transition to testing (yes, you have to do it instead of moving to live)
    6. wait for broadcast lifeCycleStatus to become testing
    7. transition to live
    8. wait for broadcast lifeCycleStatus to become live

    You cannot skip testing and cannot transition from complete to testing or ready.