?

Log in

No account? Create an account
Previous Entry Share Next Entry
Извлечение данных из нефинализированных DVD для видеокамер
evfratov
Какое-то время назад после появления DVD (после заката VHS) и относительно доступных видеокамер, но до массового распространения хранилищ на основе твёрдотельной памяти были распространены видеокамеры с записью на DVD (в частности на miniDVD), корторые заместили камеры с цифровыми магнитными плёнками.

Ко мне в руки попало несколько miniDVD с такой камеры, казалось что извлечение данных должно было быть несравненно проще, чем из ранее широко распространённых цифровых кассет DV, поскольку для оптических дисков нет проблем найти привод для чтения и нет проблем с собственно видеозахватом. Но ситуация оказалась существенно сложнее.

Различные компьютеры с разными ОС либо не воспринимали что DVD вообще установлен в привод, либо воспринимали что диск пустой и его ёмкость равна нулю, бытовые DVD-плееры также не воспроизводили диски, ПО для проигрывания DVD также не воспринимало носитель - хотя были предположения что ОС не воспринимали диски как DVD с данными, но те могли являться дисками с иной структурой, с видеопотоками DVD, но это также не подтвердилось.

Визуально диски были неповреждённые, хранились хорошо и на них точно было записано немало информации. Дорогостоящий софт для восстановления данных подтвердил что на дисках есть видеоданные и повреждений нет, однако за отсутствием полных лицензий провести восстановление данных было нельзя. После некоторого поиска  было принято решение извлекать данные из образа диска с помощью свободного ПО для восстановления данных. Попытка применить низкоуровневый инструмент dd из известной всем операционной системы привела к странному результату:

dd: reading `/dev/dvd': Input/output error
0+0 records in
0+0 records out

Что странно, при условии отсутствия повреждений дисков. Литературный анализ показал что DVD такого типа, как и audioCD, не являются устройстрами с блочной структурой, потому и dd не сработал. Нечитаемость таких DVD связана с тем, что видеокамеры используют свои упрощенные структуры хранения информации, отличные от файловых систем для оптических дисков и диски являются не финализированными, при этом финализировать из без самой камеры, либо конкретного ПО для работы с дисками такой камеры  не вомзожно. Осложнялось всё это тем, что модель камеры не известна, а устройство давно было потеряно.

Удалось найти статью
http://flay.jellybee.co.uk/2011/01/how-to-get-files-off-unfinalized-dvd.html
в которой описана процедура извлечения данных из дисков такого типа. В целом сначала нужно считать структуру видеопотоков (с помощью dvd+rw-mediainfo), фактически разметку где какой видеопоток на диске записан физически, затем с помощью того-же dd с опциями для пропуска ошибок  напрямую считать эти видеопотоки как VOB.
После извлечения видеопотоки относительно свободно проигрывались в VLC, а mpeg-кодировщиками уже можно было перевести их в более эффективные и законченные форматы.