How to fix player error code 2001 after moving content to Akamai CDN?

Hello ,

We are getting high errors rates from Android , IOS and Android tv bitmovin players with error code 2001 . What does this mean ?

We are suning bitmovin 3-6.0 version.
Also this issue started after we change our CDN provider to Akamai. There is no error code 2001 on Amazon Edge .

What can be the reason.

1 Like

Hello,

2001 is generic source error code(Android, iOS) which indicates that player is not able to find a more specific cause of error. The source error could be related to issue in source Manifest(DASH MPD or HLS M3u8). Following steps could be taken to narrow down the root cause.

  • Check HLS streams against mediastreamvalidator tool provided by Apple. This tools provides information about potential issues with HLS stream. This is very useful test when checking compatibility of HLS streams with iOS/tvOS devices.
  • Compare the Manifest(DASH MPD or HLS M3u8) between your Amazon Edge and Akamai CDN. As the issue happens only on Akamai, a comparison of formats delivered by the 2 CDNs can provide useful insights. For example, any differences in MPD files, container formats of segments, DRM signalization etc. could be useful.
  • Checking the additional data field in SourceError event (Android, iOS) can throw some light on the issue cause. This may contain additional information from the underlying platform/framework.
  • Last but not least, you could upgrade to latest versions of Bitmovin player (3.15.0 for Android and 3.16.0 for iOS) to check if the issue is still observed.

Hope above information helps.
Thanks and Regards,
Lucky Goyal

3 Likes

Hi ,

Thank you for response. We checked the streams but they look the same. Same ts files and m3u8 ingested to Akamai and Cloudfront.

Only diffrence we see is in CORS headers. Can this be reason ?

Also can you compre this URL’s ;

https://tv-trtworld.medya.trt.com.tr/master.m3u8. Akamai
https://tv-trt1.medya.trt.com.tr/master.m3u8 CloudFront

Thanks ,
Halil

2 Likes

Thanks for sharing the streams. Since the streams are Live (not VOD), another probable reason for this issue could be stream stability. In case of Live, the manifest file(M3u8) is downloaded periodically to find information about new segments. Failure to download Manifests or the segments available within manifests could also lead to this error. In such case,

  • data field in SourceError event (Android, iOS) can provide information about the underlying error.
  • In case you also use Bitmovin analytics, then this additional information can already be found in playback session logs for the error sessions.
  • You could also check the respective CDN for access logs to check if there are HTTP errors responses for manifest/segment requests.
1 Like

Hi ,

Thanks for your reply ,

We was this errors in session logs.

0: com.google.android.exoplayer2.source.hls.HlsChunkSource.getNextChunk(HlsChunkSource.java:308)

1: com.google.android.exoplayer2.source.hls.HlsSampleStreamWrapper.continueLoading(HlsSampleStreamWrapper.java:684)

2: com.google.android.exoplayer2.source.CompositeSequenceableLoader.continueLoading(CompositeSequenceableLoader.java:92)

3: com.google.android.exoplayer2.source.hls.HlsMediaPeriod.continueLoading(HlsMediaPeriod.java:365)

4: com.bitmovin.player.q.n.e.continueLoading(Unknown Source:2)

5: com.google.android.exoplayer2.source.MaskingMediaPeriod.continueLoading(MaskingMediaPeriod.java:235)

6: com.google.android.exoplayer2.MediaPeriodHolder.continueLoading(MediaPeriodHolder.java:218)

7: com.google.android.exoplayer2.ExoPlayerImplInternal.maybeContinueLoading(ExoPlayerImplInternal.java:2009)

8: com.google.android.exoplayer2.ExoPlayerImplInternal.handleContinueLoadingRequested(ExoPlayerImplInternal.java:1990)

9: com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:487)
1 Like

thanks @halilhilmi.isik . The stack trace points toward possible issues with downloading the segments. Can you please check multiple failed sessions and find a pattern of errors like socket timeout or HTTP error responses etc. This will give you information to check and verify against the CDN access logs around the time of failures.

2 Likes

Hi @halilhilmi.isik

I would recommend updating your Analytics collector for Web to 2.22.0 and Android to 2.2.0 so you can make use of the network explorer. It will provide you information about the last 10 segments downloaded around the error - it might give you insights around issues with downloading the segments that the stack trace points towards.

2 Likes