Запись с высоким битрейтом на жесткий диск вместо SSD приводит к серьезным задержкам

393
Vektorweg

Я пытаюсь делать записи в автономном режиме с помощью 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 раньше.

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

0
Пожалуйста, предоставьте подробную информацию о ваших системных характеристиках. Просто сказать нам, что достаточно пропускной способности или пропускной способности недостаточно. Нам нужна модель жесткого диска, модель материнской платы или название модели системы. Исходя из того, что вы сказали нам, проблема очевидна: ваш жесткий диск с вращающимся диском не подходит для работы, и говорит нам, что это не очень убедительный аргумент. music2myear 5 лет назад 0
@ music2myear Как жесткий диск может не справляться с работой, когда тесты скорости показывают, что он легко справляется с пропускной способностью? Vektorweg 5 лет назад 0
Если бы я был угадать? Потому что он делает больше, чем просто принимает побитовый файловый поток выходного файла. Доказательства? На SSD работает нормально. Пожалуйста, измените ваш вопрос, чтобы предоставить конкретные детали компонентов системы в соответствии с запросом, чтобы мы могли подтвердить или исправить это первоначальное наблюдение и указать вам хорошее решение. music2myear 5 лет назад 0
@ music2myear Да, это просто битовый поток файлов с задержкой. Я действительно не вижу смысла, но я все равно добавил системный дамп информации. Vektorweg 5 лет назад 0
Простого списка жестких дисков, методов их подключения, вашего процессора и памяти было бы достаточно, но, учитывая этот дамп, вы можете уточнить, на какой диск вы пишете и как он подключен к вашему компьютеру? music2myear 5 лет назад 0
Правильно ли я полагаю, что у вас есть жесткий диск емкостью 750 ГБ, подключенный к порту USB2, и это то, что вы пишете и испытываете задержку? music2myear 5 лет назад 0
@ music2myear Да. Вы пытаетесь сказать мне, что это проблема, хотя я все равно могу писать со скоростью 40 МБ / с? Vektorweg 5 лет назад 0
Поддерживайте битрейт, но уменьшите частоту кадров до 30 и проверьте, Gyan 5 лет назад 0
Интересно, поможет ли дефрагментация диска. Если диск сильно фрагментирован, он не сможет последовательно записывать блоки и будет работать хуже. davidgo 5 лет назад 0
@davidgo раздел почти не используется, содержит только несколько записей и удалений и в основном пуст. так что, вероятно, нет. Vektorweg 5 лет назад 0

2 ответа на вопрос

1
music2myear

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

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

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

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

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

В лучшем случае это дикое предположение. USB2 может увеличить задержку и ограничить пропускную способность, но пропускная способность по-прежнему не является проблемой, и задержки от задержек практически всегда можно устранить с помощью достаточно больших буферов. Используемая пропускная способность даже масштабируется с битрейтом, как я вижу в Taskmanager. Но это все равно отстает. Таким образом, проблема явно не в пропускной способности, и если предположить, что лучшее оборудование ее исправит, то здесь не хватает смысла. Vektorweg 5 лет назад 0
1
Vektorweg

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

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

Image of a dialog window in the Windows device manager

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

Похожие вопросы