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


!!! Только у нас на форуме !!!
Спектакли от дяди Пчёлки

для просмотра необходима регистрация
Фотография
- - - - -

Программа для исключения "лишних" кадров


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

#1 Slava212

Slava212
  • Участник
  • 7 Сообщений:

Отправлено 15 июн 2009 - 18:30

Товарищи программисты, помогите решить следующую задачу.
Имеется avi-файл формата PAL mini-DV, т.е. видео, захваченное на жесткий диск с плёночной цифровой видеокамеры. Если рассматривать его на time line какй-либо монтажной программы, то видно, что уровень звука при некоторых кадрах высокий, а при остальных - низкий. Сделано это специально при записи видео. Кадров с высоким уровнем звука примерно 20-25% против общего числа.
Задача: выделить кадры с высоким уровнем звука и собрать их в отдельный видеофайл (с тем же разрешением, того же формата, как исходное видео, в том же порядке), а кадры с низким уровнем звука вырезать и выкинуть. Т.е. "отжать" из кино все "немые" кадры. Конечно, сделать это нужно не вручную, а с помощью некоторой программы, которой узазать имя-адрес исходного файла (и конечного), а далее она всё делает сама.
Вопрос: есть ли такая готовая программа? Возможно ли написать самоделку?
  • 0

#2 KVASS

KVASS
  • Участник
  • 1 474 Сообщений:

Отправлено 15 июн 2009 - 19:02

В редакторе и делай, вырезай удаляй что хочешь. В каком монтажке работаешь?
  • 0

#3 Slava212

Slava212
  • Участник
  • 7 Сообщений:

Отправлено 15 июн 2009 - 19:09

Pinnacle Studio Plus 10.7
Вручную вырезать лишие кадры - не фокус, только сильно утомительно. Очень бы хотелось, чтобы это делала программа без моего участия, т. в автоматическом режиме, тупо ориентируясь на звук: есть-оставляем, нет - в корзину...
  • 0

#4 KVASS

KVASS
  • Участник
  • 1 474 Сообщений:

Отправлено 15 июн 2009 - 19:18

Т.е. ты хочешь сказать, что у тебя есть участки видео вообще без звука?
Для начала, попробуй отдельно звук нормализовать, а там уже видно будет стоит ли его вырезать.
  • 0

#5 -=TRO=-

-=TRO=-
  • Участник
  • 477 Сообщений:

Отправлено 15 июн 2009 - 19:34

Думаю ависинту это по зубам, но чтобы такое провернуть надо в нём крепко шарить.
Неизвестно что для автора топика быстрее будет, скрипт для ависинта отладить, или руками всё повырезать.
Если кадры с малым уровнем звука и по видеосодержанию отличаются, то в Pinnacle разбить на сцены по содержимому и повыкидывать лишние сцены.
  • 0

#6 KVASS

KVASS
  • Участник
  • 1 474 Сообщений:

Отправлено 15 июн 2009 - 19:37

Пинакла разве рабивает виде по содеожимому ориентируясь на звук?
  • 0

#7 Зос

Зос
  • Модераторы
  • 4 526 Сообщений:

Отправлено 15 июн 2009 - 19:52

нет! :)


теоретически, можно сделать захват по аналогу, т.е. допустим, с той же DC 10+, где звук хватается отдельно. Как практически - может быть через Графэдит
http://ru.wikipedia.org/wiki/GraphEdit? но лично я это никогда не делал. Опять же, захват (оцифровка) по аналогу, а IEEE 1394 - не катит! :) А может и катит, если сначала захватить, а потом файло через граф пропустить на файло... Надо думать...

Сообщение отредактировано Зос: 15 июн 2009 - 19:56

  • 0

#8 Sego

Sego
  • Модераторы
  • 16 344 Сообщений:

Отправлено 15 июн 2009 - 21:00

Стартертопику - ни кого не слушай ( советчики блин! :) ) - ручками , да желательно с головой и со смыслом ! Другого пути нет .
  • 0

