Bitmovin player subtitle bug:Burmese overlap on Android TV & LG TV

Bitmovin player subtitle bug:Burmese overlap
Can bitmovin team fix this bug?

LG TV has the same issue.

Hi @qiuguomuhai , thanks for reporting this behaviour. Can you please share following additional information to help us investigate this behaviour?

  • As you mentioned that issue happens in both Android TV and LG TV, can you please confirm if you are using Bitmovin Android player SDK for Android TV and Web player SDK for LG TV?
  • Which versions of Bitmovin player SDKs are you using?
  • Do you use custom UI or default Bitmovin UI?
  • If using custom UI, are you using BitmovinSubtitleView from Android player SDK for rendering the subtitles or did you implement a custom UI element for rendering subtitles?
  • What is the subtitle format? Is it WebVTT or another format?
  • Can you share the sample test asset where we can replicate this behaviour? Please feel free to send the asset information in a DM.
  • Additionally if you could send a sample app code for Android and LG TV where we can see the issue, that will best for us to investigate this quickly.

Hi @lucky.goyal , thanks for quick response. This issue’s owner @sheng-qian.chen will provide the additional information for you next week.

Hi @lucky.goyal

For Android TV:
bitmovin player version:‘com.bitmovin.player:player:3.25.2’
UI:com.bitmovin.player.SubtitleView, subTitleView.setPlayer(player)
subtitle format:SRT
subtitle:
00:05:32,510 → 00:05:36,240
ေဆးသြားထည့္ေတာ့
အမာရြတ္ျဖစ္သြားမယ္

Sample code: 
val layoutParams = FrameLayout.LayoutParams(
            FrameLayout.LayoutParams.WRAP_CONTENT,
            FrameLayout.LayoutParams.WRAP_CONTENT
        )
layoutParams.bottomMargin = DeviceUtils.dpToPixel(mContext, 30f).toInt()
subTitleView.layoutParams = layoutParams
subTitleView.setFixedTextSize(TypedValue.COMPLEX_UNIT_SP, 30f)
subTitleView.setPlayer(player)

Blockquote

For Samsung/LG TV:
1.We are using Web player SDK 8.97.0
2.We use custom UI
3.We implement a custom UI element for rendering subtitles
4.We are using WebVTT format

Sample code
export function initCaption (options) {
  var noCaption, cursorID
  var captionOverlays, numDisplayCaption
  var captions = []
  var setting = defaults
  var videoWrapper = $('.bm-full-overlay')
  // initialize caption
  function initialize () {
    // set up caption overlay
    captionOverlays = []
    numDisplayCaption = 0
    addCaptionOverlay()
    // setup caption cursor
    noCaption = false
    cursorID = searchCaption(0)
    if (!noCaption) {
      updateCaptionText()
    } else {
      updateCaptionOverlay(0, true)
    }
    // bind timeupdate handle
    window.bitPlayer.on(PlayerEvent.TimeChanged, function () {
      captionCt = window.bitPlayer.getCurrentTime() * 1000
      updateCaptionCursor(captionCt)
    })
    window.bitPlayer.on(PlayerEvent.Seeked, function () {
      captionCurrentTime = window.bitPlayer.getCurrentTime() * 1000
      hideCaption()
      cursorID = searchCaption(captionCurrentTime)
      updateCaptionText()
    })
  }

Hi @sheng-qian.chen , thanks for sharing the details. Can you please also share the sample SRT/WebVTT subtitle URL which can be used to replicate the behaviour? Please feel free to DM the information if cannot be shared publicly.

Additionally, based on code snippet shared for WebOS platform, I assume that your code is listening to CueIn and CueOut events from Bitmovin player and using the Cue information to render the subtitle text in custom UI component. In this case the spacing or placement of subtitles should be ideally taken care in the custom implementation.

Also, since a similar issue occurs on both Android and Web player SDK, it could be related to subtitle positioning information in the subtitle media itself so access to subtitle files will be needed to investigate this further.

Hi @lucky.goyal Thanks for reply. Could you try this sample subtitle sample for SRT format and you can save them to a file.
BTW, how can I DR the information to you?
1
00:00:28,470 → 00:00:33,670
ေဆးသြားထည့္ေတာ့
အမာရြတ္ျဖစ္သြားမယ္

2
00:00:33,670 → 00:00:36,180
ေဆးသြားထည့္ေတာ့
အမာရြတ္ျဖစ္သြားမယ္

3
00:00:39,440 → 00:00:41,520
ေဆးသြားထည့္ေတာ့
အမာရြတ္ျဖစ္သြားမယ္

4
00:00:58,390 → 00:01:01,250
ေဆးသြားထည့္ေတာ့
အမာရြတ္ျဖစ္သြားမယ္

5
00:01:05,480 → 00:01:07,650
ေဆးသြားထည့္ေတာ့
အမာရြတ္ျဖစ္သြားမယ္

And for Android bitmovin player sdk, our team found that you are using exoplayer’s subtitle component, if we modify the line height of the source code, it can be fixed. So I think this is not the subtitle file issue.
Web SDK can be fixed by the similar way.

@lucky.goyal Yes, you’re right. We would customize the subtitle line-height for Burmese.

Thanks @sheng-qian.chen for additional information. For the Exoplayer, can you please share which specific property in Exoplayer’s Cue object can be changed for the line height to prevent overlapping of Burmese subtitles?

Perhaps we can help override the same through Bitmovin Android player SDK.

@qiuguomuhai , thanks for confirmation of this for LG Webos. Since the rendering is done in a custom UI, so that would be best place to add this change.

@lucky.goyal Sorry for late, we found this 2 attributes may affect the line height, could you check this class?

Hi @lucky.goyal Have any update? Will you fix this issue in the next release version?