This section will help you troubleshoot playout issues.
If you are experiencing delay in content switch or no content switch at all, please check that your origin packager has proper time synchronization - see Understanding broadpeak.io behavior. If you are still experiencing issues, the following sections might help.
Some errors might be returned by the platform when something goes wrong. Here is a list of these errors and their meaning.
- 404 Internal error (From the origin or MM)
--> The origin returns a 404 error when broadpeak.io attempts to retrieve the manifest(s).
--> Something is wrong with the provided stream retrieved from the origin. It can be that the stream is not supported by broadpeak.io. You can find more information about Input streams requirements here Input Streaming Formats
- 404 Bad Gateway of the origin server
--> The origin or the Ad server has returned an invalid response to broadpeak.io.
--> The origin or the Ad server has taken too long to respond to broadpeak.io and has been considered as timed out.
- 404 Service temporarily unavailable error of the origin server
--> The content stopped being available from the origin or broadpeak.io is temporarily unable to retrieve it.
- 404 Failed to join the origin server
--> The origin is not reachable from broadpeak.io. Make sure the appropriated inbound and outbound firewall rules are set at the origin level. You can find more information here.
- 404 HTTP version is not supported by the origin server
--> The protocol to retrieve the manifest used by broadpeak.io is not supported by your origin.
For any 50x Errors returned by the platform, please contact us at [email protected].
If you are using a CDN and receiving a timeout from the CDN, then the CDN might be faulty. It is also good practice to check that the CDN configuration is correct and that the right behavior, and caching policies are set. You can find more information here Using broadpeak.io with a CDN
In case the issue persists, please contact us at [email protected].
Content keeps switching every couple of media segments when using a CDN
When caching is enabled on the CDN, the manifest retrieved by the player from the CDN might not be the one intended, and the content described in the manifest might reference a content targeted for another audience. Make sure to disable manifest caching on the CDN. You can find more information in the following section.
Not all players software providers have fully implemented the Apple HLS and MPEG-DASH standards and, as a result, some of them do not support stream changes during playback. HLS players need to support discontinuities, while MPEG-DASH players need to implement multi-period support. You can find more information here (lien manquant).
403 Errors: an API Key must be provided in the Authorization header as a bearer token to make any API call to the broadpeak.io API. Keys may have an expiration date depending on how they were generated. Without providing a key or with an expired key, a 403 error is returned by the broadpeak.io API.
More information about key generation can be found here Generation your API Key
If you are using a player and experiencing a delay in content switching at playout, make sure you are taking into account the buffer of the player. broadpeak.io performs the manipulation at a given time based on the timing in the manifest. Therefore when playing, the switch happens when the player reaches that given time, and not the actual time of your device/browser.
If you experience a delay of a few milliseconds, this could be an expected behavior as the precision of the platform is 1 second. See Understanding broadpeak.io behavior for more information.
- HLS: broadpeak.io performs the content switch at the end of the closest fully available segment to the given time. This could be an expected behavior. See Understanding broadpeak.io behavior for more information.
- MPEG-DASH: as opposed to HLS, MPEG-DASH multi-periods allow to have two different periods on which last and first segments of the respective first and second periods can overlap. It is down to the client to decide whether to perform mid-segment switch or end of segment switch. Therefore, the player can introduce some delays.
In the event the switch between original and replacement content is not happening, we invite you to follow the verification steps below:
- When using conditional replacement, make sure that the audience is being provided within the streaming request (zipcode, category), and that the value provided belongs to the audience defined in the MediaPoint.
- Make sure the CDN is configured as advised here Using broadpeak.io with a CDN and forwarding all mandatory query parameters to broadpeak.io. Manifests must not be cached by the CDN.
- When creating MediaPoints, make sure that both original and replacement sources are using the same format (MPEG-DASH, or HLS), and compatible format version.
- In HLS, both original content and replacement content must be encoded in the same way. When not the case, the contextualization process fails, and content replacement is not happening. More information can be found in Understanding broadpeak.io behavior
In case pre-packaged ads are not inserted at the beginning of the playback (live or VOD) check the following:
- Check that the ad server is correctly configured and reachable from broadpeak.io. You may use the status icon next to the ad server URL in the source edition page or next to the ad server name in the service edition page. broadpeak.io forwards the client user-agent, so if the Ad Server filters by user-agent, it might be a root cause of your issue.
- Check that the ad server returns a VAST or VMAP that links to the desired pre-packaged ad. You may point your browser to the ad server URL with appropriate query parameters.
- Check the logs of your ad server to verify that it received a correct request from broadpeak.io.
In case a live service containing ad placement opportunities signaled through SCTE-35 markers does not receive pre-packaged replacement ads, check the following:
- Enable live pre-roll on the live service and check that pre-packaged ads are inserted when the session starts. If not, see the section above.
- Check the logs of your ad server to verify that it received a correct request from broadpeak.io. If not, check that your live service does include SCTE-35 markers that are compatible with broadpeak.io requirements. See Preparing your content.
In case ad transcoding is enabled on your ad insertion service and no ads are inserted, check the following:
- Configure your ad server to always return the same ad. Play your service a first time and check that your ad server received a correct request from broadpeak.io. Wait for a few minutes, to give broadpeak.io enough time to transcode the ad. Play your service a second time. If the ad plays, then your service is working correctly.
- Disable ad transcoding, configure your ad server to return a pre-packaged ad and check that ads are inserted. If not, see the sections above.
- If all tests above failed, please contact us at [email protected].
Updated about 1 month ago