Зачем это всё?
Официальный сервис цифровой дистрибуции с международной локализацией — впечатляющий шаг для японской компании! Впечатляет даже сейчас. Однако никогда не знаешь, сколь долго что-то далёкое останется доступным, особенно какой-то централизованный сервис. Всегда хочется иметь под рукой возможность получить чистую, свободную от DRM локальную копию в оригинальном качестве. А то мало ли. Процесс немного нетривиальный, так что пусть всё будет записано в подробностях. И никакой записи с экрана!
Нам понадобится:
- любой современный браузер;
- действующий email (для регистрации);
- утилита hlsdl;
- VPN (если ваш провайдер принуждён вмешиваться в трафик до R18.com);
- MKVToolNix (для упаковки в MKV)
Стадии
Регистрация
Для начала необходимо зарегистрироваться на R18.com. Всем зарегистрировавшимся выдаётся на аккаунт один бесплатный фильм — чтобы проверить, всё ли хорошо открывается и воспроизводится. Этим мы и займёмся в дальнейшем. А пока что:
-
Заходим на R18.com. Адрес вы и так знаете!
-
Выбираем “Sign Up”
-
Вводим свой email (два раза), придумываем и вводим пароль (один раз). Email вводим действующий, а не как на скриншоте, на него придёт письмо с подтверждением! Принимаем политику приватности (а что поделать?) Разгадываем гуглокапчу, если она появится.
Отлично, аккаунт создан! Самое время проверить его содержимое.
Библиотека
-
Логинимся, выбираем в выпадающем меню “My Library”.
-
Видим свой первый фильм! Первый, и вероятно не последний. Фильм случайный, но скорее всего из какого-то заранее определённого ограниченного списка. Не пытайтесь получить доступ ко всему каталогу через кучу аккаунтов!
-
Выбираем “Streaming”, нажимаем “Watch”. НЕ нажимаем “Download”, “Download” это DRM!
-
Переходим в фирменный онлайн-плеер от R18.
Ну ладно, не такой уж и фирменный. Внутре у него неонк протокол HLS, благодаря которому нам не придётся иметь дело с большим и злобным DRM, который у R18.com тоже есть. А разработала его компания Apple для своих айфонов. Что ж, с паршивой овцы… Но мы отвлеклись. Реализован он в R18 слегка по-особенному, и все привычные инструменты с поддержкой HLS терпят неудачу: и youtube-dl, и VLC, и FFmpeg… Справляется одна лишь небольшая утилита hlsdl. О её сборке — в отдельном материале. Вы её уже собрали? Отлично! Теперь приступим к добыванию ссылки.
Ссылка
-
В плеере смотрим список разрешений, в которых доступен фильм. Запоминаем, но пока ничего с ним не делаем.
-
Открываем веб-консоль и переходим в сетевой монитор. В Firefox это сразу можно сделать сочетанием Ctrl+Shift+E. Перезагружаем страницу, чтобы видеть все запросы с самого начала.
-
Ищем все запросы к файлам с расширением “m3u8”. Из них выбираем первый запрос к домену r18.com. Копируем URL этого запроса. Очень-очень длинный!
Теперь у нас есть нужная ссылка — осталось только её скачать!
Скачивание
-
Открываем консоль и однократно запускаем
hlsdl
без параметров, чтобы увидеть краткую справку по использованию. Выглядеть она будет примерно вот так:-b ... Automatically choose the best quality. -W ... Choose largest width lower or equal than this. -H ... Choose largest height lower or equal than this. -v ... Verbose more information. -o ... Choose name of output file ("-" alias for stdout). -u ... Set custom HTTP User-Agent header. -h ... Set custom HTTP header. -p ... Set proxy uri. -k ... Allow to replace part of AES key uri - old. -n ... Allow to replace part of AES key uri - new. -f ... Force overwriting the output file. -F ... Force ignore detection of DRM. -K ... Force AES key value (hexstring) -q ... Print less to the console. -d ... Print the openssl decryption command. -t ... Print the links to the .ts files. -s ... Set live start offset in seconds. -e ... Set refresh delay in seconds. -r ... Set max retries at open. -w ... Set max download segment retries. -a ... Set additional url to the audio media playlist. -c ... Treat HTTP code 206 as 200 even if request was made without range header. -C ... the file name of file holding cookie data in the old Netscape / Mozilla cookie data format.
-
Убедитесь, что ваш провайдер не портит трафик до r18.com. В противном случае вам потребуется вспомогательные инструменты вроде прокси или VPN. Hlsdl содержит в себе встроенную возможность скачивать поток через http-прокси при помощи ключа
-p
. О настройке локального прокси в связке с VPN — в отдельном материале. -
Передаём полученную на прошлом шаге ссылку в hlsdl. Для удобства указываем имя выходного файла через ключ
-o
, например-o ABC-123.ts
. Если этого не сделать, скачанный файл будет назван невнятным стандартным названием. -
Дальше hlsdl спросит нас о выборе предпочитаемого качества видеопотока. Если он выдал именно это, значит всё идёт правильно! Дополнительной информации о разрешении R18 не передаёт, так что вспоминаем варианты из онлайн-плеера и сопоставляем. Расположены они в том же порядке, от высокого разрешения к низкому. Вводим номер желаемого варианта, ну или просто заранее передаём ключ
-b
для выбора наилучшего доступного качества. -
И теперь ждём! Не забывайте наблюдать за процессом. Hlsdl не поддерживает докачку, так что в случае ошибки вам придётся начинать заново. Да-да, заново! Частично скачанный файл можно будет сразу же воспроизводить в более или менее любом современном плеере (например mpv) не дожидаясь конца закачки.
Ну вот, дождались! На выходе получаем файл в контейнере MPEG-TS, оптимизированном для потокового вещания. Смотреть уже можно, но не слишком удобно, лучше бы обернуть его во что-то более подходящее.
Например в MKV
- Устанавливаем MKVToolNix. В большинстве популярных дистрибутивов он уже присутствует, обратитесь к вашему пакетному менеджеру. Если вдруг нет, то смотрите альтернативные варианты на официальном сайте.
- Передаём в MKVToolNix только что скачанный файл. Для пущей красоты выбираем язык аудиодорожки (японский, конечно же) и вводим название фильма на вкладке “Вывод”.
- Выбираем место назначения итогового файла и нажимаем “Выполнить слияние”.
- В готовый MKV можете добавить главы с отметками сцен фильма. Необязательно, но очень удобно.
Готово! Вы великолепны.
О вариантах покупки
Помимо покупки за полную стоимость, R18 предоставляет ещё пару интересных возможностей: недельную аренду и месячную подписку на один из каналов. И обе они прекрасно сочетаются с этим способом! Иными словами, покупать фильм за полную стоимость необязательно, достаточно лишь аренды или подписки. Но будьте внимательны: не все тайтлы доступны через подписку, и не все варианты качества доступны через недельную аренду. Не забудьте проверить доступные варианты!