Я пытаюсь делать записи в автономном режиме с помощью OBS, но когда он записывается на классический жесткий диск, он сильно отстает, хотя жесткий диск имеет достаточно высокую скорость записи (+40 МБ / с). Я попытался увеличить буфер в тех же настройках, но они, похоже, не относятся к выходному IO. До сих пор я не смог найти какие-либо настройки OBS / ffmpeg, которые могли бы помочь. Как это можно исправить?

Журнал: https://paste.fedoraproject.org/paste/L9LoUWC0VRGdxGSYESD2kw

Системная информация: https://paste.fedoraproject.org/paste/~OrQZas9rYhaHTtEgJpVfg

Журнал показывает простой тест скорости, используя dd (через WSL) и журнал OBS, показывающий две записи, с единственной разницей, являющейся местоположением сохранения. Как видно, запись на HDD (D:) значительно замедляется / теряется. Для сравнения, первая запись на SSD работает как положено. Обратите внимание, что OBS не регистрировал skipped frames due to encoding lag для первой записи, потому что это работало без проблем.

Я сделал:

  • Протестируйте его несколько раз, поэтому в журнале представлен типичный пример.
  • проверить его с разными размерами буфера для кодирования, без эффекта.
  • проверить это с CRF вместо, если CBR.
  • попробовал с меньшими битрейтами. Менее серьезные лаги уже видны на скорости передачи 10 тыс. Бит.

Чтобы было ясно:

  • узкого места в процессоре нет.
  • нет узкого места общей скорости записи жесткого диска (скорость передачи 60 Кбит / с составляет около 8 МБ / с, что вполне нормально).

Я думаю, что проблема в следующем: слишком высокая задержка записи и слишком маленький выходной буфер, что может быть либо ошибкой в OBS или ffmpeg, либо просто отсутствующей настройкой, о которой я не знаю.

Я задавал этот вопрос на r/obs раньше.

Обновление: добавлен системный дамп информации и дополнительная информация в журнале записи.

2 ответа2

1

Если он ходит как утка и крякает как утка ...

Проблема в соединении USB2 и в конце диска.

Хотя USB2 быстрее, чем некоторые вещи, он медленнее, чем большинство других, и, как правило, его недостаточно для любых операций с мультимедиа в реальном времени.

Ваши метрики могут указывать на достаточную пропускную способность, вероятный виновник в том, что чистый поток данных не учитывает всю связь, проходящую назад и вперед по этой ссылке, и тесты часто оптимизируются и не представляют реальные типы данных и ситуации.

USB-накопитель, вероятно, вполне способен на то, что вам нужно.

1

Спасибо Сучиману за эту подсказку.

Кэш записи по умолчанию отключен для внешних дисков в Windows. Включение этого действительно решило проблему.

Изображение диалогового окна в диспетчере устройств Windows

Это все еще не лучшее решение, так как в этом случае OBS/ffmpeg должен иметь свой собственный кэш записи.

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