
Некорректная работа MPEG2 декодеров!
#1
Отправлено 16 May 2003 - 00:00
Ничего не могу с этим поделать.
Переодически, при сносе-установке различного софта, возникает явная белеберда с декодированием MPEG2!
Одна из проблем:
Простой пример - берется DV AVI длительностью в 2 секунды и кодится в MPEG2 (пробовал и ProCoder и CCE) - на выходе MPEG2 длительностью 1,6 секунды, во всяком случае так его распазнает и Premier и Nuendo.
Даже DVD2AVI показывает вроде всю длину, а проигрывает только первых три GOP!
Bitrate показывает корректно, но посмотрев структуру Gop, я обнаружил, что этот MPEG состоит из четырех Gop - две первые по 15 pic две вторые по 10, причем если первые Gop заканчиваются на B фрэйм, то последних два на P.
На сколько я могу понять установленный в системе MPEG2 декодер просто не видет последнего GOP, который кстати начинается как раз на 01.15 секунде.
Сам ProCoder если ему на вход такой MPEG2 дать, видит его без последнего Gop!
Что получается когда я выкладываю такой MPEG на дорожку Premier или Nuendo думаю понятно - я вижу, что у него отгрызли последних 10 фрэймов.
Что получается если попытаться такой MPEG2 декодировать например в некомпресированное AVI - мы безследно потеряем последних 10 кадров!
Как с этим бороться? Кто разобрался? Светлые головы - подключитесь к решению проблеммы!
#2
Отправлено 16 May 2003 - 00:00
Но не могу выяснить и найти тот декодер, который устанавливаясь в систему коректно работает со структурой MPEG.
Теперь о сути, прошу прощение если в объяснениях что-то перепутаю или назову не правильно, я ведь любитель и в теории разбираться глубоко не очень хочется.
И так - структура MPEG - а состоит из GOP (об этом много уже писали, это определенное количество кадров с определенной последовательностью). Кадры могут быть трех типпов - I, P и B. Ключевым кадром является I и он всегда стоит первым в GOP.
Полностью корректная работа с MPEG (порезка его, растановка чаптеров и т.д.) возможна только по I кадрам, хоть некоторые программы дают доступ и к каждому кадру - но результат не предсказуем.
И так все беды происходят с теми Декодерами, которые игнорируют последний GOP, если только он не состоит из одного кадра I.
Пример -
Откройте любой MPEG в программе DVD2AVI, которая использует свой собственный декодер, и увидете что воспроизведение или перескакивание происходит только по I кадрам и останавливается на последнем I кадре. В чем проблемма?
Если я хочу использовать любой MPEG взятый (заимствованный с DVD) в монтаже своего фильма (а программы не все корректно открывают m2v файлы, а если даже и открывают, то не корректно с ними работают (опять же по той-же причине встроенных "неправильных" MPEG декодеров)), то самым простым способом является способ создания виртуального avi файла.
Делается это при помощи двух программ -
MPEG открывается в DVD2AVI и сохраняется как проект файл с расширением *.d2v
Затем этот файл открывается в программе VFAPI Reader Codec (которая как и другие подобные программы регистрируется в системе как avi кодек) и запуская ее (RUN) создается так называемый референсный (виртуальный) avi файл.
Оба файла и *.d2v и *__d2v_vfapi.avi имеют миниатюрный размер и являются по сути инструкцией для программы как ей открыть у себя не имея встроенного в нее MPEG декодера MPEG файл.
Этот способ очень хорош, так как avi файлы понимают практически все программы.
Уффффффф!
Так много написал, а ведь хочу сказать о другом - отгрызает DVD2AVI последний GOP, тоесть в материале который Вы используете исчезают последние несколько кадров (10 или 15 или еще сколько, в зависимости от того сколько их в последнем GOP).
При проблемме мной описанной в предыдущем посте, у меня в системе зарегестрировался MPEG Декодер который это делал везде во всех программах использующих системный декодер -
и ProCoder открывая MPEG видел его без последнего GOP и Premier так-же и Nuendo.
Я востановил систему Ghost-ом из последней стабильно работающей и сохраненной мною и все стало на свои места, т.е. системный MPEG декодер стал видеть MPEG-и целиком.
А программа DVD2AVI (использующая свой декодер) по прежнему игнорирует последний GOP.
Я провел эксперемент - прикрепил к MPEG-у один I фрэйм, т.е. в получившемся MPEG-е последний GOP состоит из одного I фрэйма - все стало в порядке и DVD2AVI прекрасно показал весь видеоряд до этого последнего GOP отгрызая только его!
Прошу прощение за столь длинный опус разъясняющий мои действия, но быть может он поможет кому-то разобраться с проблеммами у него происходящими, а так-же позволят кому-то дальше в этом разобраться и дать ответ (совет) - Какой MPEG декодер нужно устанавливать, чтобы все программы работающие с системным MPEG декодером (Директ Шоу фильтр) правильно отображали длинну MPEG-ов?
Вот я еще о чем подумал,
когда я разбирал (демуксил) сложное моушин меню с DVD миссия Клеопатра, то заметил, что между отдельными m2v файлами из которых оно состоит, были вставленны по одному черному фрэйму - не с той же ли это целью?
И еще одно - для того, чтобы в Scenarist зациклить без подрывов меню не нужно ли делать так, чтобы фрагмент зацикливания содержал последний GOP как раз состоящий из одного I кадра (именно так сделано в выше приведенном меню от Миссии Клеопатра).
Спецы отзовитесь!!!
#3
Отправлено 17 May 2003 - 00:00
Способ борьбы для DVD2AVI именно таков, как ты и предложил. Для приложений, использующих DirectShow фильтры используй Ligos, MainConcept или Cyberlink декодеры. C DirectShow такой глюк наблюдал только у Elcard. Остальные не проверял.
#4
Отправлено 17 May 2003 - 00:00
Ничего не помогло.
Более того - я заметил, что эти программы не переписывают при переустановке файлы уже имеющиеся от них в системе. Может в этом проблемма - какая-то гадость тащит за собой глючный DirectShow фильтр и все! Чтоб не делал а переписать его ни как. Разве ручками только, но где это узнать - какой файл нужно переписать?
PS: Вот запустил я vcswap - вижу этот список из более чем 50 DirectShow фильтров, даже некоторые понятно, что имеют отношение к MPEG, но какой из них - СВОЛОЧЬ?
#5
Отправлено 18 May 2003 - 00:00
Посмотреть какая цепочка фильтров выстраивается при открытии/воспроизведении mpeg2 файлов можно утилиткой graphedit. Те декодеры, которые перечислил выше, я проверил, все работает нормально. Ligos - из пакета Ligos MPEG Suite 2.0, MainConcept - из апдейта Adobe MPEG Encoder 1.2, Cyberlink - сплитер не знаю чей был, декодер из PowerDVD XP 4.0 6-channel version+Patch 2417.
#7
Отправлено 18 May 2003 - 00:00
Это так к слову
За graphedit спасибо - класная утилитка. В самом деле можно будет гадину отловить.
#8
Отправлено 19 May 2003 - 00:00
Patch 2417 может быть установлен на любую версию PowerDVD XP. У меня только обычная и шестиканальная, на них и проверял.
#9
Отправлено 19 May 2003 - 00:00
я это понял. Не очень знаю что там он патчит этот 2417, я пока оставил 1811.
Проверить и отыскать каряво работающий декодер пока не удается - он испугался и притаился

