Как избавиться от 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 | Сейчас: Вторник, 04 Ноября 2025, 21:55 |