Wiele źródeł podaje następującą wartość jako wolne miejsce na dysku DVD + R / miejsce do zapisu przez użytkownika: 4700372992 bajtów
Napisałem program, binpacker przy użyciu tej wartości , ale wybrane pliki zawsze przekracza pojemność płyty DVD + R (a DVD-R jest w porządku).
Znalazłem, że poprawna wartość powinna wynosić blisko 4692377600 bajtów
Jaki jest powód niedopasowania wolnego miejsca i jaka powinna być poprawna wartość?
dvd-burning
eadmaster
źródło
źródło
Odpowiedzi:
TLDR
Nie jest to całkiem niemożliwe , ale jest to praktycznie bardzo trudne, ponieważ różni się w zależności od danych, które zamierzasz zapisać na płycie. Zasadniczo musisz zrobić to, co robi oprogramowanie do nagrywania płyt CD / DVD, aby ustalić, czy przed nagraniem przekroczyłeś pojemność dysku. [I jestem pewien, że niektóre, jeśli nie większość, takich programów nie robi tego idealnie .]
W przybliżeniu to, co już zrobiłeś, tj. Ograniczysz się do mniejszej pojemności, prawdopodobnie będzie jedynym wykonalnym rozwiązaniem w ogóle.
Program IsoBuster jest właściwie całkiem fajny. Można dość łatwo zobaczyć dokładnie, w jaki sposób pliki i katalogi są przechowywane na obrazie dysku, i prawdopodobnie można by przeprogramować, w jaki sposób określony system plików przydziela miejsce dla różnych typów plików, które go wykorzystują. Spróbuję tego sam.
Trochę szczegółów
Podobnie jak ty odkryłem, że nie można po prostu porównać całkowitego rozmiaru plików w bajtach i całkowitej „pojemności brutto” w bajtach dysku.
Po pierwsze, systemy plików, zarówno na dysku twardym, jak i na dyskach optycznych, takich jak dyski CD i DVD, wymagają nieco miejsca na dane o plikach, np. Katalogi, w których są przechowywane, nazwę pliku, kiedy był on ostatnio modyfikowany itp. .
Każdy system plików (prawie na pewno) będzie wymagał innej ilości miejsca dla różnych zestawów plików i katalogów; będą także podlegać różnym ograniczeniom pod względem takich rzeczy, jak maksymalna długość nazw plików, czy nazwy plików mogą składać się ze znaków Unicode itp.
Różne systemy plików również obsługują lub wymagają różnych rozmiarów sektorów / bloków, co jest mniej więcej najmniejszą ilością miejsca (prawie zawsze wyrażoną w bajtach), którą można przypisać do pliku, tj. Rozmiar sektora 512 bajtów oznacza, że każdy plik jest przydzielany co najmniej 512 bajty (tylko dla danych pliku). Jednak w przypadku systemu plików UDF, którego można używać w przypadku dysków CD i DVD (oraz dysków Blu-ray):
tzn. małe pliki (i katalogi) mogą być przechowywane w samych „metadanych systemu plików”. [Źródłem jest zasób [4] poniżej.]
Niektóre zasoby
Od [5]:
Opierając się na [7], nie sądzę, że „wprowadzenie” i „wyprowadzenie” koniecznie dotyczy dysków z danymi.
źródło