I produce content for digital signage screens. Using HTML the screen's web browser caches a 5-15 video at the start of the day, so that it is available for playback throughout the day. This is working, however I still get a judder or two during the first couple of seconds of playback. I'm guessing that this is a browser issue. Perhaps some combination of the time it takes to add a video tag to the DOM and / or RAM issue, effectively the rendering of the video to screen is subject to some kind of a bottle-neck. Does anyone have any experience / strategies / suggestions on how I might be able to improve playback? I can't change anything about the target machine / browser / screen. I can only change the HTML and the video. Here are the video compression specs:
*** General Parameters ***
- Name: CampaignVideo.mp4
- Container: MP4 - QuickTime
- Size: 2.99 MB
- Duration: 10s 0ms
- Bitrate: 2 390 Kbps
*** Video Track Parameters ***
- Format: H.264/MPEG-4 AVC
- Bitrate: Max.: --- / Average: 2 058 Kbps / Min.: ---
- Frame rate (fps): Max.: --- / Average: 25.000 / Min.: ---
- Encoding profile: Main@L4.1
- Image size: 1080*1920
- Pixel Aspect Ratio: Undefined
- Display Aspect Ratio: 0.562
- Interlacing: Progressive
and the HTML tag in question from my JS:
videoLoader.innerHTML += "<video id='video' autoplay><source id='mp4' type='video/mp4'/></video>";
Thanks in advance.
+ Reply to Thread
Results 1 to 3 of 3
If the judder isn't in the movie than the webbrowser, and in particular the html 5 player, will cause the judder i guess.
Maybe lowering the bitrate will help?
or change the container format to webm or ogg? but browsersupport may be a issue
You didn't define width and height of the video, maybe this is of any influence?
maybe this will help https://www.w3schools.com/tags/ref_av_dom.asp
It refers to a play() function you didn refer to in your code?
What do you mean by cached? Even if you cache the video in memory it may be swapped to virtual memory by the OS as memory is needed by other processes -- meaning it has to be loaded from disk again. You need to allocate nonswappable memory to prevent that. Another way to prevent this is to periodically access the video, even if you don't display it (the OS uses a least-recently-used algorithm to determine what can be swapped to virtual memory). Or you can disable virtual memory in the OS. That may cause performance issues elsewhere though.