Субтитры pgs. Грабим субтитры

Наибольшее удовольствие вы получите от просмотра фильма на языке оригинала. А в связи с тем, что часто языка оригинала не знаешь или знаешь плохо, появляется необходимость субтитров. Корме того субтитры - хорошая возможность подучить язык.

Субтитры можно накладывать в момент кодирования видео или в момент его воспроизведения (realtime). В первом случае субтитры встроенные, во втором - внешние. У внешних субтитров ряд преимуществ по сравнению с встроенными. Они всегда четкие и хорошо читаются независимо от качества видео и настроек декомпрессора. И конечно главное достоинство - их можно отключить.

Форматы

Существует несколько форматов представления внешних субтитров. Каждый формат имеет свои преимущества и недостатки. Наиболее распространены srt, ssa, smi. srt - один из самых простых и интуитивно понятных; ssa - самый навороченный; а smi - поддерживается Microsoft"ом.

Файл субтитров содержит некоторую структуру, в которой содержится информация о том когда и какой текст нужно накладывать на изображение.

Время показа определяется либо по начальному и конечному фрейму (framebased subtitres) либо по времени начала показа и конца показа фразы (timebased subtitres). Фраза представляет из себя одну или несколько тестовых строк. Более сложные форматы определяют цвет и положение текста, его размер, используемые эффекты. Иногда файл субтитров содержит <шапку> - заголовок в котором написано для какого фильма предназначены эти субтитры, кем они сделаны и другую информацию.

Откуда берутся субтитры:

  • DVD Компания, выпускающая DVD обычно включает субтитры, выпускаемого фильма на одном или нескольких языках. Выдрать с DVD эти субтитры не представляет труда. Весьма удобно использовать для этого программу SubRip. Такие субтитры обычно очень хорошо таймированы и правильно переведены.
  • Fansub Пока определенное аниме не вышло официально в Америке, его перевод могут сделать фанаты - фенсаберы (fansubers) . Обычно эти субтитры в формате SSA, так как таймированы в SubStation Alpha. Они предназначены в основном для вывода на кассету с помощью устройства GenLoc. Эти субтитры имеют часто хуже переведены, чем официальные субтитры, которые можно увидеть на DVD, и часто хуже таймированы. Но зато используются все преимущества SSA формата по изменению размера и цвета шрифта и положения накладываемых субтитров. Так как эти субтитры сделаны фэнами для фэнов, в них не переводятся например именные суффиксы, которые должны быть понятны фэну и так.

Вот более подробное описание самых распространенных форматов субтитров.

SubRipper (*.srt)

Файлы имеют расширение srt. Это родной формат субтитров программы SubRip (by Brain) . Это самая популярная программа для выдирания субтитров с DVD. Сам формат отличается простотой и наглядностью, синхронизация с видео на основе времени с точностью до миллисекунд. Весьма распространенный формат. Srt файлы очень удобно редактировать - перевод лучше делать именно в srt файлах. Расширенный формат позволяет изменять некоторые параметры шрифта (стиль, цвет) и положение субтитров на экране, но мало кем поддерживается. Шапки - нет. Субтитры отделяются друг от друга пустой строкой; конец файла отмечается удвоенным переводом строки (критично для некоторых плееров и конверторов).

Пример файла:

Цитата:

1
00:00:03,600 --> 00:00:07,630
0-3-3, 0-3-5, 0-3-8,
Нет контакта.

2
00:00:07,700 --> 00:00:09,100
Понял вас.
...

222
00:24:50,220 --> 00:24:53,880
Теперь они будут действовать
самоуверенно, не так ли

файл субтитров это набор фраз в следующем формате.

N
ЧЧ:ММ:СС:МЛС --> чч:мм:сс:млс
Первая строка фразы
Вторая строка фразы

где
N - номер фразы
ЧЧ:ММ:СС:МЛС - время начала показа фазы в часах минутах, секундах и миллисекундах (млс)
чч:мм:сс:млс - время начала показа фазы в часах минутах, секундах и миллисекундах (млс)

между временем и стрелкой пробел.

SAMI (*.smi)

