Alex313031 / thorium

Chromium fork named after radioactive element No. 90. Windows and MacOS/Raspi/Android/Special builds are in different repositories, links are towards the top of the README.md.
https://thorium.rocks/
BSD 3-Clause "New" or "Revised" License
4.67k stars 145 forks source link

Ideas to buffer full video #58

Open trimechee opened 2 years ago

trimechee commented 2 years ago

EDIT : After several tests and comparisons with other web browsers and streaming websites, I find that increasing the video buffer depends on the website and not the web browser, for example via the second video player "Dstream", Chrome and Firefox buffer the same quantity even when I modify the parameters of the MSE media source extension of Firefox and the default video buffer of "Dstream" is comfortable (5 minutes video buffer but sometimes other video players only allow a buffer of 40 seconds... .)

https://french-anime.com/animes-vf/1391-bucchigiri.html

but it happens that in other video players, Firefox with the default values buffer full video while chrome and chromium browsers buffer a small amount which penalizes us and jerky palyback when the video is in high definition and the wifi is weak... .

https://livetv767.me/frx/showvideo/1296935_fulham_tottenham/

so we hope Mr Alex will be able to adjust the video buffer parameters like in Firefox, thank you :)


Hello, thank you for this amzing awesome browser 🥇 !!

I have already asked you if it is possible to buffer full video when you have a weak connection to avoid jerks and interruptions....

I did some new research and maybe it can help to enable this important option in chromium browsers :

sometimes the internet connection is weak and it is necessary to buffer full video or increase the size of the video buffering to avoid jerky interruptions on streaming sites and for smooth playback, I found how buffer full video and even buffer youtube videos with firefox browser by putting:

cache_readahead_limit: 999999 cache_resume_threshold: 999999

set media.mediasource.enabled to false

I even made a personal discovery and I discovered that when I deactivate the different types of cache:

set browser.cache.disk.enable, browser.cache.disk.smart_size.enabled, browser.cache.disk_cache_ssl and browser.cache.offline.enable to false

I can buffer full streaming video!!!

but on chrome and chromium, it's more complicated because chrome removed MSE media source extension API from chrome flags....

I tried several things: enable command line and chrome flags to increase buffering in chrome chromium:

--video-underflow-threshold-ms

chrome flag: Increase the nesting threshold before which setTimeout(..., <4ms) start being clamped.

--mse-audio-buffer-size-limit-mb

--mse-video-buffer-size-limit-mb

--enable-protected-video-buffers

--audio-buffer-size --force-protected-video-output-buffers

-enable-swap-buffers-with-bounds

--mem-pressure-system-reserved-kb

--aggressive-cache-discard -disable-back-forward-cache

--enable-protected-video-buffers --mse-video-buffer-size-limit-mb=150 --mse-audio-buffer-size-limit-mb=10

I even installed different scripts for full buffering and even used the console in developer mode:

youtube buffer enhence

https://greasyfork.org/en/scripts/442685-youtube-buffer-enhence-%E7%BC%93%E5%86%B2%E5%A2%9E%E5%8A%A0

GREASYFORK USESCRIPTS Custom Native HTML5 Player with Shortcuts

Force a full preload HTML5 video with Javascript? https://stackoverflow.com/questions/16581801/force-a-full-preload-html5-video-with-javascript

HTML5 video full preload in javascript

https://stackoverflow.com/questions/9616236/html5-video-full-preload-in-javascript/23299806#23299806

jQuery.html5Loader https://github.com/GianlucaGuarini/jquery.html5loader

MSE Dump Tools Media Source Extensions API 数据 Dump 工具

https://greasyfork.org/en/scripts/420325-mse-dump-tools

Custom Native HTML5 Player with Shortcuts https://greasyfork.org/en/scripts/404717-custom-native-html5-player-with-shortcuts

YouTube - Auto-Buffer & Auto-HD

krisnoble / mediabuffer

Buffer HTML5 audio/video for uninterrupted playback.

https://github.com/krisnoble/Mediabuffer Youtube Pause and full buffer

PONY56

https://pastebin.com/ZGcpri47

What it does: It pauses your youtube video. When video stop buffering it manually move the seeker to force the download. When the download is finished, it places the cursor back to it's original position. You are then ready to play a fully buffered video. */

/ How to use: Paste this script in the console of your browser (F12 > Console). Tested on Firefox Linux. /

// Note: Maximize your "browser.cache.disk.capacity" (type "about:config" in Firefox) if you are loading long videos......

I tried all that but failed to enable buffer full video, I tried disabling cache in developer console, and put:

--disk-cache-size=2147483647

--disk-cache-size=1 --media-cache-size=1

but it didn't work, we will be grateful if you have the generosity to find a way or make a script to increase the video buffering or buffer fill video especially when watching full HD video with a weak internet connection which becomes a nightmare, thank you very much !

trimechee commented 2 years ago

I discovered very very powerful amazing scripts to donwload all types of videos or discover media source extension tools ::

https://greasyfork.org/fr/scripts/445751-unlimited-downloader

https://github.com/Momo707577045/m3u8-downloader/blob/master/README-EN.md

https://greasyfork.org/en/scripts/18671-inject2download

https://github.com/acolwell/mse-tools

ArtPlayer.js is a modern and full featured HTML5 video player

https://github.com/zhw2590582/ArtPlayer

https://artplayer.org/

https://www.v2ex.com/t/856510

https://github.com/zhw2590582/bilibili-live-recorder

https://github.com/dabaisuv/Tampermonkey-Script/commit/d10978268b1bda38fcbe1a75e0aaa2665409ac6f

https://segmentfault.com/a/1190000025182822

https://github.com/zhw2590582/live-video-study-notes

https://github.com/zhw2590582/FlvPlayer

https://flvplayer.js.org/

trimechee commented 2 years ago

I have made many test experiences, i discouver it is enough to disable only one parameter to be able to buffer full video, it is disable media source extension (MSE), google which owns youtube has hidden or removed this option media source extension API in chrome flags because probably it does not want that we activate this option in youtube, google would like to save bandwidth but unfortunately, browsers do not put enough buffer when we have a weak connection and it jerks in some streaming websites, it is a scandalous injustice :(

buffer full video is useful because we don't need to download video and downlaod video is often complicated, and it saves the 4G data plan, we can in our smartphone leave the video full buffer until the end and thus the video is saved in the smartphone and no longer need 4G to watch video, the same for the notebook, I test and the full buffering is very fast and I can even turn off my wifi and watch my videos without internet, I hope the wonderful Mr Alexander David Frick can discouver the secret in sha Allah and invent a solution for full buffer, it would make our beloved Thorium Browser even more popular and impressive and awesome exceptional !

if browsers buffer the streaming video enough, I wouldn't have asked for this option, it's out of necessity, at night, my sisters often use wifi and sometimes i have weak connection lol

trimechee commented 2 years ago

https://w3c.github.io/media-source/index.html#idl-def-sourcebuffer

trimechee commented 2 years ago

Hello, i find this video which reveal how disable media source extension but we should donwload chrome 50 and merge it with the current version of chrome, not sure if it's secure : https://www.youtube.com/watch?v=XyVDmsfgXV8&t=3s

trimechee commented 2 years ago

I find where we can find old chromium versions https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html

trimechee commented 1 year ago

May be it can help

https://github.com/jhiesey/to-arraybuffer

https://www.npmjs.com/package/buffer

trimechee commented 1 year ago

May be adding option to changing the default user agent to user agent of smartphone mobile browser and this will increase the default amount buffer of video, we just need to see the video in full screen so it doesn't matter the UI of the browser