Closed Bug 1151398 Opened 10 years ago Closed 10 years ago

Video cannot be played, Chrome can play this

Categories

(Web Compatibility :: Site Reports, defect)

Firefox 37
Other
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: malex.bugzilla, Unassigned, NeedInfo)

References

()

Details

(Whiteboard: [country-ru] [video])

User Agent: Mozilla/5.0 (Android; Mobile; rv:37.0) Gecko/37.0 Firefox/37.0 Build ID: 20150402191953 Steps to reproduce: start page and like to play video on Samsung Note 4: http://m.tvrain.ru/articles/eto_nasilie_nad_konstitutsiej_andrej_zvjagintsev_sergej_parhomenko_marina_davydova_podderzhali_tangejzer-385166/ Actual results: Video cannot be played, Chrome can play this.
I'm offered Flash on that site which Chrome does not support. So the site is sending different content based on user agents. Moving to tech evangelism.
Component: Audio/Video → Mobile
Product: Firefox for Android → Tech Evangelism
When I try to load on Firefox, at a point it displays an infinite wheel. I get in the console Trying to look which requests are related to the player: 09:57:40.756 GET http://cloud.tvigle.ru/static/player/player_builder.min.js [HTTP/1.1 200 OK 558ms] 09:57:40.757 GET http://cloud.tvigle.ru/static/player/html_builder.js [HTTP/1.1 200 OK 579ms] 09:57:42.515 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help http://xhr.spec.whatwg.org/ player_builder.min.js:41:0 09:57:42.619 GET http://cloud.tvigle.ru/api/player/4/ [HTTP/1.1 200 OK 301ms] 09:57:42.982 GET http://cloud.tvigle.ru/static/player/player_api.min.js [HTTP/1.1 200 OK 376ms] 09:57:42.983 GET http://cloud.tvigle.ru/player/html/ [HTTP/1.1 200 OK 977ms] 09:57:44.399 GET http://cloud.tvigle.ru/static/player/viewer/html/css/style.css [HTTP/1.1 200 OK 307ms] 09:57:44.399 GET http://cloud.tvigle.ru/static/player/player.min.js [HTTP/1.1 200 OK 571ms] 09:57:44.400 GET http://cloud.tvigle.ru/static/player/html_html.js [HTTP/1.1 200 OK 292ms] 09:57:45.337 "MessageGateway disabled" player.min.js:40:794 09:57:46.237 Invalid URI. Load of media resource failed. html 09:57:46.238 All candidate resources failed to load. Media load paused. html 09:57:46.308 GET http://cloud.tvigle.ru/static/player/viewer/html/images/loader.gif [HTTP/1.1 200 OK 279ms] 09:57:46.309 GET http://cloud.tvigle.ru/static/player/viewer/html/images/player-sprite.png [HTTP/1.1 200 OK 591ms] 09:57:46.309 GET http://cloud.tvigle.ru/static/player/viewer/html/images/error-bg.png [HTTP/1.1 200 OK 286ms] 09:57:46.370 GET http://cloud.tvigle.ru/static/player/viewer/html/images/error-bg-gradient.png also some similar functions seems to be loaded twice in player.min.js and player_api.min.js Or maybe it's the devtools showing twice the same code with different names. Strange. In the HTML we get <script type="text/javascript"> (function() { var isMobile = navigator.userAgent.match(/(iPad|iPhone|Android|android|WPDesktop)/i) != null; var content = ''; if (isMobile) { content = '<iframe src="http://cloud.tvigle.ru/video/5289366/?playerId=4&partnerId=7&autoStart=0&id=5289366" width="100%" height="100%" frameborder="no" scrolling="no" webkitAllowFullScreen mozallowfullscreen allowfullscreen></iframe>'; } else { content = '\x3cobject class\x3d"TviglePlayer"\x3e\x3cparam name\x3d"id" value\x3d"5289366"\x3e\x3cparam name\x3d"autoStart" value\x3d"0"\x3e\x3cparam name\x3d"partnerId" value\x3d"7"\x3e\x3cparam name\x3d"forceFlashObject" value\x3d"true"\x3e\x3cparam name\x3d"playerId" value\x3d"4"\x3e\x3cparam name\x3d"width" value\x3d"100%"\x3e\x3cparam name\x3d"height" value\x3d"100%"\x3e\x3cparam name\x3d"useAPI" value\x3d"true"\x3e\x3cparam name\x3d"autoChangeVideo" value\x3d"false"\x3e\x3c/object\x3e\x3cscript language\x3d"JavaScript" type\x3d"text/javascript" data-hang\x3d"false" src\x3d"//cloud.tvigle.ru/static/player/player_builder.min.js"\x3e\x3c/script\x3e' } document.write(content); })(); </script> So we get the iframe at the URI. doing window.location = 'http://cloud.tvigle.ru/video/5289366/?playerId=4&partnerId=7&autoStart=0&id=5289366' helps isolate the context for testing. After The MessageGateway 10:24:44.141 "MessageGateway disabled" player.min.js:40:794 10:24:44.345 GET http://cloud.tvigle.ru/api/play/video/5289366/ [HTTP/1.1 200 OK 371ms] 10:24:44.781 GET http://stat.tvigle.ru/track/ [HTTP/1.1 200 OK 861ms] 10:24:44.818 Invalid URI. Load of media resource failed. html 10:24:44.818 All candidate resources failed to load. Media load paused. a request is made to: http://cloud.tvigle.ru/api/play/video/5289366/ Which is in fact a playlist with a JSON file: {"playlist": {"items": [{"videos": {"mp4": {"480p": "http://distribution.tvigle.ru/28/2015/04/05/74988351-a383-4d26-84ae-822c671c6664.mp4?prt_name=tvrain&prt_id=7", "360p": "http://distribution.tvigle.ru/28/2015/04/05/1dd9356e-a005-4783-90f8-d2a35ef8165a.mp4?prt_name=tvrain&prt_id=7", "720p": "http://distribution.tvigle.ru/28/2015/04/05/e4fb64ab-56f5-4054-ba3d-4325a2ea461f.mp4?prt_name=tvrain&prt_id=7"}, "flv": {"480p": "http://distribution.tvigle.ru/28/2015/04/05/f27525a6-a82a-496d-b46a-0dec697adf0e.flv?prt_name=tvrain&prt_id=7", "360p": "http://distribution.tvigle.ru/28/2015/04/05/0589659d-8238-4ef3-8d1b-39c99d1b24d5.flv?prt_name=tvrain&prt_id=7", "720p": "http://distribution.tvigle.ru/28/2015/04/05/ee6d12f4-9b3c-421f-9a05-0bb9877f3a1a.flv?prt_name=tvrain&prt_id=7"}}, "rightholder": 7, "categoryID": 33150, "description": "<p>\u0416\u0438\u0442\u0435\u043b\u0438 \u041d\u043e\u0432\u043e\u0441\u0438\u0431\u0438\u0440\u0441\u043a\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f, 5 \u0430\u043f\u0440\u0435\u043b\u044f, \u0432\u044b\u0448\u043b\u0438 \u043d\u0430 \u043c\u0438\u0442\u0438\u043d\u0433 \u043f\u0440\u043e\u0442\u0438\u0432 \u0446\u0435\u043d\u0437\u0443\u0440\u044b \u0438 \u0437\u0430 \u0441\u0432\u043e\u0431\u043e\u0434\u0443 \u0442\u0432\u043e\u0440\u0447\u0435\u0441\u0442\u0432\u0430. \u042d\u0442\u043e \u043e\u0442\u0432\u0435\u0442 \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u043c\u0443 \u0432 \u043c\u0438\u043d\u0443\u0432\u0448\u0435\u0435 \u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435 \u0437\u0434\u0435\u0441\u044c \u0436\u0435, \u043d\u0430 \u043f\u043b\u043e\u0449\u0430\u0434\u0438 \u041b\u0435\u043d\u0438\u043d\u0430, &laquo;\u043c\u043e\u043b\u0438\u0442\u0432\u0435\u043d\u043d\u043e\u043c\u0443 \u0441\u0442\u043e\u044f\u043d\u0438\u044e&raquo; \u043f\u0440\u043e\u0442\u0438\u0432 \u043e\u043f\u0435\u0440\u044b &laquo;\u0422\u0430\u043d\u0433\u0435\u0439\u0437\u0435\u0440&raquo;. \u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u0439 \u0430\u043a\u0446\u0438\u0438 \u043f\u0440\u043e\u0437\u0432\u0443\u0447\u0430\u043b\u0438 \u0432\u0438\u0434\u0435\u043e\u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0434\u0435\u044f\u0442\u0435\u043b\u0435\u0439 \u043a\u0443\u043b\u044c\u0442\u0443\u0440\u044b \u0438 \u0436\u0443\u0440\u043d\u0430\u043b\u0438\u0441\u0442\u043e\u0432, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 &mdash; \u0410\u043d\u0434\u0440\u0435\u044f \u0417\u0432\u044f\u0433\u0438\u043d\u0446\u0435\u0432\u0430, \u0421\u0435\u0440\u0433\u0435\u044f \u041f\u0430\u0440\u0445\u043e\u043c\u0435\u043d\u043a\u043e \u0438 \u041c\u0430\u0440\u0438\u043d\u044b \u0414\u0430\u0432\u044b\u0434\u043e\u0432\u043e\u0439.&nbsp;</p>\r\n", "subtitlesURL": null, "title": "\u00ab\u042d\u0442\u043e \u043d\u0430\u0441\u0438\u043b\u0438\u0435 \u043d\u0430\u0434 \u041a\u043e\u043d\u0441\u0442\u0438\u0442\u0443\u0446\u0438\u0435\u0439\u00bb. \u0410\u043d\u0434\u0440\u0435\u0439 \u0417\u0432\u044f\u0433\u0438\u043d\u0446\u0435\u0432, \u0421\u0435\u0440\u0433\u0435\u0439 \u041f\u0430\u0440\u0445\u043e\u043c\u0435\u043d\u043a\u043e, \u041c\u0430\u0440\u0438\u043d\u0430 \u0414\u0430\u0432\u044b\u0434\u043e\u0432\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0430\u043b\u0438 \u00ab\u0422\u0430\u043d\u0433\u0435\u0439\u0437\u0435\u0440\u00bb", "aspectRatio": "16:9", "created_at": "2015-04-05 15:33:02", "thumbnail": "http://photo.tvigle.ru/res/2015/04/05/37082e94-f062-4e43-9077-72fc66e19e16.png", "advert": [], "ageRestrictions": "0+", "partnerId": 7, "durationMilliseconds": 67267, "duration": "1:07", "isGeoBlocked": false, "distribution": "progressive", "freezeFrame": "http://photo.tvigle.ru/res/2015/04/05/e952e2ce-bb11-4ae2-a81e-50257566e5ef.png", "id": 5289366, "video_files_size": {"mp4": {"480p": 6607850, "360p": 4523697, "720p": 9917282}, "flv": {"480p": 6670475, "360p": 4586322, "720p": 9982707}}}], "id": null}, "counters": {"tnsPlayerInit": "http://www.tns-counter.ru/V13a***R%3E%url%*tvigle_ru/ru/CP1251/tmsec=tvigle_vl-tvrain/", "showDefaultCounters": true, "tnsVideoStart": "http://www.tns-counter.ru/V13a***R%3E%url%*tvigle_ru/ru/CP1251/tmsec=tvigle_vs-tvrain/", "tnsVideoFinish": "http://www.tns-counter.ru/V13a***R%3E%url%*tvigle_ru/ru/CP1251/tmsec=tvigle_ve-tvrain/", "gaID": "UA-21750282-5"}} Trying one URI in the playlist: → http HEAD 'http://distribution.tvigle.ru/28/2015/04/05/74988351-a383-4d26-84ae-822c671c6664.mp4?prt_name=tvrain&prt_id=7' HTTP/1.1 302 Moved Temporarily Connection: keep-alive Date: Thu, 09 Apr 2015 01:33:00 GMT Keep-Alive: timeout=60 Location: http://178.45.252.114:80/28/2015/04/05/74988351-a383-4d26-84ae-822c671c6664.mp4?prt_name=tvrain&prt_id=7 Server: nginx → http HEAD 'http://178.45.252.114:80/28/2015/04/05/74988351-a383-4d26-84ae-822c671c6664.mp4?prt_name=tvrain&prt_id=7' HTTP/1.1 200 OK Accept-Ranges: bytes Connection: close Content-Length: 6607850 Content-Type: video/mp4 Date: Thu, 09 Apr 2015 01:33:28 GMT ETag: "55212d55-64d3ea" Last-Modified: Sun, 05 Apr 2015 12:40:53 GMT Server: nginx/1.6.2 X-Cache-Hit: HIT working. It's playing on the Android device on Firefox. 10:34:47.550 window.location = 'http://178.45.252.114:80/28/2015/04/05/74988351-a383-4d26-84ae-822c671c6664.mp4?prt_name=tvrain&prt_id=7' 10:34:47.785 "http://178.45.252.114:80/28/2015/04/05/74988351-a383-4d26-84ae-822c671c6664.mp4?prt_name=tvrain&prt_id=7" http://178.45.252.114/28/2015/04/05/74988351-a383-4d26-84ae-822c671c6664.mp4 10:34:47.779 GET http://178.45.252.114/28/2015/04/05/74988351-a383-4d26-84ae-822c671c6664.mp4 So the issue is before. Hallvord, do you see where it's blocking?
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(hsteen)
Whiteboard: [country-ru]
Whiteboard: [country-ru] → [country-ru] [video]
Android|android plus an /i switch for the isMobile regexp - really? :-p Noting also that the regexp will fail in Firefox OS browser. Apart from that, no - haven't found the real problem yet. Spoofing Android on desktop (and disabling Flash) it doesn't load but it does show a static frame from the video (a bit like the canplay event isn't firing) and there's some overlay element that prevents actually clicking the play button so one can't start it manually. Removing the overlay lets you start the video from the UI. But on Android thing seem different since we don't even get the static frame, just a spinner..
Oddly enough, today it's suddenly working for me.. Can you still reproduce?
Flags: needinfo?(hsteen) → needinfo?(malex.bugzilla)
Flags: needinfo?(malex.bugzilla)
It's correct. Works for me too. Was probably changed on the webpage. So we can close here. Thanks!
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: needinfo?
Resolution: --- → WORKSFORME
Product: Tech Evangelism → Web Compatibility
Component: Mobile → Site Reports
You need to log in before you can comment on or make changes to this bug.