единственно надежный и реализуемый способ - разместить видео на специальном хостинге типо ютуба и прочего
другой вариант, использовать сервисы типо
https://www.wowza.com
но это сложнее в настройке
если вам достаточно будет на фронте смотреть сеть пользователя, можно взять что-то такое
const connection = window.navigator.connection.effectiveType;
if ((connection === '4g' && likelihood > .25) ||
(connection === '3g' && likelihood > .5) ||
(connection === '2g' && likelihood > .75)) {
// грузим разные большие файлы
} else {
// грузим маленький файл или ничего не грузим
}
но это сработает не во всех браузерах
или попробуйте, как советуют в другом ответе, HLS