This page shows you how to resolve issues with the Live Stream API. The errors shown on this page are specific to the Live Stream API. For information on generic errors across Google APIs, see the Cloud APIs Errors page.
Input stream rejected
If your encoder sends an input stream to an input endpoint, but the connection keeps getting rejected, check for these possible issues:
Invalid input endpoint URI
An error occurs if your encoder sends an input stream to an invalid input endpoint URI.
To resolve this issue, check if your encoder is configured to send the input
stream to an input endpoint URI with the
correct IP address and STREAM-ID
.
Input is not attached to a channel
An error occurs if your encoder sends an input stream to an input endpoint URI that is not attached to a channel.
To resolve this issue, create a new channel with the input
endpoint. To check if an input endpoint has been successfully attached to the
channel, get the channel details and look for the name of the
input endpoint in the inputAttachments
field.
Inactive channel
An error occurs if your encoder sends an input stream to a channel that is not running.
To resolve this issue, check the status of the channel to make
sure its streamingState
is AWAITING_INPUT
. If the streamingState
of the
channel is STOPPED
, start the channel.
Another encoder already connected with the same input endpoint
An error occurs if multiple encoders attempt to send input streams to the same input endpoint. Only one connection is accepted at a time per input endpoint URI.
To resolve this issue, check if the channel is already in
STREAMING
state. If so, you have the following options:
Create a separate input endpoint and channel for the second input stream.
Stop the first input stream before sending another one to the same input endpoint.
Encoder IP address is not in the allowed IP ranges
An error occurs if your encoder sends an input stream from an IP address outside the specified IP ranges configured for an input endpoint.
To resolve this issue, get the details for an input endpoint and
check the securityRules
field. If there are specified
ipRanges
, make sure your encoder has a valid IP address in those IP
ranges.
Missing output files in the Cloud Storage bucket
If your encoder is successfully sending an input stream to the input endpoint, but no output files appear in the Cloud Storage bucket, check for these possible issues:
Incorrect Cloud Storage bucket
Output files may be missing if you are checking the wrong Cloud Storage bucket.
To resolve this issue, get the channel details for your live
stream. Check the output.uri
field for the correct Cloud Storage bucket URI.
Invalid input video/audio codecs
Output files may be missing if your encoder is sending invalid video or audio codecs.
To resolve this issue, make sure your encoder is only sending H264 video and AAC audio codecs.
Cloud Storage permission denied
By default, the Live Stream API creates a service account that can access Cloud Storage buckets in the same Google Cloud project that hosts the Live Stream API resources. Output files may be missing if this service account loses permission to access the Cloud Storage bucket.
To resolve this issue, make sure the service account has sufficient permissions. The creation of output files may fail for the following reasons:
The output Cloud Storage bucket is in a different Google Cloud project from Live Stream API resources such as the channel and input endpoint.
The default permissions are revoked from the service account.
See Access to Cloud Storage for more information.
Missing audio tracks
Output files may be missing if your encoder sends an input stream with missing audio tracks. The video pipeline waits for all audio tracks to arrive before processing begins.
To resolve this issue, get the channel details for your live
stream. Make sure your encoder is sending all audio tracks configured in the
ElementaryStream.audioStream.mapping
(AudioMapping
) field.