Как сохранять видеоролики с "Маркизы"

Hudba, Filmy, Knihy
Делимся мнениями, рассказываем о новинках

Сообщение DigitalDreamer » Ср апр 05, 2006 21:54

1-го апреля сего года, как, наверно, многие уже успели заметить, ТВ «Маркиза» сделала пользователям своего сайта замечательный подарок на День Дурака. Она изменила дизайн своего портала (это не главное) и политику доступа к своему архиву… Если раньше файлы спокойно лежали и их можно было легко скачать, то теперь смотреть программы можно только в режиме он-лайн. Возможно, владельцы 100 Мбит/сек выделенки и не почувствовали разницу, но остальным остается только смотреть картинку отвратительного качества, а дайлапщики вообще оказались не у дел. Потеря частично скомпенсирована некоторым расширением самого архива: появились некоторые программы, которых раньше в архиве не было, но это неравноценная замена, IMHO. Ситуация заставила меня искать способ сохранения файлов роликов с Маркизы каким-то новым способом. И я его нашел. Правда, всем рекомендовать его не могу: нужно несколько программ, довольно много времени. Правда, результат того стоит: качество полученного ролика существенно выше, чем тех, что раньше лежали в свободном доступе. Сразу оговорюсь, что я не могу давать никаких гарантий… Я даже не знаю, насколько все это законно (хотя никакого «взлома» тут и близко нет). Для тех, кто прочитав все вышеизложенное все же решил читать дальше, я перейду непосредственно к изложению технологии. Да, и еще… Все описанное ниже касается только платформы Windows. Я уверен, что этот же фокус можно сделать и на других ОС, но этим пусть занимаются энтузиасты.

Для полноценной реализации цели нам потребуются следующие программы:
1. MPlayer и MEncoder (идут вместе, комплектом) версия для Windows. Freeware, не требуют инсталляции.
2. URLSnooper. Freeware, требуется инсталляция. Впрочем, эта программка может быть полезна и безотносительно нашей задачи.
3. Advanced X Video Converter. Shareware, требуется инсталляция. Эту программу использовал я. Возможно, можно использовать и другой конвертер.
4. GoldWave. Shareware, требуется инсталляция. Опять же, возможно, удастся использовать другой звуковой редактор/конвертер.
5. VirtualDub. Freeware, не требует инсталляции.
Также, возможно, потребуется набор кодеков для Windows. Я использовал готовый пакет K-Lite Mega Codec Pack.

Вся идея технологии состоит в захвате URL’а потокового видео и принудительном сохранении этого потока в локальный файл с последующей доработкой полученного файла до нормального видеоролика.

Итак, приступим.
Шаг первый. Добыча ссылки. Идем на сайт Маркизы. В это время URLSnooper уже должен «слушать» сетевую активность. На сайте выбираем нужную передачу (выбирать новости не рекомендую: они разделены на множество файлов по темам выпуска) и запускаем ее просмотр. Долго смотреть не требуется, достаточно того, что бы состоялось подключение проигрывателя к потоку. Закрываем браузер и смотрим в URLSnooper. Здесь нам нужна только ссылка с протоколом mms, а протокол rtsp – это протокол управления потоком, эти ссылки игнорируем. Копируем mms-ссылку в буфер и закрываем URLSnooper, его миссия завершена. Полученная ссылка – эта настоящая ссылка на требуемый ресурс.

Изображение

Шаг второй. Собственно захват потока. В консоли Windows переходим в каталог MPlayer’а (команда cd). Далее самое интересное. Командой вида (без угловых скобок, конечно):

mplayer –dumpstream –dumpfile <имя_файла> <mms-ссылка>

