[ home / recent / all ] [ b / dis / pol ] [ a / c / e / lgbt / mu / p / v ] [ rss / tor / i2p / status / meta / about ]

/b/ - Базгранина

Name
Email
Subject
Comment
File
Embed
Password (For file deletion.)
[Return] [Go to bottom] [Catalog]


File: Screenshot_2026_06_28-3.png (111.56 KB, 383x727) ImgOps

Screenshot_2026_06_28-3.png (111.56 KB, 383x727)

 No.18189

Для кращого стрімінгу відео в I2P (тобто відтворення файлу, який вже був завантажений на сайт, без завантаження користувачем) мені допомогло наступне: Високоякісне стиснення; Зменшення кількості тунелів до 2 (двох) без резервних тунелів; Можливо, велика кількість транзитного трафіку на маршрутизаторі також допомагає.
Щоб відновити відтворення під час буферизації, мені потенційно допомогли такі методи: очікування; увімкнення та вимкнення паузи та повноекранного режиму; перемотування відео назад. Сервіс стиснення https://hdconvert.com/en/compress_video_online.html .
Як запропонував ChatGPT (тобто це не я придумав код), щоб не було повного відвалу відтворення, можна використовувати такий код. Однак відновлення може бути тривалим
<script> function attachRetry(video) { let retryCount = 0; const MAX_RETRIES = 5; let started = false; function tryPlay() { video.play().catch(() => {}); } function recover() { if (retryCount >= MAX_RETRIES) return; retryCount++; const time = video.currentTime; // НЕ використовуємо load() одразу // тільки пробуємо відновити відтворення setTimeout(() => { if (video.readyState >= 2) { video.currentTime = time; tryPlay(); } }, 500); } // фіксуємо момент, коли відео реально почало життя video.addEventListener("timeupdate", () => { if (!started && video.currentTime >= 0.1) { started = true; } }); // НЕ реагуємо на buffering до 6 секунд video.addEventListener("waiting", () => { if (!started) return; if (video.currentTime < 6) return; // тільки легка перевірка, без reload setTimeout(() => { if (video.readyState < 2) { recover(); } }, 2000); }); // реальна помилка → відновлення video.addEventListener("error", () => { if (video.currentTime < 6) return; recover(); }); video.addEventListener("stalled", () => { if (video.currentTime < 6) return; recover(); }); } attachRetry(document.getElementById("video1")); attachRetry(document.getElementById("video2")); </script>
http://7knrms2wnpgr2pwp4nkctfvy5vzmudqaihdm2qjrxvxstczowr5q.b32.i2p/cat-video-7655.html
Не знаю, що буде при спробі одночасного відтворення відео не одним користувачем


[Return] [Catalog] [Post a Reply]
Delete Post [ ]
[ home / recent / all ] [ b / dis / pol ] [ a / c / e / lgbt / mu / p / v ] [ rss / tor / i2p / status / meta / about ]