#9 -=TRO=-

-=TRO=-
  • Участник
  • 477 Сообщений:

Отправлено 15 июн 2009 - 23:36

Sego Так уж и нет? Неужели я это слышу от главного КК форума.
В ависинте можно вывести гистограму звука, по уровню яркости гистограммы можно прямо из ависинта родить текстовое задание для виртуал дуба VirtualDub.jobs для порезки исходного DV без пережатия. Если бы не сезон, я бы родил такой скрипт за пару вечеров отладки, спортивного интересу ради. Однако совет старттопику верный, не его уровень.

P/S Кстати в пинакловской студии весьма неплохо видна звуковая дорожка, и ориентируясь по ней, почикать одну кассету дело максимум 10 минут.

Сообщение отредактировано -=TRO=-: 15 июн 2009 - 23:45

  • 0

#10 Sego

Sego
  • Модераторы
  • 16 344 Сообщений:

Отправлено 15 июн 2009 - 23:52

Я вот считаю лишнее это ... это уже не КК , а Кэ-Кэ.... :crazy:

Объясни мне недалекому , с т.з. прикладного монтажа - нафига такой замут ? Пост певый прочитай внимательно .... Это или чистая девственность , или клиника . :rolleyes:

Сообщение отредактировано Sego: 15 июн 2009 - 23:53

  • 0

#11 -=TRO=-

-=TRO=-
  • Участник
  • 477 Сообщений:

Отправлено 16 июн 2009 - 00:12

Самое ценное в подобных извращениях это опыт. Да и поинтересней програмить, чем тупо на куски руками пилить. Тем более подфорум называется "Мастерская программиста", а не радел для новичков. Хотя должен признать, что долговременная практическая ценность подобного решения практически равна нулю.
  • 0

#12 Sego

Sego
  • Модераторы
  • 16 344 Сообщений:

Отправлено 16 июн 2009 - 00:14

практическая ценность подобного решения практически равна нулю.

я и написал - с точки зрения прикладного монтажа..... :rolleyes:
  • 0

#13 Ne_Vasia

Ne_Vasia
  • Гвардия
  • 1 161 Сообщений:

Отправлено 16 июн 2009 - 02:26

Пост певый прочитай внимательно... - почитал.
Вычитал: ...уровень звука при некоторых кадрах высокий, а при остальных - низкий. Сделано это специально при записи видео.

Появились вопросы:
1) "при некоторых кадрах" - это что, покадрово велась съёмка, или оборот такой?
2) рука всё время была на регуляторе уровня звука во время съёмки меняла его?
3) если это сделано специально, то зачем делать так - потом вырезать "лишние" кадры? нельзя их просто не записывать вообще? то есть, поставить какой-нить датчик, который включал бы запись только тогда, когда есть звуковой сигнал?
  • 0

#14 Slava212

Slava212
  • Участник
  • 7 Сообщений:

Отправлено 16 июн 2009 - 10:09

Граждане, спасибо за активное участие. Поскольку задачка выходит вроде как нетривиальная, раскрываю карты.
Дело имеет отношение к возможному способу оцифровки кинолент в домашних условиях. Слегка модернизированный 8-мм киноапарат Русь (снят обтюратор и установлен датчик на валу привода грейфера) + цифровая видеокмера с ручными настройками фокуса, выдержки и баланса белого. В тот момент, когда грейфер неподвижен, и экспонируется неподвижный кадр, датчик выдаёт короткий сигнал на простенькую "пищалку", расположенную поблизости от микрофона видеокамеры. Соответственно на видео получается несколько смазанных кадров, потом один (или не один) чёткий и как раз при нём - звук от "пищалки". Вот его (их) и должна сохранить в выходном видеофайле искомая программа.
Понятное дело, что есть другие способы оцифровки: простая экранка, покадровый захват с видеокамеры в компьютер, серия фотокадров, сканер.... Тот способ, что я выше обрисовал, казалось бы позволяет автоматизировать процесс и задействовать компьютер, опять же без человека, только на стадии очистки видео от "лишних" кадров. Но, похоже, дело упирается в отсутствие подходящей программы.
  • 0

