В день после Бега в летнюю ночь, телеканал ТВЦ, давече снявший о нашем забеге небольшой репортаж, любезно предоставил его широкой общественности, выложив к себе на сайт , за что ему большое спасибо! Конечно, организатору пробега захотелось заполучить этот ролик в собственное распоряжение: положить в семейный архив, выложить на сайт и т.п. Я решил задокументировать процесс решения этой несложной задачи, так как она может оказаться достаточно интересной для широкой общественности.
Итак, задачу можно разделить на несколько этапов:
- скачать скрытый flash-ролик
- пережать его в популярный формат divx+mp3 для публикации на форумах
Скачать скрытый flash-ролик
Все очень просто. Нужен правильный броузер FireFox и правильный плагин Fast Video Download update 2009-02-18этот плагин перешел на рекламно-коммерческую основу, ищу новый. update 2009-03-23: нашел - Sothink Web Video Downloader for Firefox . Учтите только, что чтобы истинный видеофайл *.flv отобразился в диалоге плагина, необходимо нажать кнопку Play в окне сайтового флэш-плеера.
Пережать его в популярный формат divx+mp3
Теперь на жестком диске есть файл с расширением *.flv. В моем случае он оказался вот с таким содержанием:
General #0 Complete name : W:\...\SummerNight_Run'2008\SummerNight_Run'2008.flv Format : Flash Video File size : 7.33 MiB PlayTime : 2mn 19s Bit rate : 439 Kbps audiosamplerate : 22050.000 Video #0 Codec : Intel H.263 Codec/Info : Intel H.263 PlayTime : 2mn 19s Width : 320 pixels Height : 240 pixels Aspect ratio : 4/3 Frame rate : 15.000 fps Bits/(Pixel*Frame) : 0.000 Audio #0 Codec : MPEG-1L3 Channel(s) : 1 channel Sampling rate : 22 KHz Resolution : 16 bits
Чтобы проиграть такой файл, можно синсталлировать flvplayer или воспользоваться VLC Media Player Portable . Можно также заставить играться такие файлы через DirectShow в любом системном плеере, но эта задача слегка нетривиальна. Однако нам придется ее решить, чтобы через Avisynth пережать ролик в "авишку", не требующую от обычных пользователей никаких телодвижений для воспроизведения.
Проиграть flv-файл через DirectShow и Avisynth
Во-первых, понадобится надежный комплексный DS-декодер FFDShow , в котором есть поддержка необходимых кодеков FLV1 и h263. Во-вторых, пригодится flv-сплиттер от Gabest'a . Синсталлировать одинокий FLVSplitter.ax файл, для которого Gabest поленился написать инсталлятор :), можно таким простым батом:
copy FLVSplitter.ax %windir%\system32\ regsvr32 /s %windir%\system32\FLVSplitter.ax
Заметьте, что в популярном Media Player Classic встроенный flv-сплиттер, так что даже если файл в нем играется, внешний сплиттер все равно необходим!
Теперь все flv-файлы проигрываются на системном уровне, то есть в GraphEdit или mplayer2.exe.
Перекодировать flv-файл через Avisynth
Начнем со звука: чтобы не пережимать mp3 лишний раз, его можно беспотерьно demux'нуть из исходного *.flv файла через DSM-конвертер Media Player Classic.
Для видео осталось набросать простенький avisynth-скрипт:
DirectShowSource("W:\...\SummerNight_Run'2008\SummerNight_Run'2008.flv", fps=15)
, не забыв мануально указать желаемую частоту кадров. Теперь скрипт можно открыть в VirtualDubMod и, не забыв прицепить demux'нутую mp3шку, пережать во всенародно любимый Divx. С этим уж наверняка справится любой школьник.
Что делать, если надо пережать "векторный" flash, т.е. файл .swf? Воспользоваться специализированным софтом, например Aunsoft_SWF-Converter , который отрендерит ролик и сконвертит его в нужный формат.
Это было бы очень правильное решение!
Я сейчас в Австралии, так что отвечаю навскидку. В данном примере видео запрятано внутрь флэш-ролика. Флэш - это кривая, проприетарная, закрытая и нелюбимая всем прогрессивным человечеством технология. Расковырять его может быть и невозможно, это как exe-файл.
Конечно, ничего невзламываемого не существует, поэтому чтобы выцепить ссылки на видеофайлы из flash-ролика следует воспользоваться http-сниффером. Он позволяет на низком уровне отследить все адреса, к которым обращается ваш компьютер. В конечном итоге он все равно непременно обращается к файлам по конкретным адресам.
Finar.
Оставить комментарий