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