#15 KVASS

KVASS
  • Участник
  • 1 474 Сообщений:

Отправлено 16 июн 2009 - 10:32

Так и разбей видео в Pinnacle по содержимому, она как раз и будет разбивать на тех участках где смазано.
Из справки.
Разбивка на сцены во время захвата", выберите опцию "Автоматическая (по содержимому)". Это будет означать, что Pinnacle Studio самостоятельно будет разбивать видео на сцены, используя в качестве критерия резкую смену содержания кадра.

Сообщение отредактировано KVASS: 16 июн 2009 - 10:36

  • 0

#16 Slava212

Slava212
  • Участник
  • 7 Сообщений:

Отправлено 16 июн 2009 - 10:58

Ещё раз: проблема не в том, чтобы видеть в монтажке, какие кадры "лишние" (по звуку или после ручной/автоматической разбивки), а в том, чтобы чистка происходила без участия монтажёра. Указал программе исходный файл, получил готовый.
  • 0

#17 PavelBuilder

PavelBuilder
  • Участник
  • 1 232 Сообщений:

Отправлено 16 июн 2009 - 11:12

Присоединюсь к -=TRO=-, ависинт в данном случае самый верный путь. Если решитесь на этот путь, могу посмотреть как сделать, опыт работы с ависинтом был, хотя и давно.
  • 0

#18 KVASS

KVASS
  • Участник
  • 1 474 Сообщений:

Отправлено 16 июн 2009 - 11:38

Разве такое возможно? Что-бы AviSynth сам выкидывал не нужные кадры, и последовательно объеденил все нужные в один файл.
  • 0

#19 PavelBuilder

PavelBuilder
  • Участник
  • 1 232 Сообщений:

Отправлено 16 июн 2009 - 12:07

ОЙ ... я не сразу понял что надо. Тогда не уверен. Но например. MultiDecimate удаляет N из каждых M кадров, беря кадры наиболее похожие на их предшественников; FDecimate то же что то там удаляет ... разбираться нужно, вспоминать . Есть функции анализаторы качества, но они не позволят определить точку смены качества, для последующего удаления кадров ... только для анализа. Вобщем мне кажется попытка автоматизировать процесс займет больше времени на исследование вопроса, чем выполнить работу вручную. Собственно то что мы имеем это называется реставрация, а она всегда была вручную покадрово. Софт специализированный по этому делу есть, он облегчает поцесс, но подобная задача как то совсем из серии "размечтался"

Сообщение отредактировано PavelBuilder: 16 июн 2009 - 12:09

  • 0

#20 -=TRO=-

-=TRO=-
  • Участник
  • 477 Сообщений:

Отправлено 16 июн 2009 - 13:43

Да, AviSynth не умеет пропускать кадры по условию, но он может опираясь на звуковую дорожку продублировать последний хороший кадр на месте плохих кадров идущих прямо за ним, это ему по силам. Потом ускорялкой можно причести видео к нужному FPS. Это более предпочтительный вариант, поскольку сохраняется линейность течения времени(в отличии от простого выбрасывания мутных кадров). Или как я уже писал выше, AviSynth может сформировать текстовый файл с заданием для виртуалдуба(это если надо обязательно без пережатия, DV это покадровое сжатие, поэтому можно покадрово резать не разжимая видео). Виртуалдуб потом по этому заданию, порежет, соберёт и выведет видео в файл.
Кстати, краем уха слышал про плагин к ависинту, который умеет выкидывать продублированные кадры идущие подряд.

Теперь представте этот процесс вручную. Одна горячая кнопка удаляет мутный кадр, другая пропускает хороший. Частота кадров 25, сортируем мы раз в 10 медленнее. Это же 10 часов муторной работы на час видео! Да старттопик повесится на проводе клавиатуры после первых двух часов.

