Shumaher’s_Blog@AlexZ.me

— yet another stupid personal weblog

Как сохранить видео с Дебилизатор.ТВ

Дебилизатор.ТВНедавно понадобилось сохранить видео с флеш-архива сайта Дебилизатор.ТВ.
При этом пользоваться программами захвата видео (или же звука) с экрана, оставив на какое-то время комп только проигрывать трансляцию, естественно не хотелось. Так что великим методом научного тыка был найден способ сохранения исходного видео с сайта в том формате, в котором оно поступает в сам плеер на странице.
Сегодня я расскажу об этом способе. Однако, нужно сразу предупредить, что процесс не самый лёгкий и быстрый, и конечный результат (в данном случае, например, это релиз сериала с ТВ-переводом) получить может быть вообще невозможно. Но если вам всё-таки нужно сохранить какую-либо трансляцию, то при отсутствии тюнера или IPTV — такие флеш-архивы каналов чуть ли не единственный способ.

Шаг 1
Допустим, необходимо сохранить последнюю 24 серию "Элементарно", идём сюда: http://www.debilizator.tv/pervyi_kanal/2013-06-29/23:00/

Дебилизатор.ТВ - поток



(тут должна была быть ссылка на серию 4 сезона "Грани", но оказалось что архив ТВ3 за последнюю неделю не работает полностью...)
Это к слову о сложности задачи в целом: записать хотя бы 10 серий из этих архивов может быть не так и просто. Мне не удалось. :-)



Как видно, продолжительность 1 передачи (серии) в эфире всего 50 минут (надеюсь, Первый ничего не вырезает!), но длительность записи в плеере — целых 4 часа. Это очень важно! Так как редко какая трансляция будет идти больше 4 часов, такой запас времени записи гарантирует, что всё нужное видео может быть записано из одного "куска", а не из двух.
В отличие от других сайтов, где длительность одной записи чаще всего совпадает с длительностью соответствующей передачи в программе, когда как в реальном эфире редко что-нибудь начинается вовремя. Из-за чего нужно будет записать ещё и следующее видео (а то и предыдущее, если программа длинная), что может привести к потери фреймов непосредственно в момент переключения файлов при записи.

После открытия страницы нажмите кнопку воспроизведения, подождите пару секунд пока видео заработает на самом деле. Потому что работать могут далеко не все передачи из эфира: часто плеер пишет, что архив перегружен.

Затем нажмите паузу, и не закрывая вкладку с видео, откройте http://www.debilizator.tv/maclist/
Там будет следующий js-код:

function MobileStart() {
	var mvideo = document.getElementById("player");
	mvideo.src="http://50.7.188.162/video/6e41d51eabd35dff4cd10087c9c56775/2/playlist-1372532400-14700.m3u8";
	mvideo.load();
}



Запомните путь до m3u8-плейлиста — он ещё понадобится, и сохраните сам плейлист:

#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:10,
media_137253239.ts
#EXTINF:10,
media_137253240.ts
 
...
 
#EXTINF:10,
media_137254708.ts
#EXT-X-ENDLIST



Всего 1470 TS-файлов по 10 секунд каждый и примерно по 1 Мб размером.



Шаг 2
При помощи несложного поиска/замены измените файл так, чтобы получился список URL'ов по одному на строку.
Так как в плейлисте были только имена файлов, подставьте в начало URL'ов полный путь, выясненный в Шаге 1:

http://50.7.188.162/video/6e41d51eabd35dff4cd10087c9c56775/2/media_137253239.ts
http://50.7.188.162/video/6e41d51eabd35dff4cd10087c9c56775/2/media_137253240.ts
 
...
 
http://50.7.188.162/video/6e41d51eabd35dff4cd10087c9c56775/2/media_137254708.ts



Предварительно посмотрев, через сколько минут после начала записи начинается именно нужная вам программа (и сколько она длится), можно подсчитать сколько файлов в начале/конце списка можно пропустить, чтобы не качать лишние, т.к. продолжительность у всех них одинакова (10 секунд).

Сохраните файл, например как ts.lst.



Шаг 3
Чтобы скачать файлы под Windows, можно воспользоваться GetRight, либо другим менеджером закачек, который поддерживает простой список URL.
Под Linux:

wget -i ./ts.lst



Шаг 4
Формат видео, кстати, будет примерно таким:

MPEG-TS, AVC, AAC

General
ID : 59C6
Complete name : C:\media_137253239.ts
Format : MPEG-TS
File size : 821 KiB
Duration : 9s 844ms
Overall bit rate : 683 Kbps

