4

Буфер для потокового видео в MPC-HC слишком мал и не может быть расширен в пользовательских настройках.

1 ответ1

4

Взлом LAV Splitter для использования простой старой буферизации

LAV Splitter используется для извлечения сетевых данных в некоторых медиапроигрывателях (например, MPC-HC). Буфер LAV (он же очередь пакетов) измеряется не в объеме данных, а в пакетах (или кадрах, здесь не уверен). В любом случае, поскольку пропускная способность сети ограничена объемом данных, количество пакетов в очереди умножается на factor переменную, которая тем больше, чем выше качество видео (на самом деле звуковая часть), которое вы воспроизводите. Это обеспечивает буфер переменной длины, однако вы не можете реально контролировать размер, и если у вас медленный WiFi, возможно, вы испытали прерывистое воспроизведение.

Следующее руководство меняет способ работы LAV-буфера, устраняя ограничения пакетов и устанавливая печально известные настройки "Maximum Queue Memory" (позорно, поскольку вы, возможно, пытались увеличить эти параметры с 256 МБ по умолчанию, но безрезультатно, как многие раньше).

32-битные инструкции

  1. Откройте файл mpc-hc/LAVFilters/LAVSplitter.ax в любом редакторе HEX .
  2. Найдите и замените уникальную последовательность байтов 69 C5 5E 01 00 00 на 69 C5 FF FF 00 00 .
  3. Откройте настройки LAV Splitter и установите для параметра « Максимальная память очереди» значение 256 МБ. Это достаточно большой размер, чтобы справиться с нестабильным WiFi, и более высокие значения могут привести к нестабильности (для меня более 1 ГБ). Но не стесняйтесь экспериментировать с этим значением.

подробности

Мы меняем коэффициент m_dwQueueHigh = MAX_PACKETS_IN_QUEUE * factor; [ 1 ] строка, в которой от #define MAX_PACKETS_IN_QUEUE 350 [ 2 ] до m_dwQueueHigh = 65535 * factor; , Это изменение эффективно снимает factor ограничение, и настройки Maximum Queue Memory больше не будут ограничены им.

Как это проверить?

Прочтите этот ответ, чтобы узнать, насколько велик ваш буфер сейчас. Вы ищете значение Buffers: [0] <buffer-size-in-frames>/<buffer-size-in-KB> KB .

Когда этого недостаточно?

Этот хак в основном увеличивает ограничение кеша в 187 раз (65535 / 350). В большинстве случаев этого достаточно, и ограничивающим фактором является то, что вы устанавливаете в Maximum Queue Memory. В некоторых редких случаях это может быть не так

  • если вы будете воспроизводить очень длинное видео, то число кэшированных кадров будет равно 65535 * factor чем число всех кадров в видеофайле.
  • если вы воспроизводите видео очень низкого качества, frame size in MB * 65535 * factor может быть меньше, чем максимальная память очереди.

factor находится в диапазоне от 2 до 120 (источник).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .