Bitmovin jogador no Safari não carregar legendas de mídia

votos
0

Estou usando o jogador Bitmovin em uma Angular App. Eu configurei o jogador da seguinte forma e definiu o retorno de chamada

this._player = new Player(this.videoPlayer.nativeElement, {
  ...bitmovinConfig,
  events: {
    // other code removed

    [SubtitleAdded]: () => this.triggerCaptionChange(),

    // other code removed
  },
});

triggerCaptionChange() {
  const captions = this._player.subtitles.list() as MediaCaption[];
  console.log(captions);
  // other code removed
}

Quando eu testar isso no Chrome, o console mostra o log:

[
  {
    id: 1,
    url: https://mycdn.com/spmx/123456/1234567890/Subtitles_es_419.vtt,
    kind: caption,
    lang: es-419,
    subType: Subtitles,
    sideloaded: true,
    label: es-419,
    enabled: false
  },
  {
    id: 3,
    url: https://mycdn.com/spmx/123456/1234567890/Captions_en_US.vtt,
    kind: caption,
    lang: en-US,
    subType: Captions,
    sideloaded: true,
    label: en-US,
    enabled: false
  },
  {
    id: text/vtt-3,
    lang: es-419,
    adaptationSetId: {
      _periodId: 1233456-abcd-1234-1234-123456789012,
      _adaptationSetId: text/vtt-3
    },
    kind: subtitle,
    label: es-419,
    url: https://mycdn.com/spmx/123456/1234567890/Subtitles_es_419.vtt,
    role: [
      {
        schemeIdUri: urn:mpeg:dash:role:2011,
        value: alternate
      }
    ],
    enabled: false
  },
  {
    id: text/vtt-4,
    lang: en-US,
    adaptationSetId: {
      _periodId: 1233456-abcd-1234-1234-123456789012,
      _adaptationSetId: text/vtt-4
    },
    kind: subtitle,
    label: en-US,
    url: https://mycdn.com/spmx/123456/1234567890/Captions_en_US.vtt,
    role: [
      {
        schemeIdUri: urn:mpeg:dash:role:2011,
        value: alternate
      }
    ],
    enabled: false
  }
]

No Safari no entanto, eu só vejo uma matriz em branco []. Eu não sei por que o Safari não está carregando a mesma informação. O que mais eu posso olhar para ver como difere Safari? Quando faz Bitmovin fogo a chamada de retorno SubtitleAdded?

Publicado 13/01/2020 em 23:50
fonte usuário
Em outras línguas...                            


2 respostas

votos
0

Parece haver um par de erros de digitação na subtitleTracksmatriz para a versão HLS, com os erros fixo, esta seria a matriz resultante:

[
    {
      "enabled": false,
      "id": "1",
      "url": "https://...urlhidden.../spmx/.../.../Apple/Subtitles_es_419.m3u8",
      "kind": "caption",
      "lang": "es-419",
      "label": "es-419",
      "subType": "SUBTITLES",
      "sideloaded": true
    },
    {
      "enabled": false,
      "id": "2",
      "url": "https://...urlhidden.../spmx/.../.../Apple/Subtitles_es_419.vtt",
      "kind": "caption",
      "lang": "es-419",
      "label": "es-419",
      "subType": "Subtitles",
      "sideloaded": true
    },
    {
      "enabled": false,
      "id": "4",
      "url": "https://...urlhidden.../spmx/.../.../Apple/Captions_en_US.m3u8",
      "kind": "caption",
      "lang": "en-US",
      "label": "en-US",
      "subType": "SUBTITLES",
      "sideloaded": true
    },
    {
      "enabled": false,
      "id": "5",
      "url": "https://...urlhidden.../spmx/.../.../Apple/Captions_en_US.vtt",
      "kind": "caption",
      "lang": "en-US",
      "label": "en-US",
      "subType": "Captions",
      "sideloaded": true
    }
  ]

Eu criei um aplicativo Angular amostra com ambos os HLS e DASH e substitleTracks, link é: https://stackblitz.com/edit/bitmovin-player-angular-app?file=src%2Fapp%2Fvideo-player%2Fvideo-player.component. st você pode verificar se a mensagem para o console estão vários elementos legendas em ambos Chrome (se você remover o comentário da fonte de traço) e Safari :)

Respondeu 15/01/2020 em 22:13
fonte usuário

votos
0

Eu era capaz de contato Bitmovin e depois de algumas discussões com eles eu tinha que carregar o módulo SubtitleNative (bitmovinplayer-legendas de vários idiomas). Certifique-se de carregá-lo após o módulo Legendas (bitmovinplayer-legendas)

import BitmovinSubtitlesNativeModule from 'bitmovin-player/modules/bitmovinplayer-subtitles-native';
Player.addModule(BitmovinSubtitlesNativeModule);

Quando eu fiz isso, minhas entradas sideloaded foram carregados por bitmovin'. No entanto, ele não não reconhecer o 'subtipo' e 'sidedloaded' campos que eu adicionei aos subtitleTracks []. É um começo.

Respondeu 18/01/2020 em 02:30
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more