Slava212 Выложи несколько секунд, мы хоть глянем чё у тебя там такое.

Сообщение отредактировано -=TRO=-: 16 июн 2009 - 13:55

  • 0

#21 Slava212

Slava212
  • Участник
  • 7 Сообщений:

Отправлено 16 июн 2009 - 14:21

Коллеги, спасибо за участие.
На счёт "автор повесится на проводе" - именно во избежание этого и хотелось бы автоматизировать процесс.
Выложить хотя бы несколько кадров не могу: нету их. Это пока что идея, возможность реализации которой напрямую зависит от того, найдётся подходящая программа или нет.
Я не программист, в школьном детстве делал что-то на фортране и бейсике, но профессией это не стало.
Если посмотреть в текстовом редакторе, как выглядит avi-DV файл (HEX-кодировка), то можно обнаружить некоторую структуру. Наверняка она определённым образом соотносится и с покадрово сжатым изображением, и со звуком, относящимся к конкретному кадру. Тогда возможно формально анализировать эту структуру и выкидывать те блоки, которые соответствуют кадрам с низким уровнем звука. Кажется, что это как раз по силам некой программе-фильтру. Объём работы большой, но алгоритм-то вроде незатейливый...
  • 0

#22 KVASS

KVASS
  • Участник
  • 1 474 Сообщений:

Отправлено 16 июн 2009 - 14:52

Вся эта идея привязана к твоему изобретению, т.е. привязка к звуку. И причём вообще тут звук? Тебе же надо удалять с 8мм плёнки плохие кадры. От этого и надо плясать. А то получается- изобрёл раму, а колесо ещё не придумал.
Думаю будет проще - захватывать по дропам. И не так уж это долго повыкидывать в монтажке не нужные куски.
Руками быстрее и надёжнее, всё- же конечный результат наверно не в dv будешь отдавать
Тем более у тебя и самого видео нет, ещё не известно, что за 8мм видео принесут. Бывает такое... что только руками, а бывает и наоборот, начало и конец подрезал и готово.

Сообщение отредактировано KVASS: 16 июн 2009 - 15:29

  • 0

#23 Ne_Vasia

Ne_Vasia
  • Гвардия
  • 1 161 Сообщений:

Отправлено 16 июн 2009 - 17:11

Slava212
Вот теперь яно... мне эта идея очень понравилась! (Русь у меня тоже есть. :rolleyes: кстати, не можешь выложить фотки - как это ты собрал? очень интересно посмотреть, может, и себе сделаю такое!)

В тот момент, когда ...экспонируется неподвижный кадр, датчик выдаёт короткий сигнал на простенькую "пищалку", расположенную поблизости от микрофона видеокамеры.

Вопрос (= предложение) а если вместо камеры будет фотоаппарат? можно сделать, чтобы датчик активировал затвор фотоаппарата? он-то снимет один только кадр! потом из этого дело преспокойно делается видео!
  • 0

#24 Slava212

Slava212
  • Участник
  • 7 Сообщений:

Отправлено 16 июн 2009 - 17:35

Собственно с фотоаппарата всё и начиналось. Видеокамера Panasonic NG...GS250 (точное имя-отчество не помню) может делать приличные снимки на SD-карточку, имеет инфракрасный пульт и проводное управление - этакую комбинацию микрофона, кнопок управления зумом, "пуск-стоп" и "фото". Параллельно контактам этой фотокнопки были припаяны провода, а к ним - геркон, установленный на кинопроекторе. Магнит на валу грейфера действует на геркон - камера делает снимок.
Проблемы две. Первая: фотокамера довольно "задумчивая", на каждый снимок тратит секунды полторы-две. Если любительское кино снято на скорости 16 кадров в секунду, получается почти сутки работы на 40-минутный фильм. Кроме того, непросто заставить проектор работать с такой низкой скоростью. Вторая: разное разрешение фотоснимка и видеокадра. Т.е. необходим пересчёт с неизбежной потерей качества.
Есть, конечно, и другие способы оцифровки, я уже упоминал. Применение "звукового ключа" представлялось довольно простым... если бы нашлась программа.
  • 0

