BUR-58 исправлен import mpegts. #16

Merged
APervov merged 1 commits from bur-58 into dev 2026-07-05 10:05:03 +00:00
Owner
- Исправлены комментарии, оставленные в https://git.greact.ru/APervov/ui/pulls/12/files#issuecomment-208 https://git.greact.ru/APervov/ui/pulls/12/files#issuecomment-210
APervov added 1 commit 2026-07-05 10:04:57 +00:00
APervov merged commit ca78c0b17b into dev 2026-07-05 10:05:03 +00:00
NBizyaev reviewed 2026-07-05 13:04:21 +00:00
@@ -31,3 +32,1 @@
setError('Браузер не поддерживает MPEG-TS поток');
return;
}
player = mpegts.createPlayer(
Contributor

ах да, тут по видеоблоку БУР-58 есть ещё одна добавка
методом проб и ошибок были определены оптимальные параметры воспроизведения потока

  {
    enableWorker: true,

    // Включаем stash, чтобы сглаживать редкий / рваный поток
    enableStashBuffer: true,
    stashInitialSize: 512,              // немного увеличенный stash для накопления

    autoCleanupSourceBuffer: true,
    autoCleanupMaxBackwardDuration: 10, // держим минимум истории
    autoCleanupMinBackwardDuration: 5,

    // Разрешаем latency-chasing с «комфортной» задержкой
    liveBufferLatencyChasing: true,
    liveBufferLatencyMaxLatency: 5.0,   // целевая задержка до ~5 секунд
    liveBufferLatencyMinRemain: 2.0,    // оставляем ~2 секунды буфера после сброса

    liveSync: false,                    // не пытаемся мягко догонять — приоритет стабильности
    lazyLoad: false,
    deferLoadAfterSourceOpen: false,
  }

то есть чтобы получалось так

const player = mpegts.createPlayer(
  {
    type: 'mpegts',         // MPEG-TS поток по WS
    isLive: true,
    url: wsUrl,
    hasAudio: false,        // видео без аудио
  },
  {
    enableWorker: true,

    // Включаем stash, чтобы сглаживать редкий / рваный поток
    enableStashBuffer: true,
    stashInitialSize: 512,              // немного увеличенный stash для накопления

    autoCleanupSourceBuffer: true,
    autoCleanupMaxBackwardDuration: 10, // держим минимум истории
    autoCleanupMinBackwardDuration: 5,

    // Разрешаем latency-chasing с «комфортной» задержкой
    liveBufferLatencyChasing: true,
    liveBufferLatencyMaxLatency: 5.0,   // целевая задержка до ~5 секунд
    liveBufferLatencyMinRemain: 2.0,    // оставляем ~2 секунды буфера после сброса

    liveSync: false,                    // не пытаемся мягко догонять — приоритет стабильности
    lazyLoad: false,
    deferLoadAfterSourceOpen: false,
  }
);

только их нужно вынести в константу компонента CameraView
и юзать там в строках 33-34 файла src/components/CameraView.tsx

ах да, тут по видеоблоку БУР-58 есть ещё одна добавка методом проб и ошибок были определены оптимальные параметры воспроизведения потока ```ts { enableWorker: true, // Включаем stash, чтобы сглаживать редкий / рваный поток enableStashBuffer: true, stashInitialSize: 512, // немного увеличенный stash для накопления autoCleanupSourceBuffer: true, autoCleanupMaxBackwardDuration: 10, // держим минимум истории autoCleanupMinBackwardDuration: 5, // Разрешаем latency-chasing с «комфортной» задержкой liveBufferLatencyChasing: true, liveBufferLatencyMaxLatency: 5.0, // целевая задержка до ~5 секунд liveBufferLatencyMinRemain: 2.0, // оставляем ~2 секунды буфера после сброса liveSync: false, // не пытаемся мягко догонять — приоритет стабильности lazyLoad: false, deferLoadAfterSourceOpen: false, } ``` то есть чтобы получалось так ```ts const player = mpegts.createPlayer( { type: 'mpegts', // MPEG-TS поток по WS isLive: true, url: wsUrl, hasAudio: false, // видео без аудио }, { enableWorker: true, // Включаем stash, чтобы сглаживать редкий / рваный поток enableStashBuffer: true, stashInitialSize: 512, // немного увеличенный stash для накопления autoCleanupSourceBuffer: true, autoCleanupMaxBackwardDuration: 10, // держим минимум истории autoCleanupMinBackwardDuration: 5, // Разрешаем latency-chasing с «комфортной» задержкой liveBufferLatencyChasing: true, liveBufferLatencyMaxLatency: 5.0, // целевая задержка до ~5 секунд liveBufferLatencyMinRemain: 2.0, // оставляем ~2 секунды буфера после сброса liveSync: false, // не пытаемся мягко догонять — приоритет стабильности lazyLoad: false, deferLoadAfterSourceOpen: false, } ); ``` только их нужно вынести в константу компонента CameraView и юзать там в строках 33-34 файла src/components/CameraView.tsx
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: APervov/ui#16