Вытаскивание субтитров с youtube [приватный] | Дневник pmb
Чтобы скачать видео с ютюба есть куча онлайн сервисов.
Но некоторые видео идут с субтитрами. Их их иногда хочется скачать тоже.
Как скачивать их напрямую — не совсем понятно.
Зато их можно вытащить из кэша браузера.
Файлы, относящиеся к ролику, можно найти в кэше по дате создания.
Либо очистить кэш, и загрузить ролик заново.
(И наверняка есть какой-нибудь плагин, позволяющий найти файлы по источнику.)
Среди появившихся с роликом файлов будут два, которые идентифицируются как «gzip compressed data» (первые два байта — 0x1F, 0x8B)
Один из них — html код, а второй — собственно субтитры, в формате xml.
Cтруктура файла такая:
Начало и длительность тут указаны в секундах, с точностью до тысячной.
Текст, очевидно, в кодировке, utf-8.
Пробелы и разрывы строк встерчаются только внутри строк титров.
Эти субтитры можно сконвертировать в простой и популярный формат .srt простым XSLT скриптом:
Теперь результат можно переименовать одинаково с сохранённым видео и наслаждаться.
Но некоторые видео идут с субтитрами. Их их иногда хочется скачать тоже.
Как скачивать их напрямую — не совсем понятно.
Зато их можно вытащить из кэша браузера.
Файлы, относящиеся к ролику, можно найти в кэше по дате создания.
Либо очистить кэш, и загрузить ролик заново.
(И наверняка есть какой-нибудь плагин, позволяющий найти файлы по источнику.)
Среди появившихся с роликом файлов будут два, которые идентифицируются как «gzip compressed data» (первые два байта — 0x1F, 0x8B)
Один из них — html код, а второй — собственно субтитры, в формате xml.
Cтруктура файла такая:
<transcript>
<text start="начало" dur="длительность">строка титров</text>
</transcript>
Начало и длительность тут указаны в секундах, с точностью до тысячной.
Текст, очевидно, в кодировке, utf-8.
Пробелы и разрывы строк встерчаются только внутри строк титров.
Эти субтитры можно сконвертировать в простой и популярный формат .srt простым XSLT скриптом:
<stylesheet xmlns="http://www.w3.org/1999/XSL/Transform" version='1.0'>
<output method='text' encoding='utf-8'/>
<!-- или другая кодировка вывода -->
<template match="/transcription">
<apply-templates/>
</template>
<template match="text">
<value-of select="position()"/>
<text>
</text>
<call-template name="time">
<with-param name="timestamp" select="number(@start)"/>
</call-template>
<text> --> </text>
<call-template name="time">
<with-param name="timestamp" select="number(@start) + number(@dur)"/>
</call-template>
<text>
</text>
<copy-of select="text()"/>
<text>
</text>
</template>
<template name="time">
<param name="timestamp"/>
<variable name="ts" select="floor($timestamp)"/>
<variable name="s" select="$ts mod 60"/>
<variable name="tm" select="($ts - $s) div 60"/>
<variable name="m" select="$tm mod 60"/>
<variable name="h" select="($tm - $m) div 60"/>
<variable name="fs" select="substring(string($timestamp - $ts),3,6)"/>
<value-of select="$h"/>
<text>:</text>
<value-of select="$m"/>
<text>:</text>
<value-of select="$s"/>
<text>,</text>
<value-of select="$fs"/>
</template>
</stylesheet>
Теперь результат можно переименовать одинаково с сохранённым видео и наслаждаться.
Прямой эфир
- Hellbender → King Crimson "Larks' Tongues In Aspic" 3 в Дневник Hellbender
- Hellbender → Улица - это и есть Kate-nsk. 4 в Дневник Hellbender
- Hellbender → turbo-proGGer 1 в Дневник Hellbender
- Hellbender → Turbo-600 4 в Дневник Hellbender
- Hellbender → 01.01.2101 10 в Дневник Hellbender
- Hellbender → Спортивный обрaз жизни 1 в Дневник Hellbender
- Desterbed → Спам 1 в Дневник Yurs'a
- Living123 → Что подарить на день рождения? 4 в Дневник black_star
- black_star → ту-туру 7 в Дневник Alex980
- Yurs → Бдыщщ 9 в Дневник Yurs'a
Весь эфир | RSS
Реклама
Сообщества
- 35.46Avril Ru Team
- 20.70Фото Аврил
- 11.81Творчество
- 11.48Abbey Dawn
- 8.22Oldschool
- 8.12Блог-журнал «Аврил Лавин»
- 7.09Юмор
- 5.79Hard & Soft
- 4.67Баги и предложения
- 3.54Видео
Комментарии (2)
RSS свернуть / развернутьСкажите пожалуйста, в какую часть скрипта вставлять:
строка титров
т.е. содержимое .xml субтитров, и в каком формате потом сохранять?
Спасибо.
Raduga2012
Скажите пожалуйста, в какую часть скрипта вставлять:
содержимое .xml субтитров и в каком формате потом сохранять?
Спасибо.
Raduga2012
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.