Как избавиться от dropped frames в Дубе?
Привет, Гость ( Вход | Регистрация )
Клуб Янча Трекер КВН ВиКи Правообладателям | Помощь Поиск Участники Календарь |
Как избавиться от dropped frames в Дубе?
DarkK |
Понедельник, 16 Августа 2004, 21:33
Сообщение
#1
|
Unregistered 2 Юзер Цитировать |
После извратной переделки .wmv в .avi получился авишник, в котором в два раза больше кадров, чем в оригинале и каждый второй кадр обозначается в дубе, как [D] и повторяет предыдущий. Если подряд идут несколько keyframes, то dropped frames между ними нет. Пробовал делать decimate by 2, не помогает, дуб выкидывает каждый второй нормальный кадр и идущий за ним [D]-кадр.
Сразу в морг или можно побороть? |
Yanch |
Понедельник, 16 Августа 2004, 22:31
Сообщение
#2
|
Любитель Пива Группа: Модераторы Сообщений: 6686 Регистрация: 17 Мая '01 Откуда: Израиль 2 Юзер Цитировать |
Я пытался с таким бороться, но решения не нашел. ИМХО, в морг.
-------------------- A man is as rich as the beer he drinks...
|
starsoft |
Понедельник, 16 Августа 2004, 22:46
Сообщение
#3
|
ДВД-Профи Группа: Cупермодераторы Сообщений: 8282 Регистрация: 05 Фев '01 2 Юзер Цитировать |
dropped? Думаю с терминологией ошибочка - судя по описанию не dropped, а duplicated или что-то в этом духе. Судя по реакции на decimate физически этих фреймов не существует, скорее всего они только в индексе. Может быть стОит переделать индекс. Это мои догадки, наверняка не знаю - не сталкивался.
Закинь куда-нить кусочек авишки такой - интересно посмотреть. Отредактировано: starsoft в Понедельник, 16 Августа 2004, 22:53 -------------------- Такую чушь вокруг несут, таким абсурдом жизнь согрета, что я боюсь – и Страшный Суд у нас пойдет как оперетта. [И.Губерман] |
DarkK |
Понедельник, 16 Августа 2004, 23:13
Сообщение
#4
|
||
Unregistered 2 Юзер Цитировать |
В доках дуба написано, что dropped.
|
||
DarkK |
Среда, 18 Августа 2004, 2:11
Сообщение
#5
|
Unregistered 2 Юзер Цитировать |
|
starsoft |
Среда, 18 Августа 2004, 11:20
Сообщение
#6
|
ДВД-Профи Группа: Cупермодераторы Сообщений: 8282 Регистрация: 05 Фев '01 2 Юзер Цитировать |
Если исходник потом пережимать, то AVS c Decimate(cycle=2) справился с задачей без проблем. Но он убрал каждый второй кадр без разбора, то есть если шло несколько кей-фреймов подряд и не было [D], то убрал всё равно.
Надо как-то умудрится написать Sylia-скрипт для ДУБа, который бы в цикле выкидывал все [D]-фреймы и потом пресохранял файл. Вот только не знаю как в скрипте определять тип фрейма, кажется интерфейс не предусматривает такой функции. Надо читать полную документацию... -------------------- Такую чушь вокруг несут, таким абсурдом жизнь согрета, что я боюсь – и Страшный Суд у нас пойдет как оперетта. [И.Губерман] |
Quazar |
Среда, 18 Августа 2004, 15:16
Сообщение
#7
|
Опытный кинолюбитель Группа: Мемберы Сообщений: 254 Регистрация: 09 Июня '04 2 Юзер Цитировать |
Физически этих D-frames (dropped, duplicated, dummy - название неважно) не существует, нулевой размер. Фактически плейер проигрывает на 11.988 fps. Decimate удаляет реальные кадры, зачем удалять dummy, которые и так не занимают места. Чтобы определить вид кадра (K,B,D) поток нужно декодировать, так что без перекодировки корректно исправить индекс врядли удастся.
Отредактировано: Quazar в Среда, 18 Августа 2004, 17:02 |
starsoft |
Среда, 18 Августа 2004, 17:14
Сообщение
#8
|
||
ДВД-Профи Группа: Cупермодераторы Сообщений: 8282 Регистрация: 05 Фев '01 2 Юзер Цитировать |
Откуда Decimate знает какой кадр реальный, а какой [D]? После открытия исходника AviSynth-ом не существует различия на типы фреймов, нет ни ключевых ни дроп ни каких-то других - есть поток последовательных фреймов (причем откуда они декодируются физически - из своего исходного фрейма или из предыдущего - не важно), из которых выкидывается каждый N-ный в соответствии с параметром. -------------------- Такую чушь вокруг несут, таким абсурдом жизнь согрета, что я боюсь – и Страшный Суд у нас пойдет как оперетта. [И.Губерман] |
||
Quazar |
Среда, 18 Августа 2004, 18:23
Сообщение
#9
|
||
Опытный кинолюбитель Группа: Мемберы Сообщений: 254 Регистрация: 09 Июня '04 2 Юзер Цитировать |
Дубовский Decimate имеет некоторые отличия от decomba, с которым в AviSynth работает функция Decimate. Но чтобы использовать AviSynth поток нужно декодировать и тогда уже действительно всё равно, откуда взялся фрейм. Я так понял, что речь шла о возможности удаления D-frames без перекодировки. |
||
starsoft |
Среда, 18 Августа 2004, 20:28
Сообщение
#10
|
ДВД-Профи Группа: Cупермодераторы Сообщений: 8282 Регистрация: 05 Фев '01 2 Юзер Цитировать |
А дубовский Decimate - это фильтр? Если да, то отличия от AviSynth-а никакого в плане перекомпресии - фильтры не работают ни в Direct Stream Copy ни даже в Fast или Normal Processing.
-------------------- Такую чушь вокруг несут, таким абсурдом жизнь согрета, что я боюсь – и Страшный Суд у нас пойдет как оперетта. [И.Губерман] |
Quazar |
Среда, 18 Августа 2004, 20:34
Сообщение
#11
|
Опытный кинолюбитель Группа: Мемберы Сообщений: 254 Регистрация: 09 Июня '04 2 Юзер Цитировать |
Получилось с помощью Nandub.
Audio - No audio Video - Direct stream copy Video - Frame Rate - Change to - 47.952 Decimate by 2 Корректно удалились все D-frames из сэмпла. Насчёт идущих подряд K-frames неизвестно, в сэмпле этого не было... Когда-то сталкивался с похожим, когда о VirtualDubMod и слышно не было. Отредактировано: Quazar в Среда, 18 Августа 2004, 20:35 |
starsoft |
Среда, 18 Августа 2004, 20:40
Сообщение
#12
|
ДВД-Профи Группа: Cупермодераторы Сообщений: 8282 Регистрация: 05 Фев '01 2 Юзер Цитировать |
2 Quazar:
Спасибо, полезная инфа, никогда не обращал внимание на decimate в ДУБе. -------------------- Такую чушь вокруг несут, таким абсурдом жизнь согрета, что я боюсь – и Страшный Суд у нас пойдет как оперетта. [И.Губерман] |
Quazar |
Среда, 18 Августа 2004, 20:55
Сообщение
#13
|
Опытный кинолюбитель Группа: Мемберы Сообщений: 254 Регистрация: 09 Июня '04 2 Юзер Цитировать |
Фильтры дуба работают в RGB24, а входящий поток в режиме Fast Recompress не обязательно в этом формате, поэтому вкладка фильтров отключена. Некоторые, не влияющие на обработку видео, можно воткнуть принудительно (например shutdown). Decimate (VD) же работает с входящим потоком независимо от его формата жёстко и по другому алгоритму, чем в AviSynth.
Отредактировано: Quazar в Среда, 18 Августа 2004, 20:58 |
DarkK |
Среда, 18 Августа 2004, 21:24
Сообщение
#14
|
Unregistered 2 Юзер Цитировать |
Спасибо. Фрейм-рейт увеличивать я пробовал, но вот decimate после этого сделать не догадался.
Только вот чего с кейфреймами, идущими подряд теперь делать? =\ Пойду пороюсь в доках по скриптингу. |
DarkK |
Среда, 18 Августа 2004, 21:27
Сообщение
#15
|
Unregistered 2 Юзер Цитировать |
А можно как-нить статистику по фреймам из файла сделать, чтоб найти места, где ки-фреймы идут подряд? Их можно было бы руками доделать...
|
kvappa |
Среда, 18 Августа 2004, 21:54
Сообщение
#16
|
Нанотехник с ключом на 12 Группа: Админы Сообщений: 9123 Регистрация: 14 Авг '01 Откуда: Альфа-центавра 2 Юзер Цитировать |
Кстати, Дубы не всегда корректно меняют framerate - могут вылезти какие-нибудь стотысячные или миллионные в конечном результате. Лучше это дело потом проверять.
-------------------- Крокодилы ходят лёжа
|
bred |
Четверг, 19 Августа 2004, 14:21
Сообщение
#17
|
Новичок Группа: Новички Сообщений: 16 Регистрация: 30 Июля '04 2 Юзер Цитировать |
Очень может быть что я ошибаюсь, это тока предположение.
dropped frame это такая гадость которая позволяет кодеру сбрасыват фреймы когда он считает нужным( битрейта не хватает, или изменения из кадра в кадр незначительны ), самое дурацкое, что почему-то в wmv это не заметно, а как только переводишь в avi начинает дергатся особенно на быстрых сценах. Такое впечатление что декодеры для avi и wmv обрабатывают dropped frame по разному. Для avi повторяет предыдущий фрейм, а wmv ... хрен его знает, что он там делает, но дерганья не видно. И как это лечить, не знаю. |
Lo-Fi Версия | CMSBlog | Сейчас: Пятница, 26 Апреля 2024, 17:13 |