Восстановление перемотки Я решил проблему отсутствия перемотки в аппаратных плейерах. Всё гениальное просто, если, конечно, ты сам немножко... ненормальный: пара сотен часов отупляющего ковыряния утилит - и паталогия налицо.
Проблема заключается в попущении Opened GOPs при подготовке контента. Сhapters и cells являются синонимами, поэтому
внутри'chapter'ную перемотку imo корректнее обзывать
GOP-навигацией. Этот термин наиболее адекватно отражает сущность данной функции. Она не зависит от логической структуры проекта, является методом кодирования самого видео-контента и наименьшей адресуемой единицей стандартов mpeg1/2.
Opened GOPs допустимы для авторинга. Scenarist вообще игнорирует этот фактор; DVDLab Pro выдаёт предупреждение при импорте. Априори DVDLab Pro содержит встроенные средства буферизации потока для адекватной адресации смещений (RTFM), которые, однако, не являются надежными (это уровень IFO). Поэтому любая серьезная модификация чужого проекта, сформированного на базе
Opened GOPs материала, неизменно ведёт к потере функции перемотки. Можно до посинения перестраивать таблицу временнЫх индексов в PgcEdit, - стационарному плейеру на неё плевать. Все методики, предлагаемые на этот счёт в сети, - imo полная лажа, тыканье пальцем в небо.
Для восстановления GOP-навигации я нашёл единственный, универсальный, но трудоемкий метод, который, - в силу набранной мною статистики, - может даже претендовать на панацею:
необходимо перекодировать оригинальный контент в режиме 'Use Closed GOPs'. Этот метод поддерживается, в частности, кодером Canopus ProCoder v1.5/2.0.
После серии утомительных экспериментов у меня накопился ворох любопытных фактов. Может быть, они кому-то помогут в дальнейшем. Приведу наиболее запомнившиеся:
Код: 1. Всё, что я говорил ранее про замену vob, хорошо озвучено в статье из шапки топика "Замена звуковой дорожки без полного реавторинга". Изобрёл велосипед, называется. На самом деле, в статье приводится универсальный принцип замены PGC. Что бы вы реально ни меняли в частности, - VobBlanker заменит полный PGC.
2. Связка IfoEdit/VobBlanker позволяет заменить любой VTS в чужом проекте независимо от аспекта, продолжительности, битрейта, типа видео/аудио и нарезки по VOBs.
3. VobBlanker самостоятельно корректирует представление результирующих PGCs в IFO. Он имеет встроенные механизмы коррекции аспекта, секторов и звуковых дорожек. Его работа полностью автоматизирована, безупречна и самодостаточна.
4. DVDRemake НЕкорректно отрабатывает разбивку PGCs на programs и добавление chapters в titles. Эта функция разрушает GOP-навигацию независимо от структуры GOPs (проверено на проектах,
частично содержащих Opened GOPs). Добавление chapters вызывает дублирование функции пролистывания chapters кнопками перемотки на аппаратном плейере. Покадровая перемотка становится невозможной. Также становится неадекватной индексация аппаратным плейером времени ролика.
5. Статус GOPs не диагностируется. Единственный, найденный мною способ определения Opened GOPs, - это добавление целевого vob в проект DVDLab. После демукса DVDLab непременно ругнётся.
6. Перед любой модификацией чужого проекта следует убедиться, что GOPs контента закрыты. Обычно явно закрыты GOPs того VTS, который содержит ролик First-play, Main-menu и предупреждение об авторских. Остальные VTS - под вопросом. Проверено на нескольких лицензионных DVD.
7. Если оригинальные VTS поддерживают перемотку, достаточно закрыть GOPs только на модифицированном вами VTS. Нет никакого смысла перекодировать оригинальный материал без явной необходимости. Даже очень крутым кодером.
8. Canopus и MainConcept не поддерживают звук AC3. Я всегда перекодирую в m2v/wave. Однако полученный wave можно НЕ использовать (его ещё нужно перекодировать из DVDLab в ac3 с помощью плагина Tsunami.AC3; который, в свою очередь, поддерживает только 2xchannels). Перекодированный video-stream можно использовать в комплекте с оригинальным (отдемуксенным) .ac3 Рассинхрона мною замечено не было. Впрочем, и он лечится...
9. PgcEdit конкретно гробит таблицу тайм-индексов. Imho автору вообще не надо было пытаться реализовать эту функцию. Особенно учитывая её практическую бесполезность, - програмные плейеры и без того хорошо воспроизводят VDVD. PgcEdit - превосходный инструмент для редактирования фирменных меню при RIPе. Imho одного этого - и так более чем.
10. Утилиты для модификации структуры DVD-проекта типа DVDRemake не виноваты в нарушении GOP-навигации после своего использования по назначению. Они рассчитаны на Closed GOPs.
11.Чтобы примерно представлять конечный объём перекодируемого в режиме VBR видео-потока, посмотрите усредненный битрейт отдемуксенного оригинала в псевдо-проводнике DVDLab. Я уже привык устанавливать верхнюю границу в 8500, а нижнюю в 0 (даже 1500-2500 может сыграть злую шутку). Вопрос лишь в среднем значении. Оно представляется как произвольное округление, - пара сотен кило в сторону уменьшения.
12. Мультиплексирование видео и аудио потоков не предоставляет линейной зависимости объема результирующего файла от суммарного объема исходных. Существуют специальные калькуляторы, - не верьте им. Всегда подразумевайте запас хотя бы в сотню метров. Тогда не ошибётесь. Это лучше, чем столкнуться с переполненем DVD-болванки уже на стадии прожига.