запускаем процесс закачки. Это может занять продолжительное время, в зависимости от размера файла и скорости соединения. При этом надо следить за тем, происходит ли вообще что-нибудь (идут ли данные), т.к. существует некоторая вероятность самопроизвольного разрыва связи программы и сервера. К сожалению, MPlayer – это программа, перенесенная на Windows из среды Linux. Поэтому она имеет все прелести консольной Linux-программы, не исключая и страшно «удобный» интерфейс. Например, в ней пользователю даже не дается понять, происходит ли закачка вообще, а о таких «мелочах», как счетчик оставшегося времени придется и вовсе забыть. В общем, отработав, программа все-таки даст знать об этом. В результате ее работы и нас появился файл, имя которого мы указали в вышеуказанной команде. Тут надо понимать, что этот файл – это еще не готовый ролик, а всего лишь запись потока. Большинство программ-плееров не будут с ним нормально работать. Правда сам MPlayer работать с таким файлом будет. Кстати, существует и графическая версия MPlayer, по интерфейсу напоминающая старый (6-й) Microsoft Media Player. Но качество изображения в MPlayer просто ужасает. Если с этим смириться, то на этом можно и остановиться. При этом мы привязаны к конкретной (и не очень хорошей) программе-плееру. Однако, думаю, что задача получить нормальный видеоролик еще не решена. Надо превратить «искалеченный» ролик во что-то более пригодное к просмотру. Третий этап. «Лечение» ролика. К сожалению, я не нашел иного способа, как перекодирование. Просто отдаем полученный файл программе Advanced X Video Converter (или любой другой, которая согласится преобразовать «калеченый» ролик) с целью получить файл, пригодный к просмотру на любом плеере. Я использую для этой цели кодек Xvid с параметром качества 2.8-3.0 с неизменным (относительно исходника) разрешением и частотой кадров. При этом размер полученного файла практически соответствует размеру файла потока, и качество тоже практически не страдает (правда, чуть-чуть уменьшается насыщенность цветов, но это нельзя считать однозначным недостатком, т.к. изначальная насыщенность в потоке несколько завышена, IMHO). Но я не настаиваю на этих настройках как на единственно верных.

Изображение

После преобразования мы получим вполне нормальный файл, но… без звука (быть может, этой проблемы удастся избежать при использовании других конвертеров видео; не знаю, не проверял). Между тем, звук в потоке есть, и если его не удается получить впрямую, но придется идти обходным путем. Здесь опять понадобится MPlayer и сопутствующий ему MEncoder. Для получения файла звука нужно в каталог MPlayer’а (где, как мы считаем, лежит и файл потока) добавить bat-файл, содержащий следующие строки:

del sound.avi
del sound.mp3
mencoder stream.asf -ovc frameno -oac mp3lame -lameopts vbr=3 -o sound.avi
mplayer -dumpaudio -dumpfile sound.mp3 sound.avi
del sound.avi

Команды del служат для удаления старого и временного файлов. Естественно, имена файлов и пути можно при необходимости заменить. Stream.asf – это файл потока. Sound.mp3 – полученная звуковая дорожка. Затем mp3-файл надо преобразовать в файл wav. Сделать это можно в любой специализированной программе, я использовал GoldWave. И последнее действие. Надо наложить полученный звук на видео, полученное из Advanced X Video Converter. Для этого открываем файл видео (не потоковый!) в VirtualDub. Важно не преобразовывать само видео еще раз, поэтому в VirtualDub устанавливаем Video -> Direct stream copy. Затем Audio -> Full processing mode, Audio -> WAV audio… и указываем наш wav-файл. Далее Audio -> Compression… здесь я выбирал MPEG Layer-3 24 kBit/s, 16 Hz, Mono. Дальше Save AVI… Все! Enjoy!

Вот такая технология. Пользоваться осторожно!!! Я намеренно не вдавался в подробности работы некоторых программ: там все просто. Напоследок привожу ссылки на используемые программы:

URLSnooper:
http://www.donationcoder.com/Software/M ... nooper.exe

MPlayer и MEncoder:
http://aist.chgk.info/mplayer_for_aist.zip

Advanced X Video Converter:
http://www.dvd-guides.com/files/XVideoConverter.exe

GoldWave:
http://www.goldwaving.com/downloads/gwave512.exe

