Forums -> Работа с видео и аудио -> Небольшое соображение по поводу имиджей (II).
| Full Version

Сергей Иванович
Не вполне уверен, что это следует постить сюда, хотя, с другой стороны, тут это будет более по теме. Тем более, что я не столько стремлюсь дать готовый рецепт, сколько желаю послужить толчком к дальнейшему осмыслению.

Ну так вот. Сколько раз вам приходилось выкладывать файл, держать его, а потом удалять скрипя сердце? А скрипеть оно должно от мысли, что если люди через какое-то время попросят дать им докачать файл, вы уже ничем им не сможете помочь - создать заново RAR файл, чтобы он имел тот же хэш, увы нельзя. Так вот, я нашёл решение, хотя и корявое и требующее возни с каждым RAR'ом, но вполне решающее эту проблему скрипящего сердца.

И так, у нас есть CD. Мы его рипаем, но не сразу в APE, а в WAV. Почему нельзя (вернее нежелательно) рипать сразу в APE, чуть позже станет ясно. Далее, сжимаем с помощью Monkey's Audio WAV файл и помещаем полученный APE в какой-либо фолдер, в который так же помещаем всё, что мы собираемся запихнуть в RAR. Запаковываем всё WinRAR'ом, обязательно в режиме store, при этом желательно проследить, чтобы APE файл архивировался первым - тогда человек, только что скачавший ваш релиз, сможет одновременно шарить RAR и слушать то, что в нём, не прибегая к распаковке (Небольшое соображение по поводу имиджей.). Проследить за тем, чтобы APE архивировался первым, легко: когда мы отмечаем файлы, которые будем запаковывать, кликаем правой кнопкой мыши и выбираем Add to archive... - выскакивает окошко WinRAR'а, на закладке Files которого, в поле Files to add перечисляются файлы, причём в том порядке, в котором они и будут добавляться к архиву. Если что, делаем Cut (Ctrl+X), Paste (Ctrl+V). В общем, создаём архив.

Далее собственно и идёт моё мудрёное know-how. Заключается оно в следующем: открываем RAR и APE в каком-либо HEX редакторе (я пользуюсь UltraEdit, но вам не советую - там есть несколько неочевидных тонкостей, как уберечься от того, чтобы он не понавставлял пробелов куда не надо, иначе вставит); в HEX редакторе делаем поиск по RAR файлу на предмет нахождения строки "MAC" - с этой сигнатуры начинается APE файл; всё что в RAR файле находится выше - копируем в отдельный файл, который можно назвать, к примеру, header; далее, смотрим в конец APE файла, запоминаем оттуда несколько конечных байтов; делаем поиск в RAR файле по этим байтам и всё, что ниже - так же копируем в отдельный файл, footer, например.

И что мы имеем в итоге? А вот что. Нам нужно хранить всего лишь файлы header и footer, чтобы в любой момент можно было воссоздать оригинальный RAR файл. Для воссоздания нужно просто склеить три файла: header; APE, который можно легко ещё раз сделать, имея оригинальный диск и воспользовавшись Monkey's Audio той же версии, что и первый раз; footer. Как "иметь Monkey's Audio той же версии"? Просто: копируем туда же, где будем хранить header и footer файл MAC.exe из фолдера, куда установлен Monkey's Audio (в случае, если грабить EAC'ом сразу в APE, нужно манипулировать MACDll.dll'кой, а это совсем неудобно). Чтобы потом было удобнее, можно создать BAT файл, который будет всё делать автоматически - жать и склеивать. Вот такой, например:
CODE
mac Range.wav Range.ape -c2000
copy /b header /b +Range.ape /b +footer "Moj krutoj reliz - EAC-APE-CUE.rar" /b


Пояснения. Range.wav - имя файла, который по-умолчанию создаётся EAC'ом командой Copy Range | Uncompressed. Смысла делать Copy Image & Create CUE Sheet уже нет, ведь нам нужны лишь аудиоданные. Ключ -с обезьяньего MAC.exe устанавливает режим сжатия. 1000 - Fast, 2000 - Normal, 3000 - High и 4000 - Very High. Понятно, что сжимать нужно в том же режиме, что и первый раз. Вот и всё собственно. Разве что не помешает для WAV'a и/или RAR'a создать SFV файлы - чтобы можно было легко проверить правильность повторного рипа и склейки. QuickSFV берётся тут.

