Перейти к содержимому


Перед регистрацией ознакомьтесь с темой про сертификат безопасности:
Фотография
- - - - -

Чем удалить из материала каждый 25-й кадр?


  • Please log in to reply
12 ответов в этой теме

#1 vitt

vitt

    Дал камеру подержать другу

  • Писатели
  • PipPipPipPipPip
  • 341 Сообщений:

Отправлено 05 Nov 2009 - 19:14

Суть: неправильно сконвертированный материал. В каждой секунде 24 и 25 кадры идентичны. Каким образом можно это исправить?
Ручками резать не хочется - больше 2 часов исходник. Кажется был такой плаг, который удаляет последний кадр в секунде?.. Или что-то типа того...

#2 Alf_Zetas

Alf_Zetas

    Вставляю своих 5 копеек

  • Модераторы
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 10887 Сообщений:

Отправлено 05 Nov 2009 - 19:26

Avisynth

#3 Turyst04

Turyst04

    Дал камеру подержать другу

  • Участники
  • PipPipPipPipPip
  • 298 Сообщений:
  • место работы:

Отправлено 05 Nov 2009 - 20:08

vitt , однозначно Avisynth поможет.
Влоб рабочая строка в скрипте выглядит типа:
SelectEvery(25,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23)
то есть из 25 кадров оставляются все с 0-го по 23-й (вот 24 и выходит, 25 отбрасывается)
Если закономерность другая (например дублированы не последний и препоследний кадры, а первый и второй), то меняешь выборку кадров, в том числе и если у тебя цикл не из 25 кадров (анализируешь визуально в Дубе по шагам).

Если с Avisynth не знаком, то иди на его русский оффсайт http://avisynth.org.ru/
В принципе там все примитивно:
- ставишь инстал avisynth, не забыв указать установку и русского хелпа (там оно спрятано)
- пишешь скрипт с расширением .avs (в Виндовом блокноте и т.п.) из двух строк (1-я открывает твой видеофайл, вторую я уже написал)
- открываешь этот файл в VirtualDub и сразу получаешь отфильтрованное видео
- из Дуба сохраняешь с нужным кодеком

Если закономерность не столь очевидна, то можно и плагин поискать (тоже под Ависинс), на сколько помню зовется dups
Он удаляет просто все дублирующиеся кадры (правла может тупо и лишнее удалить, скажем статичные картинки сократить по длительности до 1 кадра и т.п.)

Сообщение отредактировано Turyst04: 05 Nov 2009 - 21:06


#4 vitt

vitt

    Дал камеру подержать другу

  • Писатели
  • PipPipPipPipPip
  • 341 Сообщений:

Отправлено 05 Nov 2009 - 20:14

спсб
скрипты так скрипты :)
поставил кофе

#5 Alex_Lap

Alex_Lap

    Нажал на красную кнопку. Теперь ищу, мать ее, зеленую!

  • Писатели
  • PipPipPipPipPipPipPipPipPipPip
  • 1822 Сообщений:

Отправлено 05 Nov 2009 - 20:47

Если лень писать скрипт и если есть Adobe Premiere под рукой (не ниже версии 2.0), то вот тебе Project волшебный.
http://rapidshare.co..._frame.rar.html

На второй дорожке - кадры убийцы (по одному "убийце" через каждые 24 кадра "пустоты")
1. Свое видео положишь на дорожку 1
2. Выделишь все кадры-убийцы с дорожки 2 и перенесешь их на дорожку 1
3. Ripple Delete
4. Экспортируй готовый "скоращенный материал" с дорожки 1

#6 vitt

vitt

    Дал камеру подержать другу

  • Писатели
  • PipPipPipPipPip
  • 341 Сообщений:

Отправлено 05 Nov 2009 - 21:31

всё оказалось хуже - лишний кадр плавающий. Причём западло, что нет определённой последовательности. 24-24-25-24-25-24-25-24-24
Проверил последовательность из 50 секунд - системы нет.
Засада.

Сообщение отредактировано vitt: 05 Nov 2009 - 21:31


#7 Alex_Lap

Alex_Lap

    Нажал на красную кнопку. Теперь ищу, мать ее, зеленую!

  • Писатели
  • PipPipPipPipPipPipPipPipPipPip
  • 1822 Сообщений:

Отправлено 05 Nov 2009 - 21:33

Неправильный перегон из NTSC в PAL?
Тогда только одно: искать исходник и конвертировать, так как тебе надо.

#8 vitt

vitt

    Дал камеру подержать другу

  • Писатели
  • PipPipPipPipPip
  • 341 Сообщений:

Отправлено 05 Nov 2009 - 22:00