#10
Отправлено 20 May 2003 - 00:00
Проверить и отыскать каряво работающий декодер пока не удается - он испугался и притаился . Я ведь во всеоружии и как следствие все работает как часы.
А это не vobmpg2.ax. часом, что в system32 лежит ? У меня WinXP c SP1, так вот именно он мпег2 по умолчанию декодил, причем установка другого декодера поверх не помогала, так я его унрегнул и поставил MainConcept и все стало OK.
Или просто запусти graphedit и дай команду Render media file, и он должен показать какой фильтр его декодит.
#11
Отправлено 22 May 2003 - 00:00
Он пермодически возникает после установки каких-то пробных прог (каких я не отследил).
Последний раз бяка вылезла после тестирования платки Canopus DVStorm2 и последующего ее извлечения из компа и деинсталирования всех ее хвостов (но видимо не всех?!).
#12
Отправлено 22 May 2003 - 00:00
M2-Edit Pro ставит в систему elecard 1.35 - он тоже глючит.
#13
Отправлено 22 May 2003 - 00:00
Это все хорошо, что мы обсудили как искать глючные фильтры.
А как их удалять или заменять не глючными?
#14
Отправлено 22 May 2003 - 00:00
Установка удаление DS Фильтров производится с помощью regsvr32.Ну вот, нужная программа, а туда-же!
Это все хорошо, что мы обсудили как искать глючные фильтры.
А как их удалять или заменять не глючными?
#15
Отправлено 23 May 2003 - 00:00
#16
Отправлено 23 May 2003 - 00:00
#17
Отправлено 12 Jun 2003 - 00:00
#18
Отправлено 12 Jun 2003 - 00:00
Power DVD XP стабильно работающий DVD плэер с правильными декодерами и фильтрами, его и надо целиком (а не кусками) ставить и больше ничего!
Кстати он теперь и DiVX проигрывает.
Вот последний -
Power DVD XP Extra Deluxe v4.0.2705
хттп://www.lunaticsoft.host.sk/start.html
#19
Отправлено 16 Jun 2003 - 00:00
#20
Отправлено 28 Oct 2003 - 08:25
Вы тут осбуждали старый (v.1.35) - хотя уже давно существует v.2.1. с пофиксеными багами и новыми полезными функциями.
Скачай на http://www.moonlight...il/consumer.htm шареварную и попробуй.
#21
Отправлено 06 Nov 2003 - 09:16
#22
Отправлено 06 Nov 2003 - 15:49
Такое бывает с любым кодером именно в описанной мной ситуации и еще если кодировать например из Premier или смотреть потом на MPEG разворачивая его в монтажке.
#23
Отправлено 15 Dec 2003 - 05:00
Ом Мане Падме Хум...
Привет, В.
#24
Отправлено 27 Jan 2004 - 21:36
а еще принудительно на последнем кадре ставить I кадр ?
#25
Отправлено 02 Feb 2004 - 16:08
Потом, были споры в данной теме о софтвернух декодерах по качеству и скорости. Скажу свое: по качеству со 100% уверенностью - Ligos пользоваться нельзя. mainConcept, который в Premiere 6.5 - самый качественный. Хотя Elecard MPEG2 MP@HL проигрывает.....
#26
Отправлено 12 Feb 2004 - 14:53
Имеем avi-исходник type 1 DV, жмем в mpeg2 через Canopus ProCoder v1.5 - к концу процесса начинается галиматья с ожидаемым временем окончания процесса и в конце-концов случается облом из-за "проблем с аудио-потоком".
Услышал мнения что эта проблема известна и происходит именно с type 1 DV.
Энкодингом dvd заниматься только начал, потому имея большой опыт работы с mpeg4 применил старый арсенал. Выдернул аудио-трек и с помощью virtualdubmod положил его как pcm-wav на dv-avi, слил все в новую авишку.
Проблема решилась.
Теперь вопрос: Не через ж... ли я все делал?
канопусу можно было бы отдать чистый avi без аудиопотока, но все-равно пришлось бы переписывать исходную авишку. Через то же место, но покороче.
Еще варианты есть? (сливать изначально в Type2 DV-avi не предлагать, исходного материала на ленте уже нет)
#27
Отправлено 23 Feb 2004 - 02:20
Можете описать "удаление всех хвостов" просто я тоже люблю копать в таких местахПроблемма в том, что при обычном наборе програм, которые я использую, описанного глюка нет!
Он пермодически возникает после установки каких-то пробных прог (каких я не отследил).
Последний раз бяка вылезла после тестирования платки Canopus DVStorm2 и последующего ее извлечения из компа и деинсталирования всех ее хвостов (но видимо не всех?!).