Что касается "дальнейшего осмысления", о котором я упомянул вначале, то оно может состоять в следующем: какой-нибудь релизер, умеющий программировать, мог бы написать программку, делающую весь этот хаос с разрезанием/склеиванием, автоматически. В смысле по нажатию кнопки. :D

veneamin
консольная устроит?
Сергей Иванович
Ну... Что люди скажут. Я-то могу и руками резать, тем более, что склейка делается запуском BAT файла. :)
Jedd
Кстати, а есть какие-нибудь преимущества в распространении релизов в rar, а не в zip?
Я вот однажды файл, который релизил потер случайно, думал уже начинать извиняться перед публикой, но тут обнаружил, что хэш у ного zip'а - один в один. :)
Безенчук
Очень интересно придумано, меня бы устроила и консольная версия, самому некогда возиться с писаниной, работы и так хватает.
Сергей Иванович
Jedd
Насколько я понимаю, что RAR, что ZIP можно воссоздать простой запаковкой исходных файлов и будет он иметь тот же хэш, но только в том случае, если архивировать файлы точно в той же последовательности, и если даты создания файлов будут теми же самыми. В датах всё дело. А вообще у RAR'ов есть одно преимущество перед ZIP'ами. Recovery record. Вот что есть у RAR'ов и чего нет у ZIP'ов. К сожалению, мало кто их добавляет к архивам, да и в ословой сети это смысла имеет гораздо меньше, чем, скажем, в Usenet'е.
Meithar
Sergey Overkill
На сколько велика вероятность того, что ЕАС через месяц или год сграбит весь диск один в один к тому, что было раньше?

Лучше всего, конечно, если тот кто что-то релизит, осознавая всю ответственность своего поступка, перед тем как удалять со своего не резинового хард-диска файлы релизов, будет скидывать их на CD.

Uzaren
QUOTE
будет скидывать их на CD.

Это же сколько балванок придёться попусту истратить ;)
Сергей Иванович
DmS
Так ведь идея EAC'а в том и состоит, чтобы снять с аудиодиска 100% аутентичные данные. Вне зависимости от того, сейчас, через год, читается ли диск отлично или посредственно, но всё же читается. Понятно, что если диск перестанет читаться в каком-либо месте, то и сграбить так, чтобы всё совпало, не удастся. Но, как говорится, это уже аварийный случай.

QUOTE (Uzaren @ 30-04-2003, 09:41)
QUOTE
будет скидывать их на CD.

Это же сколько балванок придёться попусту истратить ;)

Во-во. А так, скинул на RW обрезки от своих релизов, и всё. Только одна болванка и нужна. :)
Meithar
Не, ну я не хотел сказать, что запись релизов на CD это единственная замена тому, что ты предлагаешь. Просто все о чем ты говоришь, хорошо и красиво в теории. Но разве есть в этом такая уж острая необходимость? В том, чтобы усложнять то, что может быть предельно простым.
1. скинул на CD
2. спокойно потер с харда
3. народ начал кричать о помощи (Помог-и-те! Вис-я-к!)
4. вставил CD, скинул нужный файл в шеринг
5. народ скачал
6. GOTO 2
ну, вобщем алгоритм понятен.
Если делать так, как ты предлагаешь, то это может быть приемлемо только для любителей burst-рипов (по техническим причинам, тоже, только теоретически). Тогда да, вставил CD, рипанул за 5 минут, прилепил к этому делу обрезки, и все готово. НО! Если делать нормальный рип, то это может занять совсем не 5 минут и даже не 5 часов. Даже с учетом точного копирования, кому такое понравится?
Врпочем, конечно, это только мое мнение. А на счет количества CD... Не думаю, что это такая большая проблема. С учетом сегоднишних цен можно и 100 и 200 дисков забить релизами (это всего-то две сумочки). Просто я говорил о сознательных релизерах, а их таким не испугаешь ;)
На мой взгляд, гораздо большая проблема в том, что скачав имедж в раре, его нельзя сразу же послушать. Вот если бы эту проблему решить.
inzerus
QUOTE (DmS @ 30-04-2003, 15:59)
...
На мой взгляд, гораздо большая проблема в том, что скачав имедж в раре, его нельзя сразу же послушать. Вот если бы эту проблему решить.