с исходником беда - материал нужен к пнд, а исходник не раньше чем через неделю может быть (

есть плагин unblend.dll к avisynth - с виду то что надо:
"Плагин, основан на алгоритме фильтра deblend от Warpenterprise и коде фильтра decimate от Neuron2. Он для испорченных преобразованийt NTSC->PAL."
Но virtualdub выдаёт ошибку, мол, "The script`s return value was not a video clip"
Скрипт такой:

AVISource("E:\W_O_R_K\ishodniki\p2.avi") # проставляется нужный путь к файлу
loadplugin("C:\Program Files\AviSynth 2.5\plugins\unblend_25_dll_2003\unblend.dll")

Что поправить?

#9 riveter

riveter

    Научил друга включать камеру

  • Писатели
  • PipPipPipPipPipPipPip
  • 924 Сообщений:
  • место работы:

Отправлено 05 Nov 2009 - 23:07

Попадался мне материальчик на котором дохли реставраторские программы, т.е. вообще не работали. 8мм фильм переснятый через простыню. После пристального просмотра и удаления задвоенных кадров реставраторы,на удивление, сработали оч. хорошо. Тут важно(если Вам интересно) добраться до первоисточника или узнать что с картинкой делали(что проблематично).

#10 Turyst04

Turyst04

    Дал камеру подержать другу

  • Участники
  • PipPipPipPipPip
  • 298 Сообщений:
  • место работы:

Отправлено 05 Nov 2009 - 23:39

vitt, врят ли тебе unblend подойдет (хотя сильно в его работу не вникал).
Ошибка у тебя простая - последней строкой должна идти команда, возвращающая переменную-видеоклип.
То есть
loadplugin("C:\Program Files\AviSynth 2.5\plugins\unblend_25_dll_2003\unblend.dll")
AVISource("E:\W_O_R_K\ishodniki\p2.avi") # проставляется нужный путь к файлу
ошибки не вызовет (но и действий никаких не выполнит).
Как вызывается именно unblend не скажу, но скорее всего правильно будет где то так (с парамертами по умолчанию, если они у него имеются):
loadplugin("C:\Program Files\AviSynth 2.5\plugins\unblend_25_dll_2003\unblend.dll") # загрузить плагин
AVISource("E:\W_O_R_K\ishodniki\p2.avi")
unblend() # выполнить действие плагина

Однако предлагаю таки попробовать не unblend, а Dup (http://neuron2.net/dup/dupnew.html )
Там с ним идет и DupHelp.html (англоязычный).
Если Dup.dll поместишь в каталог плагинов AviSynth (судя по сему у тебя это
C:\Program Files\AviSynth 2.5\plugins ), то loadplugin вообще не понадобится и скрипт у тебя получится

AVISource("E:\W_O_R_K\ishodniki\p2.avi")
Dup()

Если вдруг он поубирает что лишнее (как я выше писал - "сократит" статичные сцены, титры и т.д.), то поиграйся с параметром threshold (по умолчанию он =3, то есть вызов Dup() равен Dup(threshold=3)
Соответственно скажем
Dup(threshold=1) будет более придирчив к схожести кадров (уберет меньше), а Dup(threshold=20) - больше (увеличение параметра может потребоваться, если дублированные кадры все-же слегка отличаются, например из-за последующего сжатия и т.п.)

Сообщение отредактировано Turyst04: 05 Nov 2009 - 23:42


#11 Gradov_Georg

Gradov_Georg

    штатный злобный буратино форума

  • Модераторы
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7808 Сообщений:

Отправлено 05 Nov 2009 - 23:48

Прочитать хотя бы одну инструкцию к AviSynth...
вот я сейчас созда пустой файл a.avs файл и вижу туже самую строку...

а если в нее внести хотя бы две описаные тобой строки (у меня НЕТ ТАКОГО ПУТИ И ВИДЕОФАЙЛА и такого плугинса) то увижу совсем другое сообщение об ошибке...

То что этот плугинс тебе ничем не поможет это уже совсем другая история...



#12 Turyst04

Turyst04

    Дал камеру подержать другу

  • Участники
  • PipPipPipPipPip
  • 298 Сообщений:
  • место работы:

Отправлено 06 Nov 2009 - 00:06

vitt, так, с фильтром dup я напутал, он не убирает дубли, а нужен для других целей.
Нашел таки то, что искал: dedup (http://akuvian.org/src/avisynth/dedup/ )
Его работа посложнее - он двухпроходный, то есть потребуются два скрипта, один:

AVISource("p2.avi")
DupMC(log="blah.dup.txt")

Если скрипт в том же каталоге, что и файл p2.avi, то путь указывать не обязательно.
В том же каталоге, где скрипт создастся лог-файл blah.dup.txt (имя можешь изменить)
На втором проходе выполняешь второй скрипт

AVISource("p2.avi")
DeDup(threshold=0.3, maxcopies=10, maxdrops=3, log="blah.dup.txt"")

Пример параметров - из описашки, посмотришь сам. Смысл параметра threshold - тот же, что и писал выше - схожесть дубль-кадров.
Не забудь скачать доп-библиотеку http://akuvian.org/s...p/msvc_dlls.zip (она нужна для работы плага).
Остальное - вникай в описание (или методом тыка - это тоже нередко прокатывает).

Сообщение отредактировано Turyst04: 06 Nov 2009 - 00:11


#13 vitt

vitt

    Дал камеру подержать другу

  • Писатели
  • PipPipPipPipPip
  • 341 Сообщений:

Отправлено 06 Nov 2009 - 01:39

Спасибо.
Сижу, вникаю.

Первую часть победил - машина увидела дубли. Уффффф.... Это вселяет надежду...

frm 419: diff from frm 420 = 0.3187% at (1024,128)
frm 420: diff from frm 421 = 6.4528% at (832,192)
frm 421: diff from frm 422 = 8.3748% at (832,192)
frm 422: diff from frm 423 = 5.4143% at (832,128)
frm 423: diff from frm 424 = 4.9215% at (1024,224)
frm 424: diff from frm 425 = 4.2271% at (1024,224)
frm 425: diff from frm 426 = 4.2620% at (832,192)
frm 426: diff from frm 427 = 4.5761% at (832,192)
frm 427: diff from frm 428 = 4.0733% at (832,192)
frm 428: diff from frm 429 = 2.9313% at (832,192)
frm 429: diff from frm 430 = 4.8113% at (832,192)
frm 430: diff from frm 431 = 4.0459% at (832,192)
frm 431: diff from frm 432 = 4.5682% at (768,128)
frm 432: diff from frm 433 = 5.8972% at (960,160)
frm 433: diff from frm 434 = 7.0869% at (704,160)
frm 434: diff from frm 435 = 6.9082% at (960,160)
frm 435: diff from frm 436 = 5.5319% at (960,160)
frm 436: diff from frm 437 = 5.5344% at (768,192)
frm 437: diff from frm 438 = 5.3362% at (768,192)
frm 438: diff from frm 439 = 4.9215% at (704,160)
frm 439: diff from frm 440 = 3.1063% at (640,192)
frm 440: diff from frm 441 = 3.6681% at (768,192)
frm 441: diff from frm 442 = 4.4461% at (704,160)
frm 442: diff from frm 443 = 4.1946% at (896,96)
frm 443: diff from frm 444 = 0.4692% at (1024,320)
frm 444: diff from frm 445 = 3.8007% at (768,192)
frm 445: diff from frm 446 = 4.6061% at (768,192)
frm 446: diff from frm 447 = 4.8600% at (1152,320)
frm 447: diff from frm 448 = 4.3854% at (768,192)
frm 448: diff from frm 449 = 3.4849% at (640,160)
frm 449: diff from frm 450 = 4.9535% at (640,160)
frm 450: diff from frm 451 = 3.8580% at (640,160)
frm 451: diff from frm 452 = 4.3272% at (640,160)
frm 452: diff from frm 453 = 5.5868% at (704,192)
frm 453: diff from frm 454 = 5.1080% at (704,192)
frm 454: diff from frm 455 = 5.5523% at (704,192)
frm 455: diff from frm 456 = 6.4358% at (704,192)
frm 456: diff from frm 457 = 7.6583% at (704,192)
frm 457: diff from frm 458 = 7.3649% at (704,192)
frm 458: diff from frm 459 = 6.1673% at (704,192)
frm 459: diff from frm 460 = 5.3516% at (896,96)
frm 460: diff from frm 461 = 8.6656% at (896,96)
frm 461: diff from frm 462 = 6.1299% at (896,96)
frm 462: diff from frm 463 = 5.6179% at (896,96)
frm 463: diff from frm 464 = 8.2343% at (704,96)
frm 464: diff from frm 465 = 7.4468% at (704,96)
frm 465: diff from frm 466 = 4.5998% at (448,128)
frm 466: diff from frm 467 = 3.9470% at (448,128)
frm 467: diff from frm 468 = 6.4291% at (1152,320)
frm 468: diff from frm 469 = 0.3283% at (704,96)
frm 469: diff from frm 470 = 7.7751% at (1152,320)
frm 470: diff from frm 471 = 7.7335% at (896,256)
frm 471: diff from frm 472 = 7.6858% at (896,256)
frm 472: diff from frm 473 = 8.6436% at (640,96)

Разница в дублях меньше 0.5 процента. Отлично выделяются на фоне остальных.
Теперь буду разбираться почему она мне их не удаляет...




ДА!!!!!!!!!!!!!!!
ЕСТЬ!!!!!!!!!!!!!
УРА!!!!!!!!!!!!!!


Не верил, что можно это качественно победить программно! Готовился к медленной смерти :crazy: :crazy: :crazy: !!!
4Turyst04 - с меня однозначно "Хмельная застава" в Минске. Любимому городу Киеву привет - ой немало там было пропито с хорошими людьми :rolleyes: :rolleyes: :rolleyes: - Джон Булл на Саксаганьского, клуб 44, Стэйкхаус, Арена , "Вагон-ресторан"... а "Де Жа Вю"!.. а "Бельвю" с утреца как заходит! ну всех сразу не вспомню, понятно :) Личный рекорд был - 14 заведений за сутки :rolleyes: :rolleyes: :rolleyes:

Навеяло, пора ехать в гости :) И повод есть...

Сообщение отредактировано vitt: 06 Nov 2009 - 01:44



0 человек читают эту тему

0 пользователей, 0 гостей, 0 скрытых пользователей



Рейтинг@Mail.ru