Dash-Industry-Forum / dash.js

A reference client implementation for the playback of MPEG DASH via Javascript and compliant browsers.
http://reference.dashif.org/dash.js/nightly/samples/dash-if-reference-player/index.html
Other
5.16k stars 1.68k forks source link

Doesn't work in Yandex.Browser (Chromium based) #1420

Closed theifish closed 7 years ago

theifish commented 8 years ago

Yandex.Browser (https://browser.yandex.com/) is a Chromium based browser from Yandex (one of the biggest russian search services). It's very popular in Russia, however Dash.js lib doesn't work correct in the browser.

Environment

I found, that MediaPlayer throw an error "Error creating video source buffer."

Observed behaviour

Player doesn't show any pictures.

Console output

[11] [dash.js 2.1.1] MediaPlayer has been initialized Debug.js:108 [24] EME detected on this user agent! (ProtectionModel_21Jan2015) Debug.js:108 [5442] Playback Initialized Debug.js:108 [5472] Parsing complete: ( xml2json: 4ms, objectiron: 3ms, total: 0.007s) Debug.js:108 [5473] Manifest has been refreshed at Wed May 25 2016 16:46:02 GMT+0300 (RTZ 2 (зима))[1464183962.531]
Debug.js:108 [5487] MediaSource attached to element. Waiting on open... Debug.js:108 [5491] MediaSource is open! Debug.js:108 [5491] Duration successfully set to: 3600.04 Debug.js:108 [5492] Added 0 inline events Debug.js:108 [5493] video codec: video/mp4;codecs="avc3.42c015" Debug.js:108 [5504] Schedule controller stopping for video Debug.js:108 [5516] audio codec: audio/mp4;codecs="mp4a.40.5" 2Debug.js:108 [5517] audio codec: audio/mp4;codecs="mp4a.40.2" Debug.js:108 [5518] Schedule controller stopping for audio Debug.js:108 [5523] No text data. Debug.js:108 [5524] No fragmentedText data. Debug.js:108 [5524] No embeddedText data. Debug.js:108 [5524] No muxed data. Debug.js:108 [5526] Start Event Controller Debug.js:108 [5541] Schedule controller starting for video Debug.js:108 [5549] Schedule controller starting for audio Debug.js:108 [5550] Native video element event: play Debug.js:108 [5553] Getting the request for video time : 0 Debug.js:108 [5554] SegmentTemplate: 0 / 3600.04 Debug.js:108 [5559] Schedule controller starting for video Debug.js:108 [5560] Getting the request for audio time : 0 Debug.js:108 [5560] SegmentTemplate: 0 / 3600.04 Debug.js:108 [5566] Schedule controller starting for audio Debug.js:108 [5581] Initialization finished loading Debug.js:108 [5588] Initialization finished loading Debug.js:108 [5645] Native video element event: loadedmetadata Debug.js:108 [5654] Got enough buffer to start. Debug.js:108 [5658] Buffered Range: 0 - 3.839999 Debug.js:108 [5661] Getting the request for audio time : 3.84 Debug.js:108 [5661] SegmentTemplate: 0 / 3600.04 Debug.js:108 [5661] Getting the next request at index: 1 Debug.js:108 [5662] SegmentTemplate: 3.84 / 3600.04 Debug.js:108 [5669] Native video element event: playing Debug.js:108 [5703] Buffered Range: 0 - 7.679999 Debug.js:108 [5704] Getting the request for audio time : 7.68 Debug.js:108 [5704] Index for audio time 7.68 is 1 Debug.js:108 [5704] SegmentTemplate: 3.84 / 3600.04 Debug.js:108 [5704] Getting the next request at index: 2 Debug.js:108 [5705] SegmentTemplate: 7.68 / 3600.04 Debug.js:108 [5739] Buffered Range: 0 - 11.519999 Debug.js:108 [5740] Getting the request for audio time : 11.52 Debug.js:108 [5741] Index for audio time 11.52 is 2 Debug.js:108 [5741] SegmentTemplate: 7.68 / 3600.04 Debug.js:108 [5741] Getting the next request at index: 3 Debug.js:108 [5742] SegmentTemplate: 11.52 / 3600.04 Debug.js:108 [5779] Buffered Range: 0 - 15.359999 Debug.js:108 [9644] Getting the request for audio time : 15.36 Debug.js:108 [9644] Index for audio time 15.36 is 3 Debug.js:108 [9645] SegmentTemplate: 11.52 / 3600.04 Debug.js:108 [9645] Getting the next request at index: 4 Debug.js:108 [9645] SegmentTemplate: 15.36 / 3600.04 Debug.js:108 [9691] Buffered Range: 0 - 19.199999 Debug.js:108 [13688] Getting the request for audio time : 19.2 Debug.js:108 [13689] Index for audio time 19.2 is 4 Debug.js:108 [13689] SegmentTemplate: 15.36 / 3600.04 Debug.js:108 [13689] Getting the next request at index: 5 Debug.js:108 [13689] SegmentTemplate: 19.2 / 3600.04 Debug.js:108 [13721] Buffered Range: 0 - 23.039999 Debug.js:108 [17723] Getting the request for audio time : 23.04 Debug.js:108 [17723] Index for audio time 23.04 is 5 Debug.js:108 [17724] SegmentTemplate: 19.2 / 3600.04 Debug.js:108 [17724] Getting the next request at index: 6 Debug.js:108 [17724] SegmentTemplate: 23.04 / 3600.04 Debug.js:108 [17768] Buffered Range: 0 - 26.879999

LloydW93 commented 8 years ago

On Windows 10 and Yandex 16.4.1.8950, at least, the following MPDs work in the reference client for 2.1.1:

It looks like this is specific to Windows 8. Are you running 8.0 or 8.1?

theifish commented 8 years ago

Checked on another Win8 computer - everything works well. Looks like it's my local issue. I'm going to investigate it further.

wilaw commented 8 years ago

@Konstantin – do any of the same samples play in the Shaka player https://shaka-player-demo.appspot.com/ or Bitmovin player http://www.dash-player.com/demo/manifest-test/ ? It could be that the Yandex MSE implementation is at fault if none of the samples at all are playing.

(PS. Thanks for checking all the new submission boxes for the new form. You are the first and we appreciate it!)

From: Konstantin Timokhin notifications@github.com<mailto:notifications@github.com> Reply-To: "Dash-Industry-Forum/dash.js" reply@reply.github.com<mailto:reply@reply.github.com> Date: Wednesday, May 25, 2016 at 7:08 AM To: "Dash-Industry-Forum/dash.js" dash.js@noreply.github.com<mailto:dash.js@noreply.github.com> Subject: [Dash-Industry-Forum/dash.js] Doesn't work in Yandex.Browser (Chromium based) (#1420)

Yandex.Browser (https://browser.yandex.com/https://urldefense.proofpoint.com/v2/url?u=https-3A__browser.yandex.com_&d=DQMFaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=KkevKJerDHRF9WRs8nW8Ew&m=zFVaHHt1noL5xjDGd55ZAkM8f3H7HD6I6LEUwRMsh40&s=O3O35PPq6xee6-CGgUxjcVSeoo_B_N7RBujM_qG6AdA&e=) is a Chromium based browser from Yandex (one of the biggest russian search services). It's very popular in Russia, however Dash.js lib doesn't work correct in the browser.

Environment

Steps to reproduce

  1. Open Yandex.Browser (https://browser.yandex.com/https://urldefense.proofpoint.com/v2/url?u=https-3A__browser.yandex.com_&d=DQMFaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=KkevKJerDHRF9WRs8nW8Ew&m=zFVaHHt1noL5xjDGd55ZAkM8f3H7HD6I6LEUwRMsh40&s=O3O35PPq6xee6-CGgUxjcVSeoo_B_N7RBujM_qG6AdA&e=)
  2. Open test player page http://dashif.org/reference/players/javascript/v2.1.1/samples/dash-if-reference-player/index.htmlhttps://urldefense.proofpoint.com/v2/url?u=http-3A__dashif.org_reference_players_javascript_v2.1.1_samples_dash-2Dif-2Dreference-2Dplayer_index.html&d=DQMFaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=KkevKJerDHRF9WRs8nW8Ew&m=zFVaHHt1noL5xjDGd55ZAkM8f3H7HD6I6LEUwRMsh40&s=Sa09yNMW8UAtIL2MnXrNkMlUaMVX1v_hl-iGtZfRM44&e=
  3. Choose any sample and start playing it
  4. Audio starts, but picture doesn't

I found, that MediaPlayer throw an error "Error creating video source buffer."

Observed behaviour

Player doesn't show any pictures.

Console output

[11] [dash.js 2.1.1] MediaPlayer has been initialized Debug.js:108 [24] EME detected on this user agent! (ProtectionModel_21Jan2015) Debug.js:108 [5442] Playback Initialized Debug.js:108 [5472] Parsing complete: ( xml2json: 4ms, objectiron: 3ms, total: 0.007s) Debug.js:108 [5473] Manifest has been refreshed at Wed May 25 2016 16:46:02 GMT+0300 (RTZ 2 (зима))[1464183962.531]

Debug.js:108 [5487] MediaSource attached to element. Waiting on open... Debug.js:108 [5491] MediaSource is open! Debug.js:108 [5491] Duration successfully set to: 3600.04 Debug.js:108 [5492] Added 0 inline events Debug.js:108 [5493] video codec: video/mp4;codecs="avc3.42c015" Debug.js:108 [5504] Schedule controller stopping for video Debug.js:108 [5516] audio codec: audio/mp4;codecs="mp4a.40.5" 2Debug.js:108 [5517] audio codec: audio/mp4;codecs="mp4a.40.2" Debug.js:108 [5518] Schedule controller stopping for audio Debug.js:108 [5523] No text data. Debug.js:108 [5524] No fragmentedText data. Debug.js:108 [5524] No embeddedText data. Debug.js:108 [5524] No muxed data. Debug.js:108 [5526] Start Event Controller Debug.js:108 [5541] Schedule controller starting for video Debug.js:108 [5549] Schedule controller starting for audio Debug.js:108 [5550] Native video element event: play Debug.js:108 [5553] Getting the request for video time : 0 Debug.js:108 [5554] SegmentTemplate: 0 / 3600.04 Debug.js:108 [5559] Schedule controller starting for video Debug.js:108 [5560] Getting the request for audio time : 0 Debug.js:108 [5560] SegmentTemplate: 0 / 3600.04 Debug.js:108 [5566] Schedule controller starting for audio Debug.js:108 [5581] Initialization finished loading Debug.js:108 [5588] Initialization finished loading Debug.js:108 [5645] Native video element event: loadedmetadata Debug.js:108 [5654] Got enough buffer to start. Debug.js:108 [5658] Buffered Range: 0 - 3.839999 Debug.js:108 [5661] Getting the request for audio time : 3.84 Debug.js:108 [5661] SegmentTemplate: 0 / 3600.04 Debug.js:108 [5661] Getting the next request at index: 1 Debug.js:108 [5662] SegmentTemplate: 3.84 / 3600.04 Debug.js:108 [5669] Native video element event: playing Debug.js:108 [5703] Buffered Range: 0 - 7.679999 Debug.js:108 [5704] Getting the request for audio time : 7.68 Debug.js:108 [5704] Index for audio time 7.68 is 1 Debug.js:108 [5704] SegmentTemplate: 3.84 / 3600.04 Debug.js:108 [5704] Getting the next request at index: 2 Debug.js:108 [5705] SegmentTemplate: 7.68 / 3600.04 Debug.js:108 [5739] Buffered Range: 0 - 11.519999 Debug.js:108 [5740] Getting the request for audio time : 11.52 Debug.js:108 [5741] Index for audio time 11.52 is 2 Debug.js:108 [5741] SegmentTemplate: 7.68 / 3600.04 Debug.js:108 [5741] Getting the next request at index: 3 Debug.js:108 [5742] SegmentTemplate: 11.52 / 3600.04 Debug.js:108 [5779] Buffered Range: 0 - 15.359999 Debug.js:108 [9644] Getting the request for audio time : 15.36 Debug.js:108 [9644] Index for audio time 15.36 is 3 Debug.js:108 [9645] SegmentTemplate: 11.52 / 3600.04 Debug.js:108 [9645] Getting the next request at index: 4 Debug.js:108 [9645] SegmentTemplate: 15.36 / 3600.04 Debug.js:108 [9691] Buffered Range: 0 - 19.199999 Debug.js:108 [13688] Getting the request for audio time : 19.2 Debug.js:108 [13689] Index for audio time 19.2 is 4 Debug.js:108 [13689] SegmentTemplate: 15.36 / 3600.04 Debug.js:108 [13689] Getting the next request at index: 5 Debug.js:108 [13689] SegmentTemplate: 19.2 / 3600.04 Debug.js:108 [13721] Buffered Range: 0 - 23.039999 Debug.js:108 [17723] Getting the request for audio time : 23.04 Debug.js:108 [17723] Index for audio time 23.04 is 5 Debug.js:108 [17724] SegmentTemplate: 19.2 / 3600.04 Debug.js:108 [17724] Getting the next request at index: 6 Debug.js:108 [17724] SegmentTemplate: 23.04 / 3600.04 Debug.js:108 [17768] Buffered Range: 0 - 26.879999

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_Dash-2DIndustry-2DForum_dash.js_issues_1420&d=DQMFaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=KkevKJerDHRF9WRs8nW8Ew&m=zFVaHHt1noL5xjDGd55ZAkM8f3H7HD6I6LEUwRMsh40&s=_MzPpuwQhTxt6k0ug0BpfGp_qwuOuv1x3ahNSjdFewk&e=

theifish commented 8 years ago

Checked with Shaka and Bitmovin players, everything works. Dash.js player doesn't. But again, I can't reproduce the issue on another Win8 machine. Maybe it's only my local issue.

LloydW93 commented 7 years ago

Closing since it sounds like a local issue.