RobRich999 / Chromium_Clang

Chromium browser compiled with the Clang/LLVM compiler.
157 stars 10 forks source link

Enable MSE chrome flag #37

Closed trimechee closed 6 months ago

trimechee commented 7 months ago

Hello, thank you very much for all your efforts in providing us this great awesome and wonrderful web browser which has new and revolutionary features compared to other browsers ! 🥇 💯

Please Mr @RobRich999 , I have request request to make our beloved Chromium_Clang Browser even more wonderful in sha Allah !

I think it will be very good idea to add a new option essential fundamental not found in other browsers and unfortunately removed from chrome 50 : buffer whole full video media streaming because some users have a slow internet connection and we need the video loads completely to avoid jerks, so it will be amazing to force have option to force buffer whole full HTML5 Audio/Video for Uninterrupted Playback , or increase the network cache which is often insufficient on weak wifi connections when many people connect to the wifi network at once and the playback of HD video streaming becomes unstable jerky annoying especially since many streaming sites do not offer quality standard 360p ou 260p and it is becoming more and more difficult to download videos from streaming sites that offer tv shows or documentaries, ou pour regearder du live streaming sur les istes streaming.....

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 : How to disable media source extensions in Chrome? https://www.youtube.com/watch?v=XyVDmsfgXV8 chrome://flags/#disable-media-source [disable this]

I tried a lot of tips, scripts, flags.... to deactivate MSE or increase the network cache but I failed.... I post what I was able to find during my research in a second comment, maybe this can be useful.....

trimechee commented 7 months ago

i have disabled media source extension in firefox and pale moon and i have buffered full video on many streaming sites, but chromium has hidden or disabled media source extension API from chrome flags, i tried to increase the cache network for MSEs with these command lines but unfortunately it does not work:

--mse-audio-buffer-size-limit-mb=12

--mse-video-buffer-size-limit-mb=150

--enable-protected-video-buffers

--audio-buffer-size

--force-protected-video-output-buffers

-enable-swap-buffers-with-bounds

it will be exceptional and useful for the millions of people who have weak connections and lack smooth streaming, it will be great if the amazing Ungooled Chromium gives us this gift of increasing media buffering or a solution to disable MSE to buffer ful video and enjoy streaming without embarrassment, because even when trying to download the videos, many videos are protected and impossible to download them and several video download extensions are full of ads or malware or not open-source, thank you very much !

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

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 enhance

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 maybe add a way or 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 !

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/

I have made many test experiences, i discover 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 Rob Rich can discouver the secret in sha Allah and invent a solution for full buffer, it would make our beloved Chromium_Clang 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

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

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

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

May be it can help

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

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

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

, I could not full buffer to the end video streaming in firefox browser and many people were in my case despite putting the values:

media.cache_readahead_limit 9999 media.cache_readahead_limit.cellular 9999

media.cache_resume_threshold 9999 media.cache_resume_threshold.cellular 9999

and after many attempts and trials, I was able to find the solution by putting the values previously mentioned and at the same time putting this value that disables MSE media source extension :

media.mediasource.enabled FALSE

and so I was able to full buffer to the end several streaming videos and have a smooth and jerk-free playback on several streaming platforms although my internet connection can become weak when many members of my family connect to it and I have no no longer need to have an expensive internet subscription with a higher speed to watch the videos in high HD and 1080p and 4K and I think my discovery is one of the greatest discoveries of the century lol!

for example I can watch videos from the "uqload" platform, ok.ru/video and many other sites with full buffer to the end like on this site!

https://french-anime.com/exclue/1061-bleach-sennen-kessen-hen-vostfrrrr.html

chromium has removed the flag which allows to disable the MSE media source extension since version 50 if my memory is good....

so my idea for the magnificent Ungoogled-Chromium team is to compile at source a special version of our beloved Ungoogled-Chromium browser with media source extension disabled at source by checking if there are parameters in the source code like in firefox media.cache_readahead_limit and media.cache_resume_threshold that 'we can change their values....and check if it works on this site by exp with the uqload platform by checking the network activity in the task manager:

https://french-anime.com/animes-vf/1218-dead-mount-death-play.html

and so we can remedy the problem of the absence of the flag in chromium allowing to deactivate MSE media source extension and therefore please , we hope there would be a second special or experimental version of Chromium_Clang browser named "Chromium_Clang without MSE with media source plugin disabled"

we know that compiling a new version of a web browser takes hours and it's very complicated and complex and we will be very grateful to Chromium_Clang if he gives us this rare exceptional gift unique in the world because I think it's worth it and it saves a lot of money, because it becomes difficult to download videos from streaming sites because the videos are well protected, and above all we can, for example, using the amison's wifi full buffer several episodes of our tv series favorite in our smartphone or laptop then we can watch our tv series episodes without internet when we go outside the house and without needing an expensive 4G or 5G plan

I find some documentation about MSE where it seems we can specify the size of the network cache :

https://source.chromium.org/chromium/chromium/src/+/main:media/base/media_switches.cc?q=kMSEAudioBufferSizeLimitMb&ss=chromium

https://source.chromium.org/chromium/chromium/src/+/main:media/base/media_switches.cc?q=kMSEVideoBufferSizeLimitMb&ss=chromium

and here is some technical documentation about MSE Media Source API :

https://www.w3.org/TR/media-source-2/

https://web.dev/media-mse-basics/

https://developer.mozilla.org/en-US/docs/Web/API/Media_Source_Extensions_API