#28
Отправлено 23 Feb 2004 - 02:27
Если Вы о Pinнакле DV500 DVD, то у меня встречный вопрос....за годы работы накопилось немало таких ненаучных штучек- например, если у вас DV- 500, то при движении блоками назад по таймлайн на 3-й или 4-й раз премьер рухнет...
Блоками это так - SHIFT + LEFT, RIGHT x 3 раза ?

#29
Отправлено 23 Jul 2004 - 01:36
основа mpeg I и P фреймы B по сути чтоб ужимался посельней.
для редактирования применяеться I или IP и ещё куча разных вариаций.
но все пруги адоб или сценарист или прокодер,все начианют отсчёты с I фреймов и сцены ставяться с них,короче все знают ключевые кадры.
но в mpeg есть и лажа что если последний гоп равен допустим 15 и не закртый,
то пруги автоматом сами его закрывают по I или P фрейму вот и отсикаеться кусочек.
плюс каждая прога по свойму показывает длину видео,например сценарист в отличие от примьера всегда на 10фреймов или 1 секунду будет меньше показывать настоящей длины.так у многих программ.
и ещё Closed GOP обычно используют или когда битрейт низкий или слишком много динамичных сцен,но там ещё прибамбасы на пример можно VBV подымать или меня сцены то есть адаптивная оцифровка,ещё от энкодера зависит.А опен GOP лучше использовать когда битрейт высокий и фильм насыщен допустим с диги беты с хорошем квалтом.
хототите квалт увидеть в mpeg цифроните по I фреймам с диги беты с битрейтом 50 мегабайт Open GOP 15/3 ,получите как авишку некомпрессованную с квалтом хорошим 100минут занимает примерно от 35 до 45 гигабайт.У меня железяка так делает.
#30
Отправлено 31 Jan 2005 - 18:08
Проблемма в том, что при обычном наборе програм, которые я использую, описанного глюка нет!
Он пермодически возникает после установки каких-то пробных прог (каких я не отследил).
Последний раз бяка вылезла после тестирования платки Canopus DVStorm2 и последующего ее извлечения из компа и деинсталирования всех ее хвостов (но видимо не всех?!).
Александр, про K-Lite Codec Pack слышали?
Я ставлю ProCoder + TMPEG Xpress, DVD Authiring, Zoom Player, а потом K-Lite все работает гениально просто и стабильно!
или я непонял суть проблемы?
#31
Отправлено 31 Jan 2005 - 18:40



#32
Отправлено 31 Jan 2005 - 19:38
А за K-Lite Codec Pack тут могут и атавар набить до синевы...
#33
Отправлено 31 Jan 2005 - 20:58

0 человек читают эту тему
0 пользователей, 0 гостей, 0 скрытых пользователей