Файлы с расширением *.smi это формат субтитров от Microsoft под названием SAMI(Synchronized Accessible Media Interchange). . Этот формат хорошо документирован, имеет сложную, расширяемую структуру. Фактически SAMI - подмножество SGML, как и HTML и потому очень на него похоже. Создание этого языка разметки является результатом работы The Caption Center at WGBH по внедрению субтитров на телевидении для глухих, слабослышащих, а также для изучающих иностранный язык. Стандарт поддерживает изменение размера, цвета, гарнитуры и стиля шрифта, а также изменения положения на экране. Кроме того он поддерживает стили. Синтаксис стилей как у CSS от W3C. Синхронизация по времени. Главным преимуществом этого формата является то что его поддерживает Микрософт и потому его можно без проблем проиграть на обычном Windows Media Player (ver >= 5).Нужно также упомянуть что иногда расширение smi имеют файлы формата SMIL(это субтитры для RealPlayer"а) их не нужно путать с субтитрами SAMI. Правильно расширение для SMIL файлов - *.smil

Вот пример типичного файла формата SAMI:

Цитата:



SubConv created subtitle






0-3-3, 0-3-5, 0-3-8,
Нет контакта.

Понял вас.


Теперь они будут действовать
самоуверенно, не так ли


файл субтитров состоит из двух частей, заключенных в общий тег

- заголовок

- тело

заголовок в свою очередь включает разделы и <STYLE>. В первом задается заглавие файла со скриптами, а во втором задаются стили. Формат позволяет указывать как стили по умолчанию так и пользовательские, которые зритель может менять в процессе просмотра (такая возможность поддерживается например в Windows Media Player). Также в заголовке с помощью тега <SAMIParam> можно давать любую сопутствующую информацию, например указать переводчика, название оригинала и т.д.</p> <p>Тело представляет из себя таблицу и состоит из последовательности фраз, заключенных в тег <P>Параграф. Позволяются следующие форматирующие теги:</p> <ul><li>Bold text: <strong>Bold</strong> text</li> <li>Italic text: <em>Italic</em> text</li> <li>Bold Italic text: <em><strong>Bold Italic</strong></em> text</li> <li>Strikethrough text: <s>Strikethrough</s> text</li> <li>Subscript text: <sub>Subscript</sub> text</li> <li>Superscript text: <sup>Superscript</sup> text</li> <li>Underline text: <u>Underline</u> text</li> </ul><p>Для синхронизации по времени используется специальный тег <SYNC Start=time> где time - это время начала показа фразы в микросекундах. Для того чтобы убрать фразу с экрана выводится пустая фраза () между тегами синхронизации может находиться сколько угодно фраз с различными значениями ID и CLASS это позволяет хранить в одном файле субтитры на нескольких языках и стилях (пользователь может сменить язык и стиль во время просмотра), с помощью стиля Source можно задавать имя произносящего данную фразу.</p> <h3><span>SubViewer (*.sub) v1 & v2 (Submagic) </span></h3> <p>Формат некогда был довольно популярен, но теперь в связи с распространением других форматов, обладающих большими преимуществами, стал абсолютно неактуален. Изначально этот формат был предназначен для проигрывания в программе Submagic. Это программа для просмотра субтитров, работающая отдельно от плеера и требующая ручной синхронизации. Так можно было просматривать с субтитрами видеокассеты, если подключить видеомагнитофон к ТВ тюнеру. В последствии этот формат научились поддерживать многие плееры. Формат очень похож на *.srt. Отличается наличием шапки в которой можно указать различную информацию о субтитрах: название, кто перевел, с чего сделан перевод и т.д. Также в шапке указываются параметры шрифта. Эти параметры общие для всего скрипта. Обычно плееры, поддерживающие это формат субтитров плюют на эти стилевые указания. Синхронизация по времени.</p> <p>Формат *.sub состоит из двух не совместимых между собой версий: v1 и v2,</p> <p>вот пример скрипта версии 2.</p> <p><b>Цитата: </b></p><blockquote class="bb-quote-body"> Пожалуйста спаси мою землю<br> Silvan Elf<br> Please Save My Earth.<br> 1<br> <br> 1<br> Перевод с английского.<br> <br> &HFFFFFF,no,18,Arial<br> 00:00:19.49,00:00:21.55<br> Хочу домой.<br> 00:00:22.66,00:00:25.75<br> Я раньше никогда не была в месте <br class="bb-br">Где воздух такой...<br> 00:00:26.66,00:00:28.13<br> грязный.<br> 00:59:07.21,00:59:08.84 Я хочу поговорить с тобой. 00:59:08.91,00:59:10.11 Так ты умеешь летать, верно? </blockquote> <p>структура очень мало отличается от структуры *.srt формата и потому подробно не рассматривается.</p> <h3>MicroDVD (*.mdv,*.sub) </h3> <p>Это собственный формат плеера MicroDVD player. Он не имеет фиксированного расширения, обычно это txt или sub. В связи с тем, что MicroDVD Player долгое время оставался вне конкуренции среди плееров с поддержкой субтитров, а также благодаря подробной документации, поддержке изменяемого стиля, размера и положения шрифта, этот формат сыскал уважение среди пользователей. Под него успели написать множество утилит, которые делают в основном то же самое: конвертят в него из всего, что попало и меняют FPS. Последнее особенно актуально в связи с тем, что этот формат синхронизирован по номеру кадра, и поэтому если у вас окажется исходник видео с другой частотой кадров (например при Inverse TeleCine 30fps->24fps) то придется пересчитывать кадры начала и конца каждой фразы файла субтитров. Формат весьма компактен и интуитивно понятен. За основу видимо взят формат SubMagic v1 с (он был кадровой синхронизацией).</p> <p><b>Цитата: </b></p><blockquote class="bb-quote-body">Хочу домой.<br> Я раньше никогда не была в месте |Где воздух такой...<br> грязный.<br> Знаешь Алиса...<br> Давным-давно,|землей правили динозавры. <p>88680}Я хочу поговорить с тобой. Так ты умеешь летать, верно?</p> </blockquote> <p>формат не предусматривает никакой шапки и является одним из самых компактных. Он слегка проигрывает в читабельности srt в связи с тем что переводы строки здесь обозначены как "|"</p> <p>формат расширяется посредством следующих контрольных кодов:</p> <p>{c:$bbggrr} цвет шрифта bb gg и rr это шестнадцатеричные числа в RGB представлении цвета, т.е. как в HTML.</p> <p>пример {}{c:$0000FF}- But why?|{c:$00FFFF}- Because this movie|has naughty language!<br> если в контрольном коде маленькая c то код действует до конца строки, если большая - на всю фразу.</p> <p>{f:fontname} выбор гарнитуры шрифта. заглавная и строчная буквы действуют аналогично выбору цвета.</p> <p>{s:size} выбирает размер шрифта. Заглавная и строчная буквы действуют аналогично выбору цвета.</p> <p>{H:charset} выбор кодировки: русская греческая и т.д.<br> Внимание! действительно только в разделе <br> {y:style} выбор стиля (bold, italic, underline) можно комбинировать, например bi жирный курсив. заглавная и строчная буквы действуют аналогично выбору цвета.</p> <p>{P:position} показывать субтитры сверху видео окна или снизу. действует только на всю фразу (только заглавная)</p> <p>{o:x-coordinate,y-coordinate}поместить текст в произвольно положение экрана с координатами x,y относительно правого верхнего угла.</p> <p>можно указать значения по умолчанию для всего скрипта субтитров с помощью раздела {}<Control Codes></p> <p>на месте <Control Codes> можно поместить любые из контрольных кодов(заглавные буквы).</p> <p>пример {}{F:Arial}{S:18}{Y:b,i}{P:1}</p> <p>контрольный код H можно применять только в этом разделе!</p> <h3>SubStation Altha (*.ssa) v.4 </h3> <p>Формат *.ssa это рабочий файл субтитров программы SubStation Altha. Это программа для подготовки и таймирования субтитров, а также наложения их на аналоговый носитель (VHS или SVHS) с помощью устройства называемого GenLock. Среди непрофессионалов это самая популярная и богатая возможностями программа для титрования. Список ее возможностей может послужить темой для отдельной статьи. Также богат и сам формат субтитров. Здесь полностью поддерживается работа со всеми параметрами шрифта (цвет, размер, гарнитура и т.д.), размещение текста в любом месте экрана, комментарии. Множество полей определяет параметры каждой фразы, например специальное поле для определения произносящего данную фразу. Этот формат является фактически стандартом де-факто в среде фэнсаберов (небольшая доля пользуется амиговским Js но основная масса использует Windows и SubStation Alpha). Все это делает формат SSA преобладающим в среде анимешников. До недавнего времени не было плееров, с возможностью динамически накладывать ssa субтитры на видео, и единственным способом посмотреть их было вставить в ssa событие проигрывания фрагмента самого фильма. При этом субтитры накладывались на видео в самом SubStation Altha. При этом отсутствовала возможность растянуть видео на полный экран. Теперь ситуация поправляется: его хорошо поддерживает Crystal Player. Также поддерживает этот формат MicroDVDPlayer ver 1.2 (без изменения параметров шрифтов, положения текста и эффектов) и DVDSubtitler.</p> <p>Как альтернатива можно просматривать цифровое видео с субтитрами в этом формате если жестко наложить эти субтитры на видео с помощью фильтра subtitler (by Avery Lee) для VirtualDub. При этом работа со шрифтами поддерживается.</p> <p><b>Цитата: </b></p><blockquote class="bb-quote-body"> <p><br> ; This is a Sub Station Alpha v4 script.<br> ; For Sub Station Alpha info and downloads,<br> ; go to http://www.eswat.demon.co.uk/ <br> ; or email kotus@eswat.demon.co.uk <br> Title: Di Gi Charat Volume 1<br> Original Script: Zeruel<br> Script Updated By: Anime Jonetsu<br> ScriptType: v4.00<br> Collisions: Normal<br> PlayResY: 600<br> PlayDepth: 0<br> Wav: 0, 179746,C:Scriptsdigicharatdigicharat1.wav<br> Timer: 100.0000</p> <p><br> Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding<br> Style: Default,Arial,28,16777215,16777215,16777215,13305607,-1,0,1,4,1,2,30,30,30,0,0<br> Style: Screentext,Arial,26,16777215,16777215,16777215,10750853,-1,0,1,3,1,2,30,30,30,0,0<br> Style: alt dialog,Arial,26,16777215,16777215,16777215,32768,-1,0,1,3,1,2,30,30,30,0,0<br> Style: credits,Arial,22,16777215,16777215,16777215,5701806,-1,0,1,3,1,2,30,30,30,0,0<br> Style: digi,Arial,28,16777215,16777215,16777215,11493729,-1,0,1,4,1,2,30,30,30,0,0<br> Style: scary,Arial,28,255,16777215,16777215,3092271,-1,0,1,4,1,2,30,30,30,0,0<br> Style: song,Arial,26,16777215,16777215,16777215,33023,-1,0,1,3,1,2,30,30,30,0,0</p> <p><br> Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text<br> Comment: Marked=0,0:00:03.50,0:00:05.50,*Default,Comment,0000,0000,0000,Synch Point: Chapter 1, 0:00:00<br> Dialogue: Marked=0,0:00:06.50,0:00:12.50,Screentext,Text,0187,0181,0529,NOT FOR SALE OR RENT<br> Dialogue: Marked=0,0:00:18.14,0:00:20.12,Screentext,Text,0122,0411,0313,OP Theme:nOnly 1 No.1n(Okui Masami)<br> Dialogue: Marked=0,0:00:06.32,0:00:13.05,song,romaji-song,0131,0128,0469,sekai de ichiban kagayaku made<br> Dialogue: Marked=0,0:00:06.32,0:00:13.05,digi,song-e,0075,0050,0001,Until I shine the brightest in the world</p> </blockquote> <p>Скрипт состоит из заголовка, описания стилей и тела</p> <p>В заголовке есть стандартная часть, которая сообщает что это за файл и версию скрипта, а также отсылает к сайту SubSttaion Altha.</p> <p>Далее идут несколько полей обозначающих автора перевода, источник откуда сделан перевод, точку синхронизации (при выводе на аналоговый носитель синхронизация производится вручную), разрешение с которым работал редактор при расположении элементов по экрану и некоторые другие.</p> <p>В разделе стилей идет детально описание всех используемых в скрипте стилей. указывается размер, гарнитура, стиль и цвет шрифта, положение (в виде отступов справа, слева, сверху и снизу), а также кодировку.</p> <p>Для каждой из фраз отдельно можно указать время начала и конца показа этой фразы, ее стиль, название (используется как поля для указание имени говорившего) и положения фразы на экране. Далее идет сам текст фразы, разделение на строки как в языке C с помощью комбинации "n" или "N".</p> <p>Интересно работаем механизм коллизий, т.е. перекрывания по времени отдельных фраз. Например когда в кадре кто-то говорит, а за кадром слышен голос диктора из телевизора. при этом на экране показываются обе строки, только более поздняя показывается ниже и другим цветом. Для этого задается не один а 3 цвета шрифта, например для случая двукратной коллизии (встречается крайне редко).</p> <p>Кроме того формат еще позволяет включать в себе с помощью UUEncoding шрифты и картинки, используемые в скрипте. Это делает *.ssa самодостаточным и независимым от машины, на которой накладывается, но поддерживается это только в SubStation Alpha.</p> <h3>JACOsub (*.js) </h3> <p>Файлы с расширением *.js - рабочие файлы программы JACOSub. Это программа для титрования фильмов, такая же как и SubStation Altha только для компьютера Amigo. В свое время этот стандарт был довольно популярен, сейчас используется редко, но не смотря на это все, еще можно встретить в Интернет скрипты в этом формате. Возможности JACOSub близки к SSA, но многие вещи очень Amigo-зависимы. Синхронизация с видео по времени.</p> <p><b>Цитата: </b></p><blockquote class="bb-quote-body"># JACOsub script file<br> # Converted by Multi-script Converter VERSION 1.24<br> # Title: Aa! Megami-sama Gekijouban Subbing Script<br> # Original Script: Converted by Shadowrunner<br> # Timing/Script: Converted by Shadowrunner<br> # Editing: Converted by Shadowrunner <p># This is a free fan subtitle. You may use this script only in accordance<br> # with U.S. copyright regulations. This means if the title has been licensed<br> # for release in the U.S., you may ONLY use this script for PERSONAL viewing<br> # and MAY NOT distribute material using this script or translation. Neither<br> # Shadowrunner nor the converter that created this file will be held<br> # accountable for anyone"s use or abuse of this script. It is intended for<br> # personal private use only and the actions of third parties are their<br> # OWN responsibility.</p> <p># Date: 08-10-2001</p> <p>#TIMERES 100<br> #SHIFT 0</p> <p>0:00:01.00 0:00:04.00 D0 {} Oh! My Goddess Movie v1.9 Fansub<br> 0:00:05.00 0:00:08.00 D0 {} Nekomi Kodai Fansubbing<br> 0:00:09.00 0:00:12.00 D0 {} The accuracy of this sub is in no way guaranteed.<br> 0:00:13.00 0:00:16.00 D0 {} Timed, Edited, Translated by Edward Chang Retimed for the DVD release by Ifruita</p> </blockquote> <p>Как видно из примера файл субтитров состоит из заголовка, в котором указывается название, кто перевел, кто оттаймировал, кто редактор данного скрипта, затем стандартное предупреждение что этот файл не предназначен для коммерческого использования и др. подобной информации. После заголовка идет тело скрипта, состоящее из последовательности фраз с указание времени начала и конца показа каждой фразы. Можно указывать кто произносит тут или иную фразу.</p> <p>Real Text&SMIL (*.smil,*.rt,*.smi)</p> <p>Real Player также может показывать субтитры, для их включения нужны файлы real text и SMIL. SMIL (Synchronized Multimedia Integration Language) формат представления синхронизированного с медиафайлами текста, разработанного W3C консорциумом.</p> <p><b>Цитата: </b></p><blockquote class="bb-quote-body"><smil><br> <head><br> <meta name="title" content="Dragonball Z Episode 192" /><br> <meta name="author" content="Bardock" /><br> <meta name="copyright" content="(c) 1999" /><br> <layout><br> <root-layout width="320" height="270" /><br> <region id="video_region" width="320" height="240" left="0" top="0" /><br> <region id="text_region" width="320" height="30" left="0" top="240" /><br> </layout><br> </head><br> <body><br> <par> <textstream src="http://www..rt" region="text_region" fill="freeze" /><br> <video src="http://www..rm" region="video_region" fill="freeze" /><br> </par><br> </body><br> </smil> </blockquote> <p>этот файл представляет собой шапку для одно или нескольких *.rt (real text) файлов которые и содержат собственно сами субтитры.</p> <p>а вот пример упомянутого в SMIL файла 192-raw-300k.rt</p> <p><b>Цитата: </b></p><blockquote class="bb-quote-body"><window type="generic"<br> duration="19:44"<br> width="320"<br> height="60"><br> <time begin="1"/><font color="blue">Episode 192: "I"ll Be up there. Farewell with a Smile"</font><br/><br> <time begin="13"/><clear/>Yamcha: He did it! Way to go! you destroyed Cell.<br/><br> <time begin="35"/><clear/>Krillin: Amazing Gohan! Hey, You did it!<br/><br> <time begin="42"/><clear/>Yamcha: (something on the idea of "great, you did it! You killed him!"<br/><br> <time begin="48"/><clear/>Krillin: We better fly over to heaven to get some senzu for gohan<br/><br> <time begin="1:00"/><clear/>Yamcha: Alright then.. let"s go<br/><br> <time begin="1:04"/><clear/>Gohan: Thanks<br/><br> </window> </blockquote> <p>видно что каждый из *.rt файлов состоит из маленького заголовка, в котором указывается техническая информация по данному скрипту, и набора фраз, каждая из которых начинается с тега <time> с указанием времени начала показа<br> фразы с точностью до секунды. далее сама фраза. В тексте фразы можно управлять шрифтом и текстом так же как это делается в HTML или SAMI с помощью тегов <font>,<br> и др. Предыдущая фраза убирается с экрана с помощью тега <clear/></p> <h3>Sasami2k script (*.s2k) </h3> <p>Это внутренний формат представления субтитров плеера Sasami2k. После того как Sasami2k обнаружит рядом с файлом фильма файл субтитров *.smi с тем же именем, он автоматически запустит перекодировщик - Sasami translator. Затем происходит преобразование, детали которого пока неясны, так как перекодировщик еще не переведен с корейского. Ясно лишь, что после перекодирования сохраняется информация о стилях и положении текста, причем положение и размер шрифта масштабируется в соответствии с разрешением фильма. Далее в плеере можно изменять положение размер и другие параметры субтитров прямо на лету и в конце сохранить скрипт субтитров со всеми внесенными изменениями в файл *.s2k.</p> <p>Формат очень громоздок, трудночитаем, имеет весьма сложную структуру и, скорее всего, не будет поддерживаться ни одним плеером, кроме Sasami2k.</p> <p><b>Цитата: </b></p><blockquote class="bb-quote-body">// translated by Sami2Sasami 1.0.7.300<br> // contact: nuclei@shinbiro.com <br> ;Set.Slot=1<br> ;Set.Time.Delay=15000<br> ;Set.Alpha.End=256<br> ;Set.Alpha.Start=256<br> ;Set.Alpha.Step=-300<br> ;Set.Font.Bold=0<br> ;Set.Font.Color=#EEF4FB<br> ;Set.Font.Outline.Color=#00101010<br> ;Set.Font.Outline2.Color=#01101010<br> ;Set.Font.Size=9<br> ;Set.Font.Face=№ЩЕБ<br> ;Buffer.Push=1 <p>;Buffer.Pop=1<br> ;Set.Time.Start=18352<br> ;Set.Start.Position.x=117<br> ;Set.End.Position.x=117<br> ;Set.Start.Position.y=203<br> ;Set.End.Position.y=203<br> ;Set.Start.Position.x=117<br> ;Set.End.Position.x=117<br> ;Set.Start.Position.y=203<br> ;Set.End.Position.y=203</p> <p>;(ї┐°бчК)<br> ;Set.Start.Position.x=164<br> ;Set.End.Position.x=164<br> ;Set.Start.Position.y=203<br> ;Set.End.Position.y=203<br> ;Set.Start.Position.x=164<br> ;Set.End.Position.x=164<br> ;Set.Start.Position.y=203<br> ;Set.End.Position.y=203<br> Long, long ago,<br> ;Set.Start.Position.x=160<br> ;Set.End.Position.x=160<br> ;Set.Start.Position.y=221<br> ;Set.End.Position.y=221<br> ;Set.Start.Position.x=160<br> ;Set.End.Position.x=160<br> ;Set.Start.Position.y=221<br> ;Set.End.Position.y=221</p> <p>Ihrie! Hey, lhrie!<br> ;Set.Start.Position.x=160<br> ;Set.End.Position.x=160<br> ;Set.Start.Position.y=203<br> ;Set.End.Position.y=203<br> ;Set.Start.Position.x=160<br> ;Set.End.Position.x=160<br> ;Set.Start.Position.y=203<br> ;Set.End.Position.y=203</p> <p>;Set.Start.Position.x=160<br> ;Set.End.Position.x=160<br> ;Set.Start.Position.y=221<br> ;Set.End.Position.y=221<br> ;Set.Start.Position.x=160<br> ;Set.End.Position.x=160<br> ;Set.Start.Position.y=221<br> ;Set.End.Position.y=221<br> What is it, Fam?</p> </blockquote> <p>здесь видно, что это больше похоже на язык программирования чем на скрипт субтитров. например общие для всех фраз параметры вносятся в стек и вынимаются перед каждой фразой. Частенько каждое слово обрамляется полным набором параметров, которые к тому же часто дублируют друг друга.</p> <p>конвертировать субтитры в этот формат можно только конвертором от Sasami2k и просмотреть можно только в плеере Sasami2k.</p> <h3>QTtext (*.txt) </h3> <p>Для представления субтитров в QuickTime плеере используется формат QTtext. Это очень кривой и редкий формат. Субтитры в таком формате можно создать (т.е. оттаймировать) с помощью программы Magpie.</p> <p>Вот пример субтитров в данном формате.</p> <p><b>Цитата: </b></p><blockquote class="bb-quote-body">{QTtext}{font: Arial}{justify: center}{size: 12}{backcolor:0, 0, 0}<br> {timescale: 100}{width: 439}{height: 0} <p><br> {justify:center}README.TXT for MAGpie<br> {justify:center}Please read this entire document before installing MAGpie.<br> {justify:center}*****************<br> MAGpie 1.0<br> *****************00:00:15.99]<br> {justify:center}-- SYSTEM REQUIREMENTS<br> {justify:center}1. Windows95/98<br> {justify:center}2. Microsoft Internet Explorer 4 or higher (http://www.microsoft.com)</p> </blockquote> <p>Файл состоит из маленького заголовка с указанием общих для всего скрипта технических параметров (гарнитура, размер и цвет шрифта; размеры изображения и т.д.) далее идет последовательность фраз, предваряемых временем начала показа в квадратных скобках. Время указывается с точностью до микросекунды. Перевод строки в тексте фразы передается обычным переводом строки в файле скрипта (также как и в srt формате).</p> <p>субтитры в данном формате проиграются только QuickTime player"ом.</p> <h3>TMPlayer subtritres (*.sub) </h3> <p>Внутренний формат плеера TMPlayer, который широко распространен в Польше, и, похоже, только там. Встретить можно очень редко, но DVDSubtitler его все же поддерживает.</p> <p>конверторов в этот формат я не нашел потому примера файла нет.</p> <p>Такого формата субтитров не существует. *.txt это PlainText, а не субтитры. Но иногда всё же можно встретить файлы субтитров с этим расширением. Как правило это субтитры формата MicroDVD или SubViewer и должны иметь расширение sub, но встречаются и MPL субтитры (расширение mpl).</p> <p><i>What is the easiest way to <b>convert PGS to SRT subtitles with Subtitle Converter tool </b> on Windows or Mac? I will refer to a problem to tell you how to convert PGS to SRT subtitles with SupRip, BDSup2Sub or ByteCopy. </i></p> <h2>1. What’s SupRip? </h2> <p> (not to be confused with SubRip) is a program that OCR’s Blu-ray and HD-DVD formatted SUP files (such as those exported by eac3to), and can then export SRT formatted subtitle files that can be muxed into MKV or other containers, or read as external subtitles by compatible players. It allows you to rip DVD subtitles with their timing as a text file. It converts vobsub(sub and idx) to srt text subtitles (<b><b>vobsub to srt </b> / <b>sub to srt </b> / <b>subtosrt </b> / <b>sub2srt </b> </b>) at ease. Yet the program can do more for you. In fact it is capable of converting Blu-ray .sup subtitles to .srt as well with OCR option. Below is some info about the Subtitle Converter – SubRip <b>Pros: </b></p> <ul><li>Rips DVD Subs, Image Subs, PNG Subs, and HARD-CODED SUBS!</li> <li>Learns well when training.</li> <li>Can be modified (using semi-source) by knowledgeable user to do non-Latin text.</li> </ul><ul><li>Hard to extend to non-latin text by average user</li> <li>OCR has difficulty reading the odd Sub file now and then. Indispensable tool for foreign language films.</li> <li>Slower than some rippers.</li> </ul><p><b>Compatible OS: </b> Windows XP, 2000, Vista (Windows ONLY)</p> <h2><span>2. What is PGS and SRT subtitles? </span></h2> <p> – The .sup file extension stands for subtitle bitmap image extracted from a Blu-ray movie; it contains subtitle text graphics that are displayed during movie playback. The .sup subtitles are encoded with PGS codec, and sometimes known as PGS subtitles. Blu-ray PGS subtitles is not so widely supported by HD media players as DVD subtitles and usually need to be converted to more common subtitle format like SRT, SSA, IDX, ASS, etc. When a Blu-ray is ripped into .m2ts streams , the .sup subtitles can be extracted by demuxing the M2TS using tsMuxer. – The .srt is primarily associated to DivX, DVD and some other video formats (e.g. MKV) as external subtitle format. SRT files are text files used in video playback. Therefore, they do not contain any video data, but they include the time each subtitle should be displayed followed by the text of the subtitle.</p> <ul><li>Read More: </li> </ul><h2><span>3. SupRip Tutorial – Converting PGS .sup subtitles to .srt using SupRip </span></h2> <p>SupRip v1.16 Download (Windows ONLY, Mac users you can have a try with this app if you’re ripping Blu-ray to Mac, which lets you convert Blu-ray .sup subtitles straightly from Blu-ray Disc) Step 1. Start SupRip, load the SUP file with the “Open” button. <br><img src='https://i0.wp.com/best-tablet-converter.com/wp-content/uploads/2014/09/suprip.jpg' width="100%" loading=lazy> Step 2. Click “Auto-OCR” to automatically scan the whole file and leave any unknown characters alone. Step 3. Go to the SRT tab. <br><img src='https://i1.wp.com/best-tablet-converter.com/wp-content/uploads/2014/09/srt-tab.jpg' width="100%" loading=lazy> Step 4. Review the subtitles and statistics. Change some options there if you want. <br><img src='https://i2.wp.com/best-tablet-converter.com/wp-content/uploads/2014/09/subtitles-and-statistics.jpg' width="100%" loading=lazy> Step 5. Save the SRT file with the “Save” button. <br><img src='https://i0.wp.com/best-tablet-converter.com/wp-content/uploads/2014/09/save-srt-file.jpg' width="100%" loading=lazy><b>How to name multiple srt files so that the language shows to select: </b> 1. name the subtitles exactly as the video stream. E.g. 00033.m2ts-> 00033.srt 2. give an id to subtitles with different languages. E.g. name English subtitles xxx.en.srt and German subtitles xxx.de.srt <br><img src='https://i1.wp.com/best-tablet-converter.com/wp-content/uploads/2014/09/name-multiple-srt-files.jpg' width="100%" loading=lazy><b>What’s annoying </b> – there are lots of spelling mistakes and indistinguishable characters when Auto-OCR is used, and you have to proof and correct them one by one.</p> <p>Сборка представляет собой упаковку отдельных медиапотоков в общий контейнер. Для ремуксов используются 3 типа контейнеров: MKV, TS и M2TS. На основе контейнера M2TS можно сделать также полноценную файловую структуру Blu-ray диска.</p> <p><b>Контейнер (Video Container) </b></p> <p><b>Видеопоток (Video Stream) </b></p> <p>MPEG-2, H.264/AVC (MPEG-4), VC-1</p> <p><b>Аудиопоток (Audio Stream) </b></p> <p>AC3, DTS, DTS-HD MA, DTS-HD HR, Dolby TrueHD, LPCM</p> <p><b>Субтитры (Presentation Graphics Stream) </b></p> <p>SRT, PGS TS, MKV, M2TS</p> <p>Контейнер может содержать и несколько однотипных потоков. Существуют ограничения на форматы потоков, которые могут быть включены в каждый конкретный контейнер, а также сами контейнеры воспринимаются различной аппаратурой с разной степенью успеха. Например, контейнер MKV является наиболее всеядным из всех трёх, используемых в настоящее время, но сам он вос- принимается далеко не любым «железным» плеером. Контейнер TS лучше воспринимается стационарной аппаратурой, но в него вообще нельзя включить субтитры - только как внешний поток. M2TS - стандартный контейнер для Blu-ray дисков, в него могут быть включены все три формата HD-video, все интересующие нас аудиоформаты и субтитры в графическом формате PGS. Какой из контейнеров использовать - вопрос личных предпочтений.</p> <p>Итак, субтитры в формате SRT у нас готовы, аудио, в формате AC3 и DTS тоже есть. Осталось разобраться с видео. В настоящее время в HD используются три кодека: MPEG-2, H.264/AVC (MPEG-4) и VC-1 от Microsoft. Кроме того, в рамках коммерческого H.264/AVC существует бесплатный open-source проект x264. Этот кодек в основном используется для изготовления рипов.</p> <p><b><i>Примечание: </i> </b><i>Чтобы подключить субтитры, как внешние в плеере Media Player Classic, нужно чтобы файл субтитро назывался так же как фильми находился в той же папке. Тогда плеер подгрузит их автоматически. Включить их можно в меню Navigate > Subtitle Language. Например: </i></p> <p><i>00001.ts - фильм 00001.srt - субтитры </i></p> <p>Существует проблема с видео в формате VC-1, снятым с HD-DVD. Для совместимости с раз- личным оборудованием, т.е. «из лучших побуждений» в видеопоток добавлена служебная информация (pulldown flag), из-за которой поток, имеющий реальные параметры 1920х1080р и fps 23.976, может восприниматься сплиттером, как 1920х1080i и fps 29.97. Во время воспро- изведения подобного файла с большой долей вероятности могут возникнуть периодические</p> <p>кратковременные «подтормаживания». Если сплиттер берет информацию о потоке из заголов- ка, проблемы гарантироаны, если из самого потока, всё будет ОК.</p> <p>Для корректного воспроизведения эта служебная информация должна быть удалена. Сделать это можно с помощью утилит <b>xport </b>и <b>vc1conv </b>. Программы работают в коммандной строке DOS, также можно воспользоваться и графической оболочкой <b>eac3to And More GUI </b>. Утилита <b>xport </b>позволяет извлечь элементарные потоки (elementary streans - ES) из контейнера, а <b>vc1conv </b>производит коррекцию потока VC-1. Качество видео при этом не страдает.</p> <p>Синтаксис на xport: <b>xport фильм.ts 1 1 1 </b></p> <p>(вторая и третья цифры означают номера видео и аудио потоков соответственно) Синтаксис на vc1conv: <b>vc1conv видеопоток.mpv видеопоток-new.mpv. </b></p> <p>Затем нужно поменять расширение файла на *.VC1.</p> <p>Ту же самую операцию по коррекции потока можно выполнить прямо в <b>tsMuxeR </b>и в <b>eac3to </b>, но в ранних версиях этих программ эта функция работала некорректно, а в последних - не было возможности проверить.</p> <h3>Сборка с помощью tsMuxeR.</h3> <p><b>tsMuxeR </b>позволяет паковать контент в следующие форматы:</p> <p>1. TS - один файл *.ts (субтитры не поддерживаются).</p> <p>2. M2TS - один файл *.m2ts</p> <p>3. Blu-ray структура - создается файловая система Blu-ray с одним файлом m2ts, одним mpls и одним clpi. Меню (естественно) отсутствует.</p> <p>Также есть возможность создавать AVCHD (для ремуксов не используется). Формат разработан для home-video. Имеет структу сходную (но не идентичную) Blu-ray. Основные отличия от Blu-ray:</p> <p>1. В качестве носителя используется DVD.</p> <p>2. Битрейт видео ограничен 18 мбит/с.</p> <p>3. Упрощенная система меню.</p> <p>Запускаем программу. В окно <b>Input files </b>перетаскиваем мышью нужные файлы. Если необходимо склеить несколько фрагментов в один, то перетаскиваем первый, жмем <b>join </b>, указываем на второй и т.д.. В окне <b>Tracks </b>отображается информация об имеющихся потоках. Кнопками <b>Up </b>, <b>Down </b>и <b>Remove </b>можно, соответственно, менять очередность или удалять потоки из списка. Исключить поток из обработки можно также сняв снего галку. Выделив поток в окне <b>Tracks </b>,</p> <p>можно посмотреть и изменить его параметры, отображаемые в меню <b>General track options </b>. Например для звуковой дорожки можно указать язык озвучки и установить задержку.</p> <p><img src='https://i0.wp.com/x-graphics.org/img/HDVideoEditingGuide_image072.jpg' height="313" width="360" loading=lazy></p> <p>Для TS-файлов - это всё. Ставим галку на <b>TS muxing </b>, указываем путь сохранения, имя файла и жмем <b>Start muxing </b>. Минут через 10-15 всё будет готово.</p> <p>При создании структуры Blu-ray из Blu-ray диска лучше перетаскивать в окно <b>Input files </b>не m2ts-файл с основным фильмом, а его плейлист (mpls-файл). Вычислить его можно методом перебора или с помощью <b>eac3to </b>, указав ему папку BDMV:</p> <p><img src='https://i1.wp.com/x-graphics.org/img/HDVideoEditingGuide_image073.png' width="100%" loading=lazy></p> <p>Это позволит импортировать в <b>tsMuxeR </b>все m2ts-файлы основного фильма (если их несколько) в нужном порядке, а также импортироать информацию о главах.</p> <p><img src='https://i0.wp.com/x-graphics.org/img/HDVideoEditingGuide_image074.jpg' width="100%" loading=lazy><br><img src='https://i0.wp.com/x-graphics.org/img/HDVideoEditingGuide_image075.jpg' width="100%" loading=lazy></p> <p>Убираем ненужные звуковые дорожки и субтитры, подставляем русские, меняем порядок, указываем параметры:</p> <p><img src='https://i1.wp.com/x-graphics.org/img/HDVideoEditingGuide_image076.jpg' width="100%" loading=lazy></p> <p><img src='https://i2.wp.com/x-graphics.org/img/HDVideoEditingGuide_image077.jpg' width="100%" loading=lazy></p> <p><b><i>Примечание: </i> </b><i>Информация о главах сохраняется только в случае создания Blu-ray Disk. </i></p> <p>Идем в раздел субтитров. Здесь мы можем выбрать параметры шрифта и местоположение субтитров на экране. Первый раз придется поэкспериментировать, получив нужный результат, запомним параметры и будем использовать их в дальнейшем для других фильмов.</p> <p>В меню <b>Output </b>ставим галку на <b>Blu-ray disk </b>или <b>M2TS Muxing </b>, указываем путь сохранения (и имя файла, в случае m2ts) и жмем <b>Start Muxing </b>.</p> <p><img src='https://i0.wp.com/x-graphics.org/img/HDVideoEditingGuide_image078-min-vs.png' width="100%" loading=lazy></p> <p>В зависимости от выбора в меню <b>Output </b>, получим либо 1 файл m2ts, либо структуру Blu-ray.</p> <p><img src='https://i2.wp.com/x-graphics.org/img/HDVideoEditingGuide_image079.jpg' height="266" width="379" loading=lazy></p> <p><b><i>Примечание: </i> </b><i>Посколькуянеиспользую эту программу постоянно и не являюсь поклонником MKV-контейнера, инструкция носит весьма поверхностный характер </i></p> <p><i>и приведена здесь исключительно для полноты картины. Если кто-нибудь напишет и пришлет мне более подробный вариант, отражающий все достоинства формата, я буду рад включить его </i></p> <p><i>в свою инструкцию. </i></p> <p><i>P.S. Нашел очень неплохое описание на форуме rutracker.org: </i></p> <p><i>http://rutracker.org/forum/viewtopic.php?t=619851 в разделе Программы > mkvtoolnix (MKV). Впрочем, вся тема заслуживает углубленного изучения. </i></p> <h3>Сборка с помощью MKVMerge GUI.</h3> <p>Программа позволяет паковать контент в контейнер MKV и является графическим интерфей- сом для набора инструментов <b>MKVToolnix </b>. Подробное описание программы находится здесь: http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge.html. Методика работы с этой программой аналогична работе с <b>tsMuxeR </b>, поэтому рассмотрим отличия.</p> <p>В отличие от <b>tsMuxeR </b>, не принимает на входе TS и M2TS - только MKV (из интересующих контейнеров) или потоки, извлеченные из контейнера. Помимо SRT, <b>MKVMerge </b>работает</p> <p>с субтитрами в формате VobSub. Контейнер MKV поддерживает внешние связи (attachments). Рассмотрим интерфейс программы.</p> <p>Исходные материалы подгружаются в окно <b>Input files </b>, информация о потоках находится в меню <b>Tracks </b>. В меню <b>General track options </b>присутствуют несколько новых, а главное полезных опций:</p> <p>1. В поле <b>Track name </b>можно указать название потока.</p> <p>2. В поле <b>Defaul track flag </b>можно указать, что дорожка будет включена по умолчанию (значение «yes»).</p> <p>3. В поле <b>Forced track flag </b>можно задать принудительное включение дорожки (значение «yes»).</p> <p><img src='https://i1.wp.com/x-graphics.org/img/HDVideoEditingGuide_image080.jpg' height="292" width="301" loading=lazy></p> <p>В меню <b>Format specific options </b>, в поле <b>Delay </b>можно задать задержку, а в поле <b>Stretch by </b>, тео- ретически, можно задать растяжение/сжатие, но пользоваться этой опцией нельзя - результат будет удручающий.</p> <p><img src='https://i2.wp.com/x-graphics.org/img/HDVideoEditingGuide_image081.jpg' height="292" width="301" loading=lazy></p> <p>В поле <b>Output filename </b>выбираем путь сохранения и имя файла, жмем <b>Start muxing </b>.</p> <p>MKV-файл также можно сделать с помощью <b>eac3to </b>. Примеры будут рассмотрен в переводе официального описания программы.</p> <p><b><i>Примечание: </i> </b><i>перевод официаль- ной инструкции. Оригинал здесь: http://en.wikibooks.org/wiki/Eac3to/How_to_Use </i></p> <p><b>Субтитрами </b> <b>субтитры </b> <b>субтитры </b> <b>Субтитры </b> отображаются в виде текста появляющегося в соответствующий момент в нижней части экрана при просмотре видео.</p><p><br> </span> <b>Субтитрами </b> называют текстовое сопровождение видео на языке оригинала или в переводе. В большинстве случаев <b>субтитры </b> дублируют слова произнесенные персонажами и некоторые звуки фильма. Иногда <b>субтитры </b> имеют поясняющий или дополняющий характер. <b>Субтитры </b> отображаются в виде текста появляющегося в соответствующий момент в нижней части экрана при просмотре видео. Одним из наиболее распространенных методов является применение <b>субтитров </b> в караоке. <b>Субтитры </b> просто необходимы для слабослышащих людей. Не секрет, что профессионализм дублеров иногда уступает профессионализму дублеров, а качество звука и перевода в дубляжах иногда оставляет желать лучшего, особенно в тех случаях когда дубляж покрывает полностью звуковую дорожку и большинство звуков(взрывы, звук двигателей автомобилей, смех людей) берется не из оригинальной звуковой дорожки, а из библиотеки звуков дублирующей группы. Поэтому для просмотра фильма с оригинальной звуковой дорожкой могут пригодиться <b>субтитры </b>. В оригинальной звуковой дорожке лучше передается атмосфера фильма и эмоции, мы слышим те интонации и те звуки, которые задумал режиссер фильма, а не директор дубляжа.</p> <p>Многим известен фильм режиссера Стэнли Кубрика «С широко закрытыми глазами(Eyes Wide Shut)», который в российском прокате шел без дубляжа и с <b>субтитрами </b>. Тем самым авторы фильма хотели добиться, чтобы зритель слышал именно мастерскую игру актеров, а не неизвестное качество дубляжа. <b>Субтитры </b> могут быть включены в видеоряд или наложены поверх изображения при просмотре фильма. <b>Субтитры </b>, которые наложены в момент кодирования видео называют встроенными, а если субтитры накладываются в реальном времени, то такие <b>субтитры </b> называются внешними. Внешние <b>субтитры </b> выглядят более качественно и при необходимости их можно отключить.</p> <p><b>Субтитры </b> могут быть представлены в виде отдельного файла с расширением соответствующем формату субтитров, либо включены в медиаконтейнер, например в MKV. В характеристиках каждого медиаплеера обязательно указываются форматы поддерживаемых <b>субтитров </b>. Существует множество форматов цифровых внешних <b>субтитров </b>, отображение которых возможно при просмотре фильмов на медиаплеерах. Именно о них мы расскажем ниже.</p> <p><b>SubRipper </b>(<b>SRT </b>) - это рабочий файл <b>субтитров </b> программы <b>SubRip </b>, которая является одной из самых популярных для извлечения субтитров из DVD. Данный формат является одним из самых распространенных и удобных для редактирования, отличается простотой и наглядностью, синхронизируется с видео на основе времени с точностью до микросекунд. Изначально не поддерживал элементов оформления текста, но в дальнейшем был расширен поддержкой цветов и начертаний символов (курсив, жирность текста).</p> <p><b>SAMI </b>(<b>Synchronized Accessible Media Interchange </b>, <b>SMI </b>) - это формат <b>субтитров </b> от Microsoft, основанный на SGML. Этот формат хорошо документирован и имеет сложную расширяемую структуру. Стандарт поддерживает изменение размера, цвета, гарнитуры и стиля шрифта, а также изменения положения на экране.</p> <p><b>SubViewer </b> и <b>Submagic </b>(<b>SUB </b>) - популярный в прошлом формат, предназначенный для проигрывания в программе Submagic. Ввиду распространения более новых форматов <b>субтитров </b> утрачивает свою актуальность. В файле <b>субтитров </b> могут быть указаны настройки шрифта.</p> <p><b>MicroDVD </b> (<b>MDV </b>, <b>SUB </b>, <b>TXT </b>) - это собственный формат плеера MicroDVD player. Он не имеет фиксированного расширения, обычно это txt, sub или mdv. В связи с тем, что MicroDVD Player долгое время оставался вне конкуренции среди плееров с поддержкой субтитров, а также благодаря подробной документации, поддержке изменяемого стиля, размера и положения шрифта, этот формат получил уважение среди пользователей. MicroDVD осуществляет синхронизацию по номеру кадра, в то время как большинство <b>субтитров </b> синхронизируются по времени. Поэтому при наложении таких <b>субтитров </b> на видео с измененной частотой кадров <b>субтитры </b> будут появляться не вовремя.</p> <p><b>SubStation Alpha </b> (<b>SSA </b>) - это рабочий файл <b>субтитров </b> программы SubStation Alpha, которая предназначена для подготовки, таймирования, и наложения <b>субтитров </b>. Здесь полностью поддерживается работа со всеми параметрами шрифта (цвет, размер, гарнитура и т.д.), размещение текста в любом месте экрана, комментарии. <b>SSA </b> позволяет применять сложные видеоэффекты в отношении символов (затенение, движение, повороты и т. д.). Множество полей определяет параметры каждой фразы, например специальное поле для определения произносящего данную фразу. Кроме текста можно вставлять картинки, звуки и даже маленькие видео фрагменты.</p> <p><b>Advanced SubStation Alpha </b>(<b>ASS </b>) - формат с неблагозвучным для знающих английский расширением является дальнейшим развитием SubStation Alpha. Расширенный формат содержит такие возможности, как использование векторной графики и подсветки текста в режиме караоке.</p> <p><b>IDX+SUB </b> - двоичный формат прорисованных графических <b>субтитров </b>, извлечённых из DVD.</p> <p><b>SUP </b> - двоичный формат графических <b>субтитров </b>, используемый в VOB-файлах DVD диска, а так же в Blue Ray дисках.</p> <p><b>Presentation Graphic Streams </b>(<b>PGS </b>) - сравнительно новый формат субтитров использующийся в Blue Ray дисках.</p> <p><b> Timed Text </b>(<b>TT </b>) - один из наиболее перспективных форматов <b>субтитров </b>, основанный на XML.</p> <p><b>Synchronized Multimedia Integration Language </b>(<b>SMIL </b>) - рекомендованный W3C язык разметки основанный на XML для описания мультимедийных презентаций так же получил распространение в применении к <b>субтитрам </b>. Правильное расширение файлов с субтитрами этого формата - *.smil, но иногда ошибочно делают расширение *.smi, которое соотвтетствует формату SAMI.</p> <p>The Bluray m2ts format allows for two types of on-screen overlays that can be used for . One is based on text but as for now I"ve seen no BluRay using this one for subs. The other one is the <b>PGS (Presentation Grapic Stream) </b> and consists in bitmaps (and the timeframes on which they have to be displayed). That second stream is by far the most commonly used by BluRays. As we"ll see below, tools exist to extract that stream to .sup files. It"s not the same format as .sup files that some tools extract from DVDs.</p> <p>Note that HD DVD have also a .sup format which is slightly different from the BluRay one. As far as the PCH is not (yet) able to display PGS, the only way to get subs for ts or m2ts material is to use a side text file (.srt) containing the subs.</p> <h2>Extract PGS Subtitle from Bluray</h2> <p>You need following tools:<br><b>eac3to </b><br><b>tsMuxer </b><br> You can find them on Google.</p> <p>Open a cmd window (Run: cmd)</p> <p>Be sure eac3to is accessible in your path (For instance if eac3to is installed in the C:\Program Files\eac3to\ folder) : <br><i>"set PATH=%PATH%;E:\Program Files\eac3to" </i></p> <p>Go to the folder that contains your m2ts file,<br><i>cd MEDIA\REMUXED\The Movie\BDMV\STREAM </i></p> <p>Make eac3to tell you what streams are inside your m2ts, <br><i>eac3to 1) </i></p> <p>Sample Output:<br><i>M2TS, 1 video track, 1 audio track, 3 subtitle tracks, 2:08:45, 24p /1.001<br>1: Chapters, 37 chapters<br>2: h264/AVC, 1080p24 /1.001 (16:9)<br>3: DTS Master Audio, English, 5.1 channels, 24 bits, 48khz<br> (core: DTS, 5.1 channels, 24 bits, 1509kbps, 48khz)<br>4: Subtitle (PGS), English<br>5: Subtitle (PGS), French<br>6: Subtitle (PGS), French </i></p> <p>If your folder contains multiple m2ts files, execute eac3to without argument first, it will display all the files available in the form: 1) 00000.mpls, 00001.m2ts, 2:08:45 / 2) 00001.mpls ..., then choose the number you want to explore.</p> <p><img src='https://i2.wp.com/winxdvd.com/hd-video-converter-deluxe/step-images/profile-mp4-700.jpg' width="100%" loading=lazy></p> <p> <img src='https://i0.wp.com/winxdvd.com/resource/addpro/vcds.png' height="193" width="287" loading=lazy></p> <h4>WinX HD Video Converter Deluxe</h4> <p>Best video/music downloader & converter, video editor, DVD converter, video/webcam recorder for Windows (10) and Mac. Ultrafast video processing speed with Nvidia/Intel/AMD hardware acceleration.</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy>");</script> </article> <div class="title"><span>Похожие публикации</span></div> <div class="yarpp-related"> <ul class="related"> <style> </style> <style> #perelink-horizontal { vertical-align: top; margin: 0 -5px; text-align: left; } #perelink-horizontal .perelink-horizontal-item { vertical-align: top; display: inline-block; width: 150px; margin: 0 5px 10px; } #perelink-horizontal .perelink-horizontal-item a span { display: block; margin-top: 10px; } #perelink-horizontal img { width: 150px; height: 95px; margin-bottom: 10px; } </style> <div id="perelink-horizontal"> <div class="perelink-horizontal-item"> <a href="/kak-vernut-versiyu-androida-4-4-2-kak-vernut-staruyu-versiyu-android/"> <img src="/uploads/795a02fd705816326f4628285fbcdce6.jpg" height="95" width="150" loading=lazy> <span>Как вернуть версию андроида 4</span> </a> </div> <div class="perelink-horizontal-item"> <a href="/kak-udalit-razdel-efi-s-usb-nakopitelya-kak-udalit-efi-razdely-mac-os-kak/"> <img src="/uploads/1b16425f80749858340757f67ace233b.jpg" height="95" width="150" loading=lazy> <span>Как удалить EFI разделы Mac OS Как удалить шифрованный том efi</span> </a> </div> <div class="perelink-horizontal-item"> <a href="/kak-udalit-skrytyi-kak-udalit-skrytyi-chat-v-vaibere-zashchita-ot/"> <img src="/uploads/5dfce2b80eca0c17b4d2bb2a6191b346.jpg" height="95" width="150" loading=lazy> <span>Как удалить скрытый чат в вайбере</span> </a> </div> <div class="perelink-horizontal-item"> <a href="/programma-rezervnogo-kopirovaniya-failov-po-raspisaniyu-programmy/"> <img src="/uploads/753c94aed90ec1f182ad6d54c5ee538d.jpg" height="95" width="150" loading=lazy> <span>Программы резервного копирования данных</span> </a> </div> </div> </ul> </div> <script type="text/javascript"> document.write('<scr' + 'ipt language="javascript" type="text/javascript" src="https://cashthe.ru/output/index/305"></scr' + 'ipt>'); </script> </main> <aside class="sidebar"> <div class="section section_widget widget_nav_menu" id="nav_menu-3"> <div class="title">Полезно</div> <div class="menu-sajtbar-container"> <ul id="menu-sajtbar" class="menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/kod-sch-tchika-poseshchaemosti-ot-yandeks-dobavlenie-schetchika-yandeks/">Добавление счетчика яндекс метрики</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/rasshirenie-rdf-rasshirenie-faila-rdf-vozmozhnye-problemy-s-failami-v-formate/">Расширение rdf. Расширение файла RDF. Возможные проблемы с файлами в формате RDF</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/kak-sdelat-zapis-translyacii-s-televizora-na-fleshku-kak-zapisat/">Как записать тв программу на телевизоре lg</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/aifon-ne-konnektitsya-chto-delat-esli-iphone-ne-udaetsya-podklyuchit-k/">Что делать если iPhone не удается подключить к компьютеру?</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/tipy-i-standarty-usb-tehnicheskie-harakteristiki-vozmozhnosti-usb-tipy-usb/">Технические характеристики Возможности usb Типы USB разъемов</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/kak-uznat-skorost-porta-gigabit-rt-n16-semikratnoe-uskorenie/">Семикратное ускорение: обзор Wi-Fi роутера ASUS RT-N16</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/kak-zaarhivirovat-dannye-kak-arhivirovat-faily-kak/">Как заархивировать данные</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/pochemu-virtualbox-vydaet-oshibku-oshibka-e-fail-0x80004005-pri-zapuske/">Ошибка E_FAIL (0x80004005) при запуске виртуальной машины VirtualBox</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/sessiya-kontrol-sessii-paroli-prilozhenii-i-podtverzhdenie-vhoda-na/">Контроль сессий, пароли приложений и подтверждение входа на Facebook Что значит ситуация, когда я не узнаю места входа</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/bezobidnyi-validation-php-validirovali-validirovali-i-vyvalidirovali-sravnivaem-validatory-danny/">Валидировали, валидировали… и вывалидировали!</a></li> </ul> </div> </div> <div class="section section_widget widget_nav_menu" id="nav_menu-3"> <div class="title">Новые статьи</div> <div class="menu-sajtbar-container"> <ul id="menu-sajtbar" class="menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/nomer-akado-telefon-sluzhby-podderzhki-akado-chto-mozhno-vyyasnit-po/">Телефон службы поддержки акадо</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/oficialnye-proshivki-asus-memo-pad-samostoyatelnaya-proshivka-plansheta-asus/">Самостоятельная прошивка планшета Asus</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/htc-desire-s---podrobnaya-instrukciya-po-polucheniyu-root-i-ustanovke/">Получение Root (рут) прав на HTC Desire HD Инструкция получения Root Desire V</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/android-system-recovery-3e-kak-vosstanovit-sistemu-menyu-recovery-na-android/">Меню Recovery на Android: что это и зачем нужно?</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/podklyuchaem-mysh-k-android-smartfonu-planshet-ne-vidit-myshku-podklyuchaem-myshku-k/">Подключаем мышь к Android-смартфону</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/kod-html-pokaz-bannera-na-otdelnoi-stranice-gde-vzyat-html-kod-bannera/">Где взять HTML код баннера</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/kak-vernut-versiyu-androida-4-4-2-kak-vernut-staruyu-versiyu-android/">Как вернуть версию андроида 4</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/kak-udalit-razdel-efi-s-usb-nakopitelya-kak-udalit-efi-razdely-mac-os-kak/">Как удалить EFI разделы Mac OS Как удалить шифрованный том efi</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/kak-udalit-skrytyi-kak-udalit-skrytyi-chat-v-vaibere-zashchita-ot/">Как удалить скрытый чат в вайбере</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/programma-rezervnogo-kopirovaniya-failov-po-raspisaniyu-programmy/">Программы резервного копирования данных</a></li> </ul> </div> </div><div class="section section_widget widget_democracy" id="democracy-2"> <style type="text/css">.democracy:after{ content:'';display:table;clear:both} .democracy ul li,.democracy ul{ background:none;padding:0;margin:0} .democracy ul li:before{ display:none} .democracy input[type='radio'],.democracy input[type='checkbox']{ margin:0;vertical-align:middle} .democracy input[type='radio']:focus,.democracy input[type='checkbox']:focus{ outline:0} .democracy ul{ list-style:none !important;border:0 !important} .democracy ul li{ list-style:none !important} input[type="submit"].dem-button,a.dem-button,.dem-button{ position:relative;display:inline-block;text-decoration:none;line-height:1;border:0;margin:0;padding:0;cursor:pointer;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} input[type="submit"].dem-button:focus,a.dem-button:focus,.dem-button:focus{ outline:0} input[type="submit"].dem-button:disabled,a.dem-button:disabled,.dem-button:disabled{ opacity:.6;cursor:not-allowed} a.dem-button:hover{ text-decoration:none !important} .democracy{ position:relative;margin:0 auto} .democracy input[type='radio'],.democracy input[type='checkbox']{ margin-right:.2em} .dem-screen{ position:relative;line-height:1.3} .democracy ul.dem-vote{ margin-bottom:1em} .democracy ul.dem-vote li{ padding-bottom:0;margin-bottom:0} .democracy ul.dem-vote li>*{ margin-bottom:.6em} .democracy ul.dem-answers li{ padding-bottom:1em} .dem-answers .dem-label{ margin-bottom:.2em;line-height:1.2} .dem-graph{ position:relative;color:#555;color:rgba(0,0,0,.6);box-sizing:content-box;width:100%;display:table;height:1.2em;line-height:1.2em} .dem-fill{ position:absolute;top:0;left:0;height:100%;background-color:#7cb4dd} .dem-voted-this .dem-fill{ background-color:#ffc45a} .dem-votes-txt,.dem-percent-txt{ position:relative;display:table-cell;padding-left:.3em;vertical-align:middle;font-size:90%} .dem-poll-info{ padding-bottom:1em} .dem-poll-info:after{ content:'';display:table;clear:both} .dem-poll-info>*{ font-size:85%;display:block;float:right;clear:both;text-align:right;opacity:.7;line-height:1.3} .dem-vote label{ float:none;display:block} .dem-results-link{ display:inline-block;line-height:1;margin:.8em 1em} .dem-vote .dem-disabled{ opacity:.5} .democracy .dem-bottom{ padding-bottom:1em} .dem-bottom{ text-align:center} .dem-bottom:after{ content:'';display:table;clear:both} .dem-poll-title{ display:block;margin-bottom:1.5em;margin-top:1.2em;font-size:120%} .dem-cache-notice{ z-index:10;position:absolute;top:0;border-radius:2px;width:100%;padding:1.5em 2em;text-align:center;background:rgba(247,241,212,.8);color:#6d6214} .dem-notice-close{ position:absolute;top:0;right:0;padding:5px;cursor:pointer;line-height:.6;font-size:150%} .dem-notice-close:hover{ color:#d26616} .dem-star{ font-size:90%;vertical-align:baseline;padding-left:.3em;color:#ff4e00} .dem-poll-note{ font-size:90%;padding:.5em;opacity:.8;line-height:1.3} .democracy .dem-copyright{ position:absolute;bottom:-1em;right:0;text-decoration:none;border-bottom:0;color:#b2b2b2;opacity:.5;line-height:1} .democracy .dem-copyright:hover{ opacity:1} .dem-add-answer{ position:relative} .dem-add-answer>*{ display:block} .dem-add-answer a{ display:inline-block} input.dem-add-answer-txt{ width:100%;box-sizing:border-box} .dem-add-answer-close{ position:absolute;right:0;padding:0 .7em;cursor:pointer;color:#333} .dem-add-answer-close:hover{ color:#ff2700} .dem-edit-link{ display:block;position:absolute;top:0;right:0;line-height:1;text-decoration:none !important;border:0 !important} .dem-edit-link svg{ width:1.2em !important;fill:#5a5a5a;fill:rgba(0,0,0,.6)} .dem-edit-link:hover svg{ fill:#35a91d} .dem-loader{ display:none;position:absolute;top:0;left:0;width:100%;height:100%} .dem-loader>*{ display:table-cell;vertical-align:middle;text-align:center} .dem-loader svg{ width:20%;max-width:100px;min-width:80px;margin-bottom:15%} .dem-loader [class^="dem-"]{ margin-bottom:15% !important} .dem__collapser{ display:block;cursor:pointer;text-align:center;font-size:150%;line-height:1} .dem__collapser:hover{ color:#f31;background:rgba(255,255,255,.3)} .dem__collapser.expanded{ position:relative;height:1em} .dem__collapser.collapsed{ position:absolute;top:0;bottom:0;right:0;left:0} .dem__collapser .arr{ display:block;position:absolute;bottom:0;width:100%} .dem__collapser.collapsed .arr:before{ content:"▾"} .dem__collapser.expanded .arr:before{ content:"▴"} .dem-archives .democracy{ margin-bottom:2em;padding-bottom:20px;border-bottom:1px dashed #ccc} .dem-archives .dem-archive-link{ display:none} .dem-vote label{ opacity:.9} .dem-vote label:hover{ opacity:1} .dem-results-link{ display:none} .dem-add-answer a{ text-decoration:none;margin-left:1.2em;color:inherit !important} .dem-add-answer a:hover{ opacity:.8} .dem-graph{ height:1.4em;line-height:1.4em} .dem-voted-this{ font-weight:bold} .dem-votes-txt-percent{ font-size:90%} .dem-votes-txt-percent:before{ content:'- ';display:inline} .dem-percent-txt,.dem-label-percent-txt,.dem-poll-info>*{ display:none} .dem-poll-info .dem-total-votes{ display:block;float:none;opacity:1;font-size:100%;text-align:center;font-weight:700} .dem__checkbox,.dem__radio{ display:none !important} .dem__checkbox_label,.dem__radio_label{ position:relative;box-sizing:content-box} .dem__checkbox_label .dem__spot,.dem__radio_label .dem__spot{ position:relative;display:inline-block;vertical-align:baseline;top:.1em;cursor:pointer;width:12px;height:12px;margin-right:.3em;background:#fff;border:1px solid #ccc} .dem__checkbox_label .dem__spot{ border-radius:3px} .dem__radio_label .dem__spot{ border-radius:50%} .dem__checkbox_label .dem__spot:after,.dem__radio_label .dem__spot:after{ content:'';position:absolute;opacity:0} .dem__checkbox_label .dem__spot:after{ width:11px;height:4px;top:0;left:2px;border:2px solid #333;border-top:0;border-right:0;background:transparent;-ms-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);transform:rotate(-45deg)} .dem__radio_label .dem__spot:after{ width:6px;height:6px;border-radius:50%;top:50%;left:50%;background:#333;-ms-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)} .dem__checkbox_label:hover .dem__spot::after,.dem__radio_label:hover .dem__spot::after{ opacity:.2} .dem__checkbox:checked+.dem__spot,.dem__radio:checked+.dem__spot{ border-color:#999} .dem__checkbox:checked+.dem__spot:after,.dem__radio:checked+.dem__spot:after{ opacity:1} .dem__checkbox:disabled+.dem__spot,.dem__radio:disabled+.dem__spot{ opacity:.5} .dem__checkbox:not(:checked):disabled+.dem__spot:after,.dem__radio:not(:checked):disabled+.dem__spot:after{ opacity:0} input[type="submit"].dem-button,a.dem-button,.dem-button{ border-radius:3px;font-size:90%;font-weight:bold;padding:.7em 1.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:-webkit-gradient(linear,left top,left bottom,from(#e3262e),to(#ab171e));background-image:-webkit-linear-gradient(#e3262e,#ab171e);background-image:linear-gradient(#e3262e,#ab171e);background-color:#ab171e;border-bottom-color:#820a0f;border-left-color:#9a1015;border-right-color:#9a1015;border-top-color:#af151b;border-style:solid;border-width:1px;-webkit-box-shadow:0 1px 0 0 rgba(255,255,255,0.34);box-shadow:0 1px 0 0 rgba(255,255,255,0.34);color:#fff;text-shadow:0 -1px rgba(0,0,0,0.11)} input[type="submit"].dem-button:hover,a.dem-button:hover,.dem-button:hover,input[type="submit"].dem-button:focus,a.dem-button:focus,.dem-button:focus{ background-image:-webkit-gradient(linear,left top,left bottom,from(#e63d44),to(#c11a22));background-image:-webkit-linear-gradient(#e63d44,#c11a22);background-image:linear-gradient(#e63d44,#c11a22);-webkit-box-shadow:0 1px 2px 0 rgba(0,0,0,0.22);box-shadow:0 1px 2px 0 rgba(0,0,0,0.22);border:1px solid #920c12} a.dem-button:visited{ color:#fff} input[type="submit"].dem-button:active,a.dem-button:active,.dem-button:active{ background-image:-webkit-gradient(linear,left top,left bottom,from(#bb1618),to(#e22123));background-image:-webkit-linear-gradient(#bb1618,#e22123);background-image:linear-gradient(#bb1618,#e22123);-webkit-box-shadow:0 1px 7px 0 rgba(0,0,0,0.5) inset;box-shadow:0 1px 7px 0 rgba(0,0,0,0.5) inset;background-color:#e22123;border-color:#99161b;text-shadow:0 1px rgba(0,0,0,0.6)} .dem-loader .fill{ fill:#098394 !important} .dem-loader .css-fill{ background-color:#098394 !important} .dem-loader .stroke{ stroke:#098394 !important} .dem-fill{ background-color:#bf3030 !important} .dem-voted-this .dem-fill{ background-color:#5bb9c6 !important} .dem-graph{ height:2px;line-height:2px} .dem-button{ background-color:#b33d38 !important} .dem-button{ color:#fff !important} .dem-button:hover{ background-color:#099 !important} .dem-button:hover{ color:#fff !important} </style> <script type="text/javascript">function dem_ready(e){ "use strict";var t,n=".democracy",i=e(n),o=".dem-screen",s=".dem-add-answer-txt",a=e(".dem-loader").first(),d={ };i.length&&(d.opts=i.first().data("opts"),d.ajaxurl=d.opts.ajax_url,d.answMaxHeight=d.opts.answs_max_height,d.speed=parseInt(d.opts.anim_speed),setTimeout(function(){ var t=i.find(o).filter(":visible"),n=function(){ t.each(function(){ d.setHeight(e(this),1)} )} ;t.demInitActions(1),e(window).on("resize.demsetheight",n),e(window).load(n),d.maxAnswLimit();var s=e(".dem-cache-screens");s.length>0&&s.demCacheInit()} ,10),e.fn.demInitActions=function(t){ return this.each(function(){ var n=e(this),i="data-dem-act";n.find("["+i+"]").each(function(){ e(this).attr("href",""),e(this).click(function(t){ t.preventDefault(),e(this).blur().demDoAction(e(this).attr(i))} )} );var o=!!n.find("input[type=radio][data-dem-act=vote]").first().length;o&&n.find(".dem-vote-button").hide(),d.setAnswsMaxHeight(n),d.setHeight(n,t),n.find("form").submit(function(t){ t.preventDefault();var n=e(this).find('input[name="dem_act"]').val();n&&e(this).demDoAction(e(this).find('input[name="dem_act"]').val())} )} )} ,e.fn.demSetLoader=function(){ var e=this;return a.length?e.closest(o).append(a.clone().css("display","table")):t=setTimeout(function(){ d.demLoadingDots(e)} ,50),this} ,e.fn.demUnsetLoader=function(){ return a.length?this.closest(o).find(".dem-loader").remove():clearTimeout(t),this} ,e.fn.demAddAnswer=function(){ var t=this.first(),n=t.closest(o),i=n.find("[type=checkbox]").length>0,a=e('<input type="text" class="'+s.replace(/\./,"")+'" value="">');if(n.find(".dem-vote-button").show(),n.find("[type=radio]").each(function(){ e(this).click(function(){ t.fadeIn(300),e(s).remove()} ),"radio"==e(this)[0].type&&(this.checked=!1)} ),t.hide().parent("li").append(a),a.hide().fadeIn(300).focus(),i){ var d=n.find(s);e('<span class="dem-add-answer-close">×</span>').insertBefore(d).css("line-height",d.outerHeight()+"px").click(function(){ var t=e(this).parent("li");t.find("input").remove(),t.find("a").fadeIn(300),e(this).remove()} )} return!1} ,e.fn.demCollectAnsw=function(){ var t=this.closest("form"),n=t.find("[type=checkbox],[type=radio],[type=text]"),i=t.find(s).val(),o=[],a=n.filter("[type=checkbox]:checked");if(a.length>0)a.each(function(){ o.push(e(this).val())} );else{ var d=n.filter("[type=radio]:checked");d.length&&o.push(d.val())} return i&&o.push(i),o=o.join("~"),o?o:""} ,e.fn.demDoAction=function(t){ var i=this.first(),s=i.closest(n),a={ dem_pid:s.data("opts").pid,dem_act:t,action:"dem_ajax"} ;return"undefined"==typeof a.dem_pid?(console.log("Poll id is not defined!"),!1):"vote"!=t||(a.answer_ids=i.demCollectAnsw(),a.answer_ids)?"delVoted"!=t||confirm(i.data("confirm-text"))?"newAnswer"==t?(i.demAddAnswer(),!1):(i.demSetLoader(),e.post(d.ajaxurl,a,function(e){ i.demUnsetLoader(),i.closest(o).html(e).demInitActions()} ),!1):!1:(d.demShake(i),!1)} ,e.fn.demCacheShowNotice=function(e){ var t=this.first(),n=t.find(".dem-youarevote").first();return"blockForVisitor"==e&&(t.find(".dem-revote-button").remove(),n=t.find(".dem-only-users").first()),t.prepend(n.show()),setTimeout(function(){ n.slideUp("slow")} ,1e4),this} ,d.cacheSetAnswrs=function(t,n){ var i=n.split(/,/);if(t.hasClass("voted")){ var o=t.find(".dem-answers"),s=o.data("voted-class"),a=o.data("voted-txt");e.each(i,function(n,i){ t.find('[data-aid="'+i+'"]').addClass(s).attr("title",function(){ return a+e(this).attr("title")} )} ),t.find(".dem-vote-link").remove()} else{ var d=t.find("[data-aid]"),r=t.find(".dem-voted-button");e.each(i,function(e,t){ d.filter('[data-aid="'+t+'"]').find("input").prop("checked","checked")} ),d.find("input").prop("disabled","disabled"),t.find(".dem-vote-button").remove(),r.length?r.show():(t.find('input[value="vote"]').remove(),t.find(".dem-revote-button-wrap").show())} },e.fn.demCacheInit=function(){ return this.each(function(){ var t=e(this),i=t.prev(n);if(i.length||(i=t.closest(n)),!i.length)return void console.log("Main dem div not found");var s=i.find(o).first(),a=i.data("opts").pid,r=Cookies.get("demPoll_"+a),c="notVote"==r?!0:!1,f=!("undefined"==typeof r||c),l=t.find(o+"-cache.vote").html(),h=t.find(o+"-cache.voted").html();if(l){ var u=f&&h;if(s.html((u?h:l)+"").removeClass("vote voted").addClass(u?"voted":"vote"),f&&d.cacheSetAnswrs(s,r),s.demInitActions(1),!c&&!f&&1==t.data("opt_logs")){ var m,p=function(){ clearTimeout(m)} ,v=function(){ m=setTimeout(function(){ if(!i.hasClass("checkAnswDone")){ i.addClass("checkAnswDone");var t=i.find(".dem-link").first();t.demSetLoader(),e.post(d.ajaxurl,{ dem_pid:i.data("opts").pid,dem_act:"getVotedIds",action:"dem_ajax"} ,function(e){ t.demUnsetLoader(),e&&(s.html(h),d.cacheSetAnswrs(s,e),s.demInitActions(),s.demCacheShowNotice(e))} )} },700)} ;i.hover(v,p),i.click(v)} }} )} ,d.detectRealHeight=function(e){ var t=e.clone().css({ height:"auto"} ).insertBefore(e),n="border-box"==t.css("box-sizing")?parseInt(t.css("height")):t.height();return t.remove(),n} ,d.setHeight=function(t,n){ var i=d.detectRealHeight(t);n?t.css({ height:i} ):t.css({ opacity:0} ).animate({ height:i} ,d.speed,function(){ e(this).animate({ opacity:1} ,1.5*d.speed)} )} ,d.setAnswsMaxHeight=function(t){ if("-1"!==d.answMaxHeight&&"0"!==d.answMaxHeight&&d.answMaxHeight){ var n=t.find(".dem-vote, .dem-answers").first(),i=parseInt(d.answMaxHeight);n.css({ "max-height":"none","overflow-y":"visible"} );var o="border-box"==n.css("box-sizing")?parseInt(n.css("height")):n.height();if(o>i){ n.css("position","relative");var s,a=e('<span class="dem__collapser"><span class="arr"></span></span>').appendTo(n),r=function(){ a.addClass("expanded").removeClass("collapsed")} ,c=function(){ a.addClass("collapsed").removeClass("expanded")} ;t.data("expanded")?r():(c(),n.height(i).css("overflow-y","hidden")),a.hover(function(){ t.data("expanded")||(s=setTimeout(function(){ a.trigger("click")} ,1e3))} ,function(){ clearTimeout(s)} ),a.click(function(){ if(clearTimeout(s),t.data("expanded"))c(),t.data("expanded",!1),t.height("auto"),n.stop().css("overflow-y","hidden").animate({ height:i} ,d.speed,function(){ d.setHeight(t,!0)} );else{ r();var e=d.detectRealHeight(n);e+=7,t.data("expanded",!0),t.height("auto"),n.stop().animate({ height:e} ,d.speed,function(){ d.setHeight(t,!0),n.css("overflow-y","visible")} )} })} }} ,d.maxAnswLimit=function(){ i.on("change","[type=checkbox]",function(){ var t=e(this).closest(n).data("opts").max_answs,i=e(this).closest(o).find("[type=checkbox]"),s=i.filter(":checked").length;s>=t?i.filter(":not(:checked)").each(function(){ e(this).prop("disabled","disabled").closest("li").addClass("dem-disabled")} ):i.each(function(){ e(this).removeProp("disabled").closest("li").removeClass("dem-disabled")} )} )} ,d.demShake=function(e){ var t=e.css("position");for(t&&"static"!==t||e.css("position","relative"),t=1;2>=t;t++)e.animate({ left:-10} ,50).animate({ left:10} ,100).animate({ left:0} ,50)} ,d.demLoadingDots=function(e){ var n=e,i=n.is("input"),o=i?n.val():n.html();"..."===o.substring(o.length-3)?i?n[0].value=o.substring(0,o.length-3):n[0].innerHTML=o.substring(0,o.length-3):i?n[0].value+=".":n[0].innerHTML+=".",t=setTimeout(function(){ d.demLoadingDots(n)} ,200)} )} !function(e){ if("function"==typeof define&&define.amd)define(e);else if("object"==typeof exports)module.exports=e();else{ var t=window.Cookies,n=window.Cookies=e();n.noConflict=function(){ return window.Cookies=t,n} }} (function(){ function e(){ for(var e=0,t={ };e<arguments.length;e++){ var n=arguments[e];for(var i in n)t[i]=n[i]} return t} function t(n){ function i(t,o,s){ var a;if("undefined"!=typeof document){ if(arguments.length>1){ if(s=e({ path:"/"} ,i.defaults,s),"number"==typeof s.expires){ var d=new Date;d.setMilliseconds(d.getMilliseconds()+864e5*s.expires),s.expires=d} try{ a=JSON.stringify(o),/^[\{ \[]/.test(a)&&(o=a)} catch(r){ }return o=n.write?n.write(o,t):encodeURIComponent(String(o)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),t=encodeURIComponent(String(t)),t=t.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),t=t.replace(/[\(\)]/g,escape),document.cookie=[t,"=",o,s.expires&&"; expires="+s.expires.toUTCString(),s.path&&"; path="+s.path,s.domain&&"; domain="+s.domain,s.secure?"; secure":""].join("")} t||(a={ });for(var c=document.cookie?document.cookie.split("; "):[],f=/(%[0-9A-Z]{ 2} )+/g,l=0;l<c.length;l++){ var h=c[l].split("="),u=h[0].replace(f,decodeURIComponent),m=h.slice(1).join("=");'"'===m.charAt(0)&&(m=m.slice(1,-1));try{ if(m=n.read?n.read(m,u):n(m,u)||m.replace(f,decodeURIComponent),this.json)try{ m=JSON.parse(m)} catch(r){ }if(t===u){ a=m;break} t||(a[u]=m)} catch(r){ }} return a} }return i.set=i,i.get=function(e){ return i(e)} ,i.getJSON=function(){ return i.apply({ json:!0} ,[].slice.call(arguments))} ,i.defaults={ },i.remove=function(t,n){ i(t,"",e(n,{ expires:-1} ))} ,i.withConverter=t,i} return t(function(){ })} );var demjquerywait=setInterval(function(){ "undefined"!=typeof jQuery&&(clearInterval(demjquerywait),jQuery(document).ready(dem_ready))} ,50);</script> </div><div class="section section_widget widget_recent_comments" id="recent-comments-2"> </div></aside> </div> <footer class="footer"> <img src="/assets/logo.svg?1" class="footer-logo" alt="Обзоры, новости, интернет и гаджеты" loading=lazy> <nav class="footer-nav"><ul> <li class="menu-item type-post_type object-page "><a href="">Реклама на сайте</a></li> <li class="menu-item type-post_type object-page "><a href="/sitemap.xml">Карта сайта</a></li> <li class="menu-item type-post_type object-page "><a href="/feedback/">Контакты</a></li> </ul></nav> <div class="footer-bottom"> <div class="copy">© 2024 Обзоры, новости, интернет и гаджеты. <p> </div> </div> </footer> </div> <link rel='stylesheet' id='sss-base-css' href='/wp-content/plugins/social-share-buttons-by-supsystic/src/SocialSharing/Projects/assets/css/base.css' type='text/css' media='all' /> <link rel='stylesheet' id='sss-tooltipster-main-css' href='/wp-content/plugins/social-share-buttons-by-supsystic/src/SocialSharing/Projects/assets/css/tooltipster.css' type='text/css' media='all' /> <link rel='stylesheet' id='sss-brand-icons-css' href='/wp-content/plugins/social-share-buttons-by-supsystic/src/SocialSharing/Projects/assets/css/buttons/brand-icons.css' type='text/css' media='all' /> <link rel='stylesheet' id='sss-tooltipster-shadow-css' href='/wp-content/plugins/social-share-buttons-by-supsystic/src/SocialSharing/Projects/assets/css/tooltipster-shadow.css' type='text/css' media='all' /> <link rel='stylesheet' id='social-sharing-builder-navigation-css' href='/wp-content/plugins/social-share-buttons-by-supsystic/src/SocialSharing/Projects/assets/css/builder/navigation.css' type='text/css' media='all' /> <script type='text/javascript' src='/assets/scripts1.js'></script> <script type='text/javascript' src='https://sanchopansa.ru/wp-content/plugins/wp_testme/js/testme.js?ver=1.1'></script> <script type='text/javascript' src='https://sanchopansa.ru/wp-content/plugins/q2w3-fixed-widget/js/q2w3-fixed-widget.min.js?ver=5.0.4'></script> <script type='text/javascript' src='https://sanchopansa.ru/wp-content/plugins/social-share-buttons-by-supsystic/src/SocialSharing/Projects/assets/js/frontend.js'></script> <script type='text/javascript' src='https://sanchopansa.ru/wp-content/plugins/social-share-buttons-by-supsystic/src/SocialSharing/Projects/assets/js/jquery.tooltipster.min.js'></script> <script type='text/javascript' src='https://sanchopansa.ru/wp-content/plugins/social-share-buttons-by-supsystic/src/SocialSharing/Projects/assets/js/jquery.bpopup.min.js'></script> <script type='text/javascript' src='https://sanchopansa.ru/wp-content/plugins/social-share-buttons-by-supsystic/src/SocialSharing/Shares/assets/js/share.js?ver=1.9.0'></script> <script type='text/javascript' src='https://sanchopansa.ru/wp-content/plugins/social-share-buttons-by-supsystic/src/SocialSharing/Projects/assets/js/builder/navigation.js'></script> </div> </body> </html>