#25 DiSel

DiSel
  • Модераторы
  • 1 541 Сообщений:

Отправлено 21 июн 2009 - 23:05

А есть пример видео-звука, пусть не в DV? Больше интересует характер звука.
  • 0

#26 1dvaz

1dvaz
  • Участник
  • 148 Сообщений:

Отправлено 08 янв 2010 - 20:55

Помогите плиз разобраться. Есть фильм avi продолжительностью 3 часа, размером около 2 Гб. В ВиртуалДабе показывает частоту кадров 24,393 fps, но в двух других программах показывает соответственно 23,976 и 23,98 fps. Я хочу сделать из этого avi DVD, но мешает брак, который виден при предосмотре. С начала и примерно до 20 минуты в нем есть кадры-дубликаты и потому изображение дергается. Последующие 40 минут все идет гладко, но потом в пределах между 1:01:30 и 1:24:31 снова - повторяющиеся кадры. Затем c 1:24:31 и до 2:19:01 опять все идет гладко. Ho потом снова, c 2:19:01 и до 2:44:24 на экране дублирующиеся кадры. И наконец последние 15 минут фильма идут гладко. Я впервые сталкиваюсь с такой неровновностью частоты кадров в одном фильме, что привело меня в замешательство.
Я пытался исправить положение скриптом Ависинта selectevery(4,0,1,2) поскольку дубль появлялся на 4-м кадре. Ну вроде выводной файл получался нормальным (при просмотре на плеере компа и в ВиртуалДабе), хотя частота кадров почему-то опускалась на нем до 17,982 fps. Но после рендеринга (авторингa) результат получился плачевным - на выводном файле (файлы папки Video_Ts) опять кадры-дубликаты.
Кто сталкивался с подобной проблемой и как можно избавиться от кадров дубликатов в указанных участках фильма?

Сообщение отредактировано 1dvaz: 08 янв 2010 - 20:56

  • 0

#27 Зос

Зос
  • Модераторы
  • 4 526 Сообщений:

Отправлено 08 янв 2010 - 22:38

AVI Frame Rate Changer (в Яндексе найдешь). Приведи частоту к общему знаменателю и склей в Дубе. Возможно уплывет звук. В том же Дубе поправишь
  • 0

#28 1dvaz

1dvaz
  • Участник
  • 148 Сообщений:

Отправлено 08 янв 2010 - 23:15

Зос, я сейчас найду эту утилиту и проверю как вы сказали. Но мне что-то не вериться, что подведение к "общему знаменателю" (единому показателю частоты кадров) исправит дело. Вы вooбще делали такой скачок с 17,982 fps до 23,976? Я даже подумал разделить фильм на куски и после подгонки частоты кадров отправить их (уже в объединенном виде) на рендер. Но результат пока меня расстроил.
Напомню, что формально частота кадров всего фильма 23,976 fps, но в 3-х кусках, общая продолжительность которых 1 час 08 минут, есть дублирующие кадры. Мой опыт показывает, что "слепое" изменение частоты кадров не помогает решению проблемы, а наоборот затрудняет ее.

Сообщение отредактировано 1dvaz: 08 янв 2010 - 23:29

  • 0

#29 DiSel

DiSel
  • Модераторы
  • 1 541 Сообщений:

Отправлено 09 янв 2010 - 00:04

>Но после рендеринга (авторингa) результат получился плачевным - на выводном файле (файлы папки Video_Ts) опять кадры-дубликаты.
само собой - не может быть в DVD частоты кадров 17,982. Перекодировщик их приводит к 25 к/с, а откуда ему взять промежуточные, кроме как дублированием?
  • 0


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

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

Rambler's Top100