I have tried with mse enbaled and disbaled in pale moon and basilisk browser, with mse enable and disabled, i can full buffer the video from uqload, ok.ru, sibnet....but other site only load 30 seconds. ...so we hope that the great Ungoogled Chromium Browser team will do its own internal test, a rare test unique in the world that no chromium browser can do for example on this streamig site:

https://french-anime.com/animes-vf/

if some platforms like uqload full buffer, then it might be worth doing this special version if you have the ability and generosity and we know it's very complex difficult, and if no platform full buffer , then it's logical there is no longer any point in making a special version with MSE disabled, thank you in advance :)

in chromium, we would like to test but the flag has been deleted so i can't test, i added these command lines :

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

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

https://peter.sh/experiments/chromium-command-line-switches/

my request can save expensive 5G/4G plans, because we can by manipulating MSE full buffer videos streaming in smartphone on many streaming paltforms and we can watch them offline without 4G and 5G mobile plan, thank you agai for he awesome browser Chromium_Clang ! 💯 🥇

RobRich999 commented 7 months ago

Source changes from an old release like v50 to the current v122 typically can be and usually are enormous. Apologies, but trying to track all that down is unlikely happening for me.


AFAIK, I suspect it is MPEG-DASH you would want to disable to fully buffer a video at YouTube and many other modern streaming sites. IIRC, that is (was?) a common option in many browser video extensions, at least for YouTube playback.

That said, for your purpose, you would likely be better served using yt-dlp and one of the various GUI apps for it, instead of relying upon a browser for playback.

trimechee commented 7 months ago

Ohh very interesting information, thank you very much @RobRich999 for your precious advices :)

I suspected that it would be difficult to reintroduce MSE, reallt it's too bad Chromium removed this flag....

I can use firefox to full buffer several streaming videos but the problem some say firefox will perhaps go under only 2% of users and American and British governments could abandon support for firefox....

https://web.developpez.com/actu/351558/Firefox-serait-au-bord-du-gouffre-avec-une-part-de-marche-qui-degringole-vers-le-seuil-critique-de- 2-percent-below-which-some-government-websites-stop-supporting-a-browser/

yes I use the excellent" media-downloader " which uses yt-dlp and other donwloader engines

https://github.com/mhogomchungu/media-downloader

but the problem, I often watch videos on streaming sites which have embed video and yt-dlp cannot detect these embed video as in this site....

https://french-anime.com/

I can use video download helper or FDM, or get them all but sometimes, I don't like the episode or I skip a lot of video passages so I would like to avoid downloading hence my proposal to increase the network cache for a smooth playback....I heard that vlc media player 4 is preparing a plugin for web browser, we hope to be able to watch video streaming via vlc player....

Ohhh that's probably the solution, please do you know a way or a flag to disable MPEG-DASH so that I can test if it works with videos from streaming sites ?

trimechee commented 7 months ago

Hello Mr @RobRich999 , actually, I think that deactivating mse and all that it entails in terms of rewriting the code and an immense effort is not worth it especially since certain media players of certain streaming sites do not work if MSE is deactivated, but other streaming sites work like the uqload player even if mse is disabled.....

so here is my other request please: change upstream source code of network cache of MSE for buffering by default 2 minutes of the video or buffer 3 minutes regardless of whether our connection is strong or weak, because it has no impact on a fiber or 5G connection or modern ssd or hdd....

i tried many flags and command line but nothing work, may be chromium blocks these command line so our hope is to add this flags to Chromium-clang so that we can activate these options and increase the network cache and test, and imitate Pale moon browser which has achieved the feat of increasing the network cache of video streaming without deactivating MSE media source extension! I tested palemoon with this site by choosing the third uqload player:

https://french-anime.com/animes-vf/1278-jujutsu-kaisen.html

https://www.palemoon.org/

so even if palemoon is based on firefox, we hope that Chromium_Clang can activate these flags to increase network cache, thank you!

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 find a modern updated browser based on chromium 49 so theorically, we can disable MSE but even I install this browser, it is in chineese language so i can't do test and experiments ....the description of this browser said apparently we can watch streaming videos as local video....

https://github.com/weolar/miniblink49/ http://miniblink.net/ https://github.com/mediaexplorer74/miniblink49 https://github.com/weolar/miniblink49/ https://t.me/miniblink https://forum.miniblink.com/

RobRich999 commented 6 months ago

Try bumping these limits considerably.

--mse-video-buffer-size-limit-mb=150 --mse-audio-buffer-size-limit-mb=10

Perhaps by 10x:

--mse-video-buffer-size-limit-mb=1500 --mse-audio-buffer-size-limit-mb=100

trimechee commented 6 months ago

Great ! Thank you so much :) if i have other buffering streaming, i will try to use for the first time "neat download manager", it seems to be the free alternative to IDM even it is not open source....thank you again for your precious help and advices :) 🥇 💯

trimechee commented 6 months ago

Hello, i find this article but i don't understand how adding this code :

How to enable buffer in a php html5 video?

https://stackoverflow.com/questions/49746801/how-to-enable-buffer-in-a-php-html5-video

"Please add the preload="auto" on video tag in HTML so the browser should load the entire video when the page loads.

don't use the PHP fopen function to load the video using the direct URL to video tag like this.

because the file opening takes time. if you want PHP file as well so use the PHP like this

<?php echo $path = "http://myserver.com/myfiles/greetings.mp4"; ?>

"