Video
ID : 69 (0x45)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Baseline@L3.0
Format settings, CABAC : No
Format settings, ReFrames : 1 frame
Duration : 9s 844ms
Width : 512 pixels
Height : 288 pixels
Display aspect ratio : 16/9
Frame rate : 25.000 fps
Resolution : 24 bits
Colorimetry : 4:2:0
Scan type : Progressive

Audio
ID : 68 (0x44)
Menu ID : 1 (0x1)
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 4
Format profile : LC
Muxing mode : ADTS
Bit rate mode : Variable
Channel(s) : 2 channels
Sampling rate : 48.0 KHz
Resolution : 16 bits
Video delay : 9ms
Language : Russian

Говорю "примерно", потому что у REN-TV например звук был в моно.

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



Шаг 5 (offtopic)
После этого можно вырезать рекламу при помощи H264TS_Cutter или другого прямопотокового редактора TS/AVC. Попробовав несколько штук, найти приличный так и не удалось. Так что вопрос выбора редактора остаётся открытым.

Для извлечения AAC из TS (всем ведь на самом деле нужен только звук, верно?): tsMuxeR или что-то другое.

Для конвертирования AAC в WAV: FAAD и FaaGUI к нему.
(у меня почему-то конвертация из получившегося файла завершалась на половине с ошибкой.)



В итоге...
Это всё конечно не так просто, как поставить эфир на запись с экрана, но результат, имхо, стоит того.
И надеюсь данную возможность не прикроют после этого поста, а то это было бы очень грустно. :-/



Специально для rutracker.org, во имя появления новых релизов сериалов:)

VN:F [1.9.17_1161]
Rating: 0.0/5 (0 votes cast)

8 комментариев »

  1. михаил сказал

    Открываю в IE10 http://www.debilizator.tv/maclist/ Новая вкладка создается и сразу закрывается. Всплывает окно закачек “открыть или сохранить”. Если нажать “открыть”, то ничего не происходит. Если сохранить, то сохраняется файл js:
    function MobileStart() {
    var mvideo = document.getElementById("player");
    mvideo.load();
    }

    VA:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
    Reply to this commentReply
  2. михаил, попробуйте FF – у меня открывает JS просто во вкладке как обычный текстовый файл.
    а почему URL’а нет не знаю, стоит попробовать несколько раз. пример в тексте реальный, делал только вчера. так что всё должно получиться

    VN:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
    Reply to this commentReply
  3. михаил сказал

    По поводу навигации по этой куче 10-секундных ссылок вставлю свои 5 копеек. Скачанный плейлист открываем в microsoft excel. Дальше по меню: Данные – Фильтр – Автофильтр. В появившемся раскрывающемся списке выбираем “(Условие…)” В настройках фильтра: Показать только те строки, значения которых: начинаются с “media” (или med, или me – тут без разницы). Остается на виду только список ссылок, его выделяем целиком столбцом (или можно ячейками если не лень) и копирует на другой лист. Затем через замену меняем media на http://50.7.188.162/video/6e41d51eabd35dff4cd10087c9c56775/2/media . В принципе это можно сделать и в самом начале. Теперь напротив первой ссылки в я чейке следующего столбца ставим время начала этого 4-х часового куска (напр. 13:59:43 – его видно в плеере на сайте), напротив второй ссылки на 10 сек. больше – 13:59:53. Выделяем обе ячейки и подводим курсор к правому нижнему углу, пока курсор не превратится в черный крест, зажимаем ЛКМ и тянем до самого низа списка. Теперь напротив каждой ссылки стоит время.

    PS Возможно есть способ проще.

    VA:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
    Reply to this commentReply
  4. михаил, Excel’ем определённо быстрее, чем к примеру макросом в Notepad++. спасибо за совет

    VN:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
    Reply to this commentReply
  5. михаил сказал

    хм… что-то http://www.debilizator.tv/maclist/ вообще перестал плейлист выдавать

    VA:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
    Reply to this commentReply
  6. михаил, а когда последний раз выдавало?
    а то у них в новостях от 06/07/13 написано, что обновили плеер.
    эххх, не надо было писать что ли :(

    VN:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
    Reply to this commentReply
  7. михаил сказал

    Буквально позавчера, вчера утром еще качал нормально.

    VA:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
    Reply to this commentReply
  8. михаил сказал

    Да уж… на каждую хитрую жопу найдется болт с резьбой.
    PS Отписал в PM

    VA:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
    Reply to this commentReply
Оставьте свой комментарий




OpenID WordPress.com Yahoo

Это не спам.