VirtualDub:
http://www.divxpro.it/DiVaX/software/sw ... 1.6.14.zip

K-Lite Mega Codec Pack:
http://freesoft.ru/file.html?id=80636&d ... dec152.exe

P.S. Не забывайте, что не только загрузка данных, но и преобразования аудио и видео из формата в формат требуют времени (иногда достаточно много). Так что, терпения и удачи!

Прямая ссылка на архив: http://www.markiza.sk/tv_archiv/
см. RELÁCIE в меню внизу слева и эпизоды справа.
-flamey
Аватара пользователя
DigitalDreamer
 
Сообщения: 537
Зарегистрирован: Вс фев 26, 2006 18:54
Откуда: St. Petersburg, Russian Federation

Сообщение flamey » Чт апр 06, 2006 7:53

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

ко всему выше перечисленому добавлю пару вещей

(1) существует несколько программ (в том числе и бесплатных) с графическим интерфейсом для скачивания файлов по MMS протоколу. я чаще всего пользуюсь StreamBox!VCR, она даёт и процент прогресса, и счётчик времени (к сожаленю она старая и она больше не обновляется), но есть и другие.

(2) достать MMS ссылку можно и без URLSnooper-а (хотя с ним похоже удобней). MMS ссылки хранятся внутри .WVX фалов к которым обращается код страниц «Маркизы». Достаточно скачать этот файл, открыть его в текстовом редакторе, и вы его там увидите. (возможно чуть позже расскажу как это просто сделать с браузером FireFox, сейчас хочу спать)

(3) я не вижу особой необходимости в перевода ASF файлов в другие форматы в нашем случае (т.е. скачивания для только себя), если они "разбитые" (я не знаю какие они на маркизе, новые ещё не качал. см. дальше). тем более, что при любой конвертации теряется качество. но если уже очень хочется, надо знать, что есть 2 вида ASF файлов "сплошных" и "разбитых" (это я их так, нетехнично обозвал). разница в том, что "разбитые" ASF файлы имеют внутренную разбивку по секундам. такие файлы, например, можно "пролистывать" на нужное место в клипе, пропуская моменты или повторяя их, кода "сплошные" можно смотреть только от самого начала до самого конца. "сплошные" ASF файлы неохотно переводятся в др. форматы, некоторые программы просто не могут с ними ничего сделать. "разбитые" должны переводитсья без проблем и со звуком.

и если вы будете всем этима заниматься - терпения вам и удачи :)
Аватара пользователя
flamey
Site Admin
 
Сообщения: 2885
Зарегистрирован: Вс мар 13, 2005 17:57
Откуда: СПб, NY, Сочи

Сообщение DigitalDreamer » Пт апр 07, 2006 0:05

flamey писал(а):(1) существует несколько программ (в том числе и бесплатных) с графическим интерфейсом для скачивания файлов по MMS протоколу. я чаще всего пользуюсь StreamBox!VCR, она даёт и процент прогресса, и счётчик времени (к сожаленю она старая и она больше не обновляется), но есть и другие.


Честно говоря, я не смог найти ни одной по-настоящему бесплатной программы для этих целей, которая бы работала как надо. StreamBox!VCR, по-моему, изначально тоже не free, другой вопрос, что не сложно найти ломанную версию.

flamey писал(а):(3) я не вижу особой необходимости в перевода ASF файлов в другие форматы в нашем случае (т.е. скачивания для только себя), если они "разбитые" (я не знаю какие они на маркизе, новые ещё не качал. см. дальше). тем более, что при любой конвертации теряется качество. но если уже очень хочется, надо знать, что есть 2 вида ASF файлов "сплошных" и "разбитых" (это я их так, нетехнично обозвал). разница в том, что "разбитые" ASF файлы имеют внутренную разбивку по секундам. такие файлы, например, можно "пролистывать" на нужное место в клипе, пропуская моменты или повторяя их, кода "сплошные" можно смотреть только от самого начала до самого конца. "сплошные" ASF файлы неохотно переводятся в др. форматы, некоторые программы просто не могут с ними ничего сделать. "разбитые" должны переводитсья без проблем и со звуком.