Так overkill уже подробно описал здесь, как можно слушать ape запакованный в rar, правда, только если он упакован в режиме store.
Безенчук
DmS проблемы нет если паковали в рар без компрессии, то есть в store. Я например так и делаю в последнее время. А дальше все очень просто, смотри предыдущую тему от Sergey Overkill
Сергей Иванович
DmS
"Гораздо большая проблема" уже решена. Вернее эта проблема перестаёт быть проблемой, если выкладывающий имидж в RAR'е кое о чём позаботится. Повнимательнее прочитай мой первый пост. :)

А насчёт дисков... Честное слово, 100 дисков для меня не проблема. Проблема в жабе, которая будет меня душить, если я на эти диски стану записывать не скачанные имиджи, а свои же собственные рипы, оригиналы которых лежат рядом на полке... :D Причём имея возможность хранить лишь обрезки от RAR'ов, а не RAR'ы целиком.

Далее, насчёт приемлемости моего "изобретения" для любителей burst рипов. На самом деле для них это вообще не приемлемо. Ибо burst рипы на не очень хороших приводах или с повидавших всякое дисков, а зачастую и при хороших приводах/дисках - единственны и неповторимы. Поэтому выбросив из RAR'а один кривой рип мы уже никогда не сможем восстановить оригинальный RAR - последующие кривые (а хотя бы даже и прямой) рипы не совпадут с первым. Хэш будет уже другой.

Да и нормальный рип за более чем 5 часов - это уже самый настоящий экстрим. У меня никогда не было таких дисков, требующих столько времени на рип. Но даже если и встретится такой, и я соберусь его релизить, то ничего со мной не случится, если RAR этого релиза я сохраню. Но хранить RAR'ы, которые я смог бы восстановить за 20 минут, имея от них лишь начальный и конечный кусочки - это, во-всяком случае лично для меня, расточительство.

P.S. Кстати, таки да, повторные рипы можно делать и в burst mode. Если конечно есть уверенность, что диск читается хорошо. Ведь если удалось сграбить в burst mode так, что контрольная сумма совпала с той, что была при нормальном рипе - этот рип уже является 100% точным. :)
Безенчук
inzerus как это мы так ловко одновременно почти ответили :laugh:
Jedd
QUOTE (Sergey Overkill @ 30-04-2003, 07:59)
Jedd
Насколько я понимаю, что RAR, что ZIP можно воссоздать простой запаковкой исходных файлов и будет он иметь тот же хэш, но только в том случае, если архивировать файлы точно в той же последовательности, и если даты создания файлов будут теми же самыми. В датах всё дело.

Так почему бы просто не сохранять текстовый файл со списком и датами? Гораздо проще чем headers&footers. Правда возможно требует больше програмирования.
Сергей Иванович
Ну если написать соответствующую программу, то так может было бы и проще. Ну а пока, вручную, мне проще разрезать RAR'ы. :)
Meithar
Ладно, на счет того, что легче, резать RAR'ы или диски, больше не буду. Вообще-то, Sergey Overkill, я извиняюсь, за то что как бы лишаю смысла твою задумку. Можно конечно придумать и более экзотический способ, и им тоже заинтересуются пару человек и напишут программу и будут его использовать.

А вот на счет того, что "гораздо большая проблема" уже решена, это ты зря.
2 inzerus и Безенчук.
"сразу же послушать" - это значит не извращаясь иметь возможность прослушать содержимое архива. Это уже возможно для нарезанных на треки имеджей. И я говорил об этом в том топике, на который вы меня отослали. Не буду повторяться.
Сергей Иванович
DmS
Да нет, извиняться не за что. Темы для того и создаются, чтобы в них спорить и доказывать правоту/неправоту оппонента.

А вот насчёт всяких извращенческих способов, которые я предлагаю, ты, видимо, не так понял, для чего я это делаю. Понятно, что проще простого разархивировать архив и слушать APE или даже порезать его на треки и слушать их; понятно, что легче всего свой релиз кинуть на болванку, чтобы иметь возможность расшарить его в любой момент... Всё это понятно и для тех, кто может себе это позволить, эти две мои темы неинтересны. Более того, не вижу смысла в сообщениях типа, "это же никому не нужно, зачем так изощряться?" Как говорится, не нужно - не бери. :D

Но вот если у человека есть реальная проблема с дисковым пространством (если честно, не представляю, как её может не быть :) ) и он может/хочет/не против поизощряться, то вот ему несколько способов. :)

P.S. Кстати, если ты под извращением подразумеваешь создание APL файлов, то напрасно. Очень многие используют APL файлы для того, чтобы без разрезания имиджа слушать его. И создание APL'ов для RAR'а а не APE'а - ни на сколько не сложнее.