Identify the Failure Point
| Stage | Typical Symptoms |
|---|---|
| Manifest Download | 404, timeout, DNS failure, certificate errors |
| DRM License Request | License acquisition errors, entitlement failures, HTTP 401/403 |
| Media Segment Download | Endless buffering, stalled playback, HTTP 404/503 |
| Decryption | DRM errors after license acquisition |
| Rendering | Black screen, audio-only playback |
| Mixed Content | Missing artwork, blocked resources, browser security warnings |
The playback failure can be isolated to a specific stage of the content delivery, licensing, decryption, or rendering workflow.
Validate Manifest Selection
.mpd) and HLS (.m3u8) manifests are generated within the same content folder. Ensure the application uses the appropriate manifest for the platform being tested.| Platform | Manifest |
|---|---|
| Apple (iOS, iPadOS, tvOS, Safari) |
.m3u8 (HLS) |
| Android |
.mpd (MPEG-DASH) |
| Windows, Chrome, Edge |
.mpd (MPEG-DASH) |
| Most non-Apple Smart TVs |
.mpd (MPEG-DASH) |
Before proceeding with DRM troubleshooting, confirm the application is using the appropriate manifest type for the platform being tested.
Expected Result:
The player loads the correct manifest format for the target device.
Validate Player Compatibility
Verify that the application uses a player capable of supporting adaptive streaming and DRM-protected CMAF content.
Examples include:
Widevine Platforms
- Shaka Player
- Media3 ExoPlayer
- Bitmovin
- THEOplayer
- JW Player (DRM-enabled configurations)
Apple Platforms
- AVPlayer
- Safari Native HLS
- Bitmovin
- THEOplayer
Expected Result:
The player supports both the selected manifest format and the DRM technology required by the device.
Verify Content URL Accessibility
- Using a browser on the same device experiencing playback issues, attempt to open the manifest URL directly.
- Verify that the file downloads or displays successfully without timeout, DNS resolution errors, certificate warnings, or connection failures.
- If the manifest file cannot be accessed, the issue is likely network-related and must be resolved before investigating DRM or player configuration.
- Verify that media segments referenced within the manifest return successful HTTP responses and can be downloaded from the affected network.
- Compare results from a working device and a non-working device to identify any differences in connectivity.
- Review browser developer tools or network logs (if available) for HTTP status codes such as 403, 404, 500, or connection timeout errors.
Expected Result:
The manifest should be accessible from the device network without errors.
Check Network and Firewall Configuration
Verify that all required content delivery and DRM license endpoints are accessible.
- Confirm that outbound HTTPS traffic (TCP 443) is permitted from the device VLAN or network segment.
- Verify that return traffic is allowed through any firewall, routing, or security appliances.
- Ensure DNS resolution for the content endpoint succeeds from the affected device.
- Review firewall logs for blocked or dropped connections to Swank licensing services and local content servers.
- Check whether captive portals, content filters, proxy servers, or SSL inspection systems are intercepting requests.
- Validate network routing between devices, content servers, and external content sources.
- Perform packet captures, if possible, to determine whether content or license requests are leaving the device and whether responses are returning successfully.
Expected Result:
The device should be able to establish successful HTTPS connections to all required content and licensing endpoints with bidirectional traffic flow.
Related: Mixed Content Blocked
Validate DRM and Licensing Configuration
- Confirm the issue can be replicated on multiple devices.
- If the issue occurs on only a single device while other devices successfully play the same title, focus initial troubleshooting on device configuration, player implementation, operating system restrictions, or network connectivity before investigating content packaging or licensing.
- Confirm that the application is using the appropriate manifest URL and not attempting playback of direct MP4 files.
- Verify that the required Portal ID and Content Asset GUID are being passed correctly in license requests.
- Verify that DRM license endpoints are also reachable from the affected device and network.
- Ensure required HTTP headers are included in all DRM license requests.
- Verify that the title being tested is currently licensed.
- Review player logs for DRM, license acquisition, entitlement, Widevine, or FairPlay related failures.
Expected Result:
License requests should complete successfully without errors or entitlement failures.
Test from an Alternate Network
Testing from a different network helps determine whether the issue is device-specific or network-specific.
- Connect the same device to a mobile hotspot, cellular network, or alternate Wi-Fi network.
- Attempt playback using the same application and content.
- Compare results between the original network and the alternate network.
- If playback works on another network, the issue is likely related to firewall, routing, DNS, proxy, or network security configuration on the original network.
- If playback fails on all networks, further investigation of application configuration, DRM implementation, or content licensing may be required.
Expected Result:
Successful playback on an alternate network would indicate a network connectivity issue rather than a player or DRM issue.
Verify Playback Using Swank Cloud-Hosted Content
To isolate potential issues with locally hosted content, test playback using Swank's known working cloud-hosted content.
Example: (For Apple devices and Safari, replace the example .mpd URL with the corresponding .m3u8 URL.)
Your Manifest URL:
- https://YourContentPath/Content/cenc/A79201_E2_XX_XX_XX/68562789/A79201_E2_XX_XX_XX.mpd
Cloud Manifest URL:
- https://dc.swankmp.net/content/cenc/A79201_E2_XX_XX_XX/68562789/A79201_E2_XX_XX_XX.mpd
Troubleshooting Steps
- Load the appropriate cloud-hosted manifest (.mpd or .m3u8) using the same player implementation, application configuration, and device used for local content testing.
- Confirm that license acquisition succeeds and playback starts normally.
- Monitor player logs for DRM license requests, manifest downloads, and media segment retrieval.
- If cloud content plays successfully while local hosted content does not, the issue is likely related to:
- Local content hosting configuration
- CDN accessibility
- Network routing to the local server
- Manifest configuration differences
- Licensing restrictions applied to locally hosted content
- If cloud-hosted content also fails, focus troubleshooting on player configuration, DRM implementation, application integration, device restrictions, or broader network connectivity issues.
Expected Result:
Successful cloud content playback confirms the player and DRM workflow are functioning and narrows the investigation to local content delivery or network configuration.
Comments
0 comments
Please sign in to leave a comment.