Да, ASF файлы действительно бывают индексированные и неиндексированные ("разбитые" и "сплошные"), и этот фактор действительно обуславливает возможность "перемотки". Сделать из неиндексированного файла индексированный несложно, для этого есть специальные программы, но вот проблему звука (по крайней мере, в нашем случае) это не решает... Для справки: файлы с "Маркизы" неиндексированные (что естественно), содержат три потока видео и аудио, отличающихся битрейтом.

Я продолжил свои поиски путей сохранения файлов с "Маркизы" и теперь я почти уверен, что нашел способ получать файлы высокого качества пригодный для "обычных" пользователей. На этот раз я пошел по пути поиска программных решений, работоть с которыми было бы просто. Мой выбор пал на программу VMRecorder. Программа вобщем-то платная, но... Вобщем, все что нужно я обнаружил на сайте как-то связанном с Каббалой, но это нас в данном случае не интересует. Линк: http://edin.nm.ru/Kabbala/mediasoft.htm . Программа отлично пишет поток, и при этом сама захватывает URL'ы, используя тот же драйвер, что и упомянутый мной выше URLSnooper.

Изображение

Правда, на выходе мы получаем все-таки не совсем нормальный asf. Насколько я понимаю, этот файл содержит все три потока видео, что сказывается на размере. Кроме того, есть неполная совместимость с некоторыми плеерами. Поэтому до получения полностью нормального ролика нужно сделать еще один шаг: обработать имеющийся файл программой ASFBin (берем здесь: http://www.radioactivepages.com/index.h ... sfbin.html ). Интерфейс программы элементарен, а обработка длится считанные секунды даже для больших файлов, т.к. никакого перекодирования не происходит.

Изображение

После такого тюнинга ролик существенно "худеет" в мегабайтах без потери качества за счет удаления лишних потоков и преобретает совместимость с разными плеерами. Даже упомянутый ранее MPlayer воспроизводит его с таким же качествеством, как и другие программы; видимо, в моей преведущей технологии он читал не тот поток видео... Я испытывал доработанный файл в MPLayer, Windows Media Player 9, Media Player Classic и BSPlayer - везде без проблем. Первый использует собственный набор кодеков, а последние два входят в пакет K-Lite Mega Codec Pack. К слову, весь процесс закачки и доработки роликов с "Маркизы" в Windows XP SP2 у меня не потребовал наличия каких-либо кодеков, кроме стандартных, идущих с ОС. Так что, установка K-Lite Mega Codec Pack (покрайней мере в этой версии Windows) не является обязательной. Подведем итог: предлагаемый способ требует всего две программы (причем ASFBin официально бесплатная и не требует инсталляции), обе с простым и графическим интерфейсом; что касается времени, то оно требуется в основном на загрузку - доработка займет несколько секунд. Причем, насколько я понял, качество файла будет максимальным вне зависимости от скорости соединения. Информация о ходе закачки выдается в реальном времени. Думаю, нашу задачу можно считать решенной. Да, и еще. Я не знаю, как все это будет работать на модемном соединении. Где-то читал, что драйвер захвата ссылок используемый URLSnooper'ом и VMRecorder'ом может не совсем корректно работать на дайлапе. Эта информация не проверена, кроме того, ведь остается способ с *.wvx-файлами (flamey, спасибо). А например, мое достаточно экзотичное подключение через Минипорт (т.е. через LAN, но с паролем) VMRecorder (и URLSnooper, кстати, тоже) определяет только после перезагрузки ОС или, во всяком случае, не с первого запуска. Вобщем, думаю теперь можно сказать "enjoy" с полным основанием.
Аватара пользователя
DigitalDreamer
 
Сообщения: 537
Зарегистрирован: Вс фев 26, 2006 18:54
Откуда: St. Petersburg, Russian Federation


Вернуться в Музыка, Фильмы, Книги



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron