chrome- status cancelled on network dev tools when playing html5 video - html

I have a problem in loading a webpage that has a html5 video element in it that runs into a weird problem in chrome. I say it is weird because the behavior is inconsistent.
here is a screenshot to explain my problem...
this is the side by side comparison of the same page when opened in firefox and chrome. The firefox loads the page as it should but chrome does not load the video when play is clicked. Even IE 11 had no issues in loading the video.
Now let me specify the environment where the problem occurs as well. The whole application is hosted on IHS/ Websphere (test environment-although WAS does all the job- not under my control). The link is,
http://wwwtest.courts.mo.gov/civiceducation/pages/const_proj_home.html
I do have another environment where the site is hosted by tomcat where there is no problem at all no matter what browser is used. The link to that page (the exact page under review) is,
http://www.courts.mo.gov/civiceducation/pages/const_proj_home.html
I would appreciate if someone would help me in understanding what is causing this issue or why. Thanks in advance
UPDATE:::
durin my research i found this SO post What does status=canceled for a resource mean in Chrome Developer Tools? and found this link which says that it is a chrome bug issue dated april 2013 http://wwwtest.courts.mo.gov/civiceducation/pages/const_proj_home.html but then why does chrome load the videos when a different webserver(tomcat) is used?
UPDATE #2 ::::
i was able to isolate the problem just to mp4 files.In my section of code that handled the video, I flipped the source tags that pointed to mp4 and webm such that the webm is now listed first...
<video id="video1" width="850" height="530" poster="../snapshot/constitution_project_home_video_fullsize.png" controls="controls" preload="none" style="display:none;">
<source src="../Media/video/webm/const_proj_welcomevideo.webm" type="video/webm" />
<source type="video/mp4" src="../Media/video/mp4/const_proj_welcomevideo.mp4" />
If you are seeing this, then your browser does not support the video element. You are using an <strong>outdated</strong> browser. Please upgrade your browser to improve your experience.
</video>
Now the page load works just fine.
Even though this solved my original problem, I would still like to know what is causing this issue.
UPDATE #3::: Disregard update#2
I thought that the problem was solved but over the weekend I did not test it and now even webm files are not working. Its cancelling the request again. Only when I have websphere as my app server. Hence in am adding the tag "Websphere" back into the mix. Here is a screenshot now...
And here is the comparison screenshot between tomcat server and WAS 8.5 side by side on chrome
I am running out of ideas as my requirement going forward is that the content is going to be hosted on the Websphere server. Any help is greatly appreciated. Thanks

After researching through a lot of materials thats is available online , the bug report from google for chromium etc, I still was not able to understand what was causing the myriad of inconsistent behavior( some videos worked sometimes- Cached maybe?). But I also found out that the version of chrome that I was using were 32 and 34 respectively on 2 test machines. My workplace network policy also prohibited chrome from updating itself automatically.
Hence I performed a manual update on one of my systems ?(v32 to v38) and after that update things started working the way it was supposed to. I updated my other system as well after that and it worked again.
So I dont know if I can post this as an answer here but to me it is now confirmed that it was a chrome bug that was causing the inconsistent behavior. And simply updating the browser (uninstall/re-install) worked as a solution.
I apologize to those who came here looking for a full fledged solution to this problem only to come here and find out that they have to just update the browser.
And last but not the least-- A BIG THANKS to all to who took time to even read and respond to my issue.

Related

why the audio goes out of sync with video in chrome

I have a website which shows some movies online. I'm using hls.js version 0.12.4 for streaming my videos and every thing works fine most of the time, but occasionally when our users use chrome, the movie's audio goes out of sync with the right frame of video and this asynchronism get worse and worse till refresh the browser. how can I fix this issue?
does anybody know that upgrading to last hls.js version solve the problem or not?
It may be a problem with the version of Chrome that you are using. Google has documented this problem happening with the embedded media player in Chrome(Google Chrome bug= 1018904, Chrome version 78.0.3904.90)

MP4 video will not play in Internet Explorer 11

So I'm putting together a very video-heavy project with self-hosted videos in HTML5. I've got my videos encoded in both H.264/AAC MP4 and WebM formats, and they work beautifully in Chrome, Firefox, Safari, Mobile Safari etc. All good.
This is the most basic version of my code (in the production site I'm running it with VideoJS on top, however whether it's there or not, this problem occurs so I've removed the code for it from this example):
<video preload="true" width="720" height="406" controls="true">
<source src="/55.mp4" type="video/mp4">
<source src="/55.webm" type="video/webm">
</video>
But Internet Explorer refuses to play ball. When I load up the page in IE 11, I just get a video decoding error:
In Internet Explorer's developer tools, I can see that it's getting a content type of video/mp4, and just to completely eliminate server issues I've tried it on both my local Apache install and my web hosting. If I use the console to get the playback error, I get MEDIA_ERR_DECODE : 3, which, according to the site I just linked to, means
An error has occurred in the decoding of the media resource, after the resource was established to be usable.
This tells me that there's a problem with the video encoding... but I can't see it.
The video files were originally exported as QuickTime videos from Adobe Premier or Final Cut Pro (I'm not sure which the video guy uses), and then run through Miro Video Converter to output MP4 and WebM formats. When I open the MP4 files up in VLC, it shows me the following information about the codecs in use:
I can't see anything wrong there; it looks exactly like every reference I've found online says MP4 video should be for maximum compatibility - H.264/AVC video and AAC audio.
Can anyone see anything wrong with what I'm doing? I'd love to be able to post an example video, however I can't due to privacy reasons. All the same any help would be greatly appreciated.
So this is somewhat embarrassing, but I did eventually figure it out.
The problem wasn't so much with Internet Explorer as it was the VM I was using to run Windows to test in Internet Explorer.
Essentially, I was running Windows 7 inside of a VirtualBox VM. When I (in desperation) sought out an actual physical machine running Windows... lo and behold it played!
I can only assume that the video drivers provided by VirtualBox didn't like decoding MP4 or something. The videos played fine in other browsers, but I'm guessing they decode/render video differently to how IE does.
I had the same issue recently with VirtualBox running Windows7 on MacOS. Solved by enabling 3D acceleration in the "Display" settings for the problematic VM.
The OP is a genius. I was struggling with this same issue for days and could only test on a windows machine today. This led me to change the configuration of my Parallels Desktop v15.
Im running IE 11 on Windows 8.1 and changed in the Graphics > Resolution > Advanced settings > Vertical synchronization should be ticked off.
Maybe this will help other people.
Maybe worth a shot: Rebooting Windows 7 within VMWare Fusion solved it for me.

Chrome not working perfectly with video embedded via video.js

I am using videojs to embed video on the following website: www.airfixthemovie.com. Html video has preload="none" which makes it a bit better. Any suggestion on how to make the video to work perfectly in Google Chrome? The trailer stops sometimes in Chrome and it looks like Chrome is loading or buffering. Thanks for your help.
From the network inspector it seems there's something wrong with the backend serving mp4 files. The requests are canceled and there are about 4 requests to the mp4 a second and the Content-Range header seems to throw completely random digits there.
I know this doesn't really answers your question but at least investigate the mp4 thing server side.

Chrome ignoring audio preload="metadata"

My code is basically this
<audio controls preload="metadata">
<source src="linktofile.wav" type="audio/ogg">
</audio>
In Firefox 18.0.1 - it results in 8.4 KB data download (checked on Firebug).
But in Chrome 24.0.1312.52 m - it starts downloading the entire file (In developer tools - it shows download size in MBs).
What gives?
As I understand preload values are hints for the browser, not absolute commands. In other words, they are a suggestion for how the browser should behave. The browser may or may not follow the hint so don't be surprised if it doesn't always work.
http://www.mediacollege.com/internet/html/audio/preload.html
Version v42 and above now seem to respect this. Yay!
(current beta version as of yesterday)
You can see now a 206 partial content request, and 66kb downloaded (my video is 600kb+)
However: VERY IMPORTANT
In case you didn't know, Chrome can only have 6 simultaneous connections at the same time to the same server.
Currently in v42 + v43 they have a terrible bug which means that once the metadata is loaded that file is not released back into the 'pool' for available connections. So if you load 6 or more videos the 7th blocks and won't download.
I've reported this as a bug https://code.google.com/p/chromium/issues/detail?id=468930
This may not be the case for all videos, but I have 10 short MP4 videos encoded with Adobe Media Encoder and they get stuck.
If in doubt, or experiencing this problem you've got no choice but to set preload='auto' for now. Hopefully this bug will never make it into the wild.
preloading is fixed, and has been for a while
the behavior with preloading with it holding the connection is not a bug.
It keeps the connection open to allow for stream protection by use of one time tokens.
If it didn't do this, the audio or video wouldn't even play if it is protected by a token.
Therefore, chrome MUST keep the connection open until the page is left or closed.

Chrome HTML5 Videos stop working if too many tabs are open - Memory issue?

I'm using jQuery to dynamically write <video> objects, and running videojs to init them. After I play a video, SOMETIMES when I try to play it again, it just won't play, and from that point on, even after refreshing the page, no videos will play. Each time, the <video> object renders, but the video just doesn't play. Nothing is written to the console. There don't appear to be any errors. Restarting Chrome resolves the issue, but only momentarily. After playing a few videos, the issue comes back again.
I found that closing other tabs in Chrome does indeed fix the problem, so it appears to be some kind of memory issue.
I'm running Chrome 19.0.1084.46
Exactly how many video tags to you have? What do they look like? Do they include preload='none' attribute? Are the source videos all on the server?
I ask because if you have more than six video tags on a single page pointing to the same source server then you could be experiencing "connection starvation":
Chrome allows only six open connections to a single server (based on DNS name in the URL)
the html5 video tag's preload attribute default value is 'auto'
Chrome's auto behavior is to preload some data and leave the connection open ready to pull more data for the video
So, with more than six video tags on a single page pointing to a single server, the videos will not play. To resolve this particular problem, set the preload attribute to 'none'
Stu is correct. But sometimes, in my experience, Chrome ignores the preload="none" attribute and goes ahead and opens a connection anyway. I've had much problem with this when developing a site which had many smaller videos on it. The connections blocked the rest of the content (images, custom fonts (and when custom fonts are delayed, the text does not even render)) My solution was to build an own preloader which loads the images. This made sure I could control at least when the images (which was the most crucial aspect from a design point of view) was loaded.
That solved the problem with images not showing but the problem still remained. So the best solution is to set up subdomains pointing to the same server, like: v1.server.com, v2.server.com, and so on. This means you won't have to move your files and you get the benefit from enabling browsers to have more open connections. Watch out for increased dns lookup time though.
There is a known bug with Chrome. It will not play the same video in multiple tabs at the same time. This is probably what you are running into if you are a developer and happen to have your page open in two tabs at the same time.
The bug has been known for almost 5 years as of this writing. Feel free to visit the Chromium bug report and star the issue. Hopefully it will increase in priority for the Chrome devs.
In the meanwhile, a workaround is to use a random query parameter in your video src. For example, instead of <video src="vid.mp4">, use <video src="vid.mp4?_u=1253412">. This will break Chrome's caching mechanism and allow the same video to be streamed to two different tabs at the same time.
I had a similar but related issue which I can expand on slightly here.
I had 14 different small videos on a page but only 2 were available at a time. Setting preload = 'none' didn't fix the issue so I also used a data attribute to store the src, and remove the src for all videos that aren't currently being viewed.