Saya mencoba membuat rekaman offline dengan OBS, tetapi ketika saya membuatnya menulis ke hard drive klasik, itu sangat tertinggal, meskipun HDD memiliki kecepatan menulis yang cukup cepat (+ 40MB / s). Saya mencoba meningkatkan buffer dalam pengaturan yang sama, tetapi mereka tampaknya tidak berhubungan dengan output IO. Sejauh ini, saya tidak dapat menemukan pengaturan OBS / ffmpeg yang dapat membantu. Bagaimana ini bisa diperbaiki?
Log: https://paste.fedoraproject.org/paste/L9LoUWC0VRGdxGSYESD2kw
Pembuangan info sistem: https://paste.fedoraproject.org/paste/~OrQZas9rYhaHTtEgJpVfg
Log menunjukkan tes kecepatan sederhana, menggunakan dd (via WSL) dan log OBS menunjukkan dua rekaman, dengan satu-satunya perbedaan adalah lokasi penyimpanan. Seperti yang terlihat, rekaman ke HDD (D :) tertinggal / kehilangan frame. Sebagai perbandingan, rekaman pertama ke SSD berfungsi seperti yang diharapkan. Perhatikan bahwa OBS tidak mencatat skipped frames due to encoding lag
untuk rekaman pertama, karena berfungsi tanpa masalah.
Aku melakukannya:
- ujilah beberapa kali, sehingga log menunjukkan contoh yang representatif.
- mengujinya dengan berbagai ukuran buffer untuk pengkodean, tanpa efek.
- mengujinya dengan CRF sebagai gantinya jika CBR.
- mencobanya dengan bitrate lebih rendah. Kelambatan yang kurang parah sudah bisa dilihat pada bitrate 10k.
Agar jelas:
- tidak ada hambatan CPU.
- tidak ada bottleneck kecepatan penulisan HDD keseluruhan (bitrate 60k sekitar 8 MB / s, yang baik-baik saja).
Saya pikir masalahnya adalah: latensi tulis terlalu tinggi dan buffer output terlalu kecil, yang bisa berupa bug di OBS atau ffmpeg, atau hanya pengaturan yang hilang yang tidak saya ketahui.
Saya mengajukan pertanyaan ini pada r / obs sebelumnya.
Pembaruan : menambahkan info sistem dump & tambahan info log rekaman
sumber
Jawaban:
Jika berjalan seperti bebek dan dukun seperti bebek ...
Masalahnya adalah koneksi USB2 dan drive di ujungnya.
Sementara USB2 lebih cepat daripada beberapa hal, itu lebih lambat daripada kebanyakan hal, dan umumnya tidak cukup untuk operasi media real-time.
Metrik Anda mungkin menunjukkan bandwidth yang memadai, kemungkinan penyebabnya adalah bahwa datastream murni tidak memperhitungkan semua komunikasi bolak-balik di tautan itu, dan tes sering dioptimalkan dan tidak mewakili tipe data dunia nyata dan situasi.
Drive USB3 mungkin cukup mampu memenuhi apa yang Anda butuhkan.
sumber
Terima kasih kepada Suchiman untuk petunjuk ini.
Cache-tulis dinonaktifkan secara default untuk disk eksternal pada Windows. Mengaktifkannya memang memperbaiki masalah.
Ini masih bukan solusi terbaik, karena OBS / ffmpeg harus memiliki cache tulis sendiri dalam kasus ini.
sumber