Автоматическая вырезка статичных фрагментов в видеофайле
Доброго времени суток! У меня возник такой вопрос:
Умеет ли VirtualDub обрезать зависшие фрагменты в видео в автоматическом режиме, или может есть какой нибудь плагин для этого? Чтобы было более понятно, ситуация такая: Во время записи лайвстрима бывают тормоза (короткие обрывы соединения), в этот момент видео продолжает писаться, соответственно при просмотре этой записи, часто натыкаешся на эти самые фрагменты со стоящей на месте картинкой, их бывает очень много и вручную удалять крайне затруднительно. Нужна функция типа: "Удалять одинаковые кадры если их более 2-х или 4-х подряд", было бы неплохо если б кол-во можно было бы выбрать самому. Скрипт довольно простой, но гугл ничего не нашёл, поэтому обращаюсь сюда, может кто нибудь имел с этим дело и знает как это сделать в дабе, или плагин подскажет? P.S. Как вариант, может это умеет другая программа, если знаете, подскажите, буду очень признателен. :) Дополнено: Альтернатива кол-ву кадров может быть настройка временного интервала, тоже подойдёт. Допустип картинка обездвижена более чем пол секунды, значит этот фрагмент обрезается. |
Цитата:
Можно вырезать вручную, выделяем фрагмент и нажимаем Delite, потом сохраняем в Direct Stream Copy. |
Цитата:
Уверен что нечто подобное есть, может не в этой программе...В любом случае спасибо что откликнулись! ) |
Цитата:
А чтобы исключить "заморозку" при захвате - нужно исключить процесс одновременного кодирования "на летУ" входящего потока и захватывать видео в RGB, с последующим перекодированием. Прогу иную, умеющую "отличить" и вырезать автоматом бракованные кадры я лично не знаю. |
Всё немного не так :)))
Цитата:
http://pctuner.ru/page-al-more2frame.html Этот работает с дабом, но собрать файл неполучилось, возможно дело в кодеке. http://aeclub.net/forums/index.php?showtopic=7072&hl= Комментарии 12 и 13 Этот вариант буду пробовать, не совсем то, но лучше чем ничего. Цитата:
Цитата:
|
Цитата:
Это же не удаление нескольких кадров, а удаление целых, пусть и "замороженных", фрагментов. Не хочу вдоваться в подробности, но если "заморозка" бросается в глаза, то это как минимум 1-2 секунды, что = 25kps * 2 sec = 50 кадров. Если у тебя таких фрагментов 30-60 - посчитай сколько вырежется видео при нетронутой звуковой дороге... Ибо Цитата:
Цитата:
Вывод: Даб + руки + полное кодирование = отличный результат. |
Цитата:
Цитата:
- Сравнивать размер файлов - Сравнивать содержимое файлов (Хеширование) - Подтверждение побайтового совпадения содержимого (очень медленно) С последним пунктом очень точно определяет копию изображения вне зависимости от названия файла, где он лежит и когда был создан. Цитата:
P.S. Случайно нет мыслей почему More2Frame v1.0.1 обрабатывал минут 15 файл, и в итоге на выходе ничего не появляется, кроме файла в 3 кб и текста с кодом внутри него? Кодек не переваривает? |
Цитата:
Цитата:
ЗЫ. Так как разговор идёт о принципе "вообще", не привязаным конкретно к VirtualDub'y - выделил вопрос во отдельную тему. |
а почему не решить начальную проблему. причину застывания картинки найдите и устрани ее
|
Уже кое что попробовал, выскажу свои мысли.
Цитата:
Идём дальше, получил кадры с APP, запустил Duplicate File Detective, (не сразу правильно настроил :) ), но когда начал проверку, сильно удивился! Программа нашла ~40000 дубликатов, хеш соответствовал, размер и всё остальное тоже! (Проверка шла минут 5). Сначало непонял юмора, но решил продолжить ради интереса, в итоге осталось ~17000 кадров из 56тыс. С переименованием почти не возникло проблем, Total Commander делал это минут 25 и выбил ошибку где то ближе к концу, я решил попробовать переименовать средствами Windows. AE нормально воспринял данный тип переименовки, да и заняло это всего полторы минуты. Чтож, закинул кадры в AE, долго разбирался как получить цельный файл с теми же характеристиками и разрешением, но сделал. Первый раз на 70% получил ошибку, со второго раза получил видеоролик. (рендер занял 9 минут). Итог: Ролик получился супер плавным и подвижным, но в местах где были застывшие фрагменты остались поддёргивания, примерно по 3-5 поддёргиваний в течение примерно 1-1,5 секунды. В общем ролик однозначно стал лучше, но этого увы, мало! Длительность поддёргиваний не устраивала, а убрать их, снова выводит на ручную работу и много времени. Однако тут ещё есть с чем поэксперементировать... P.S. Кстати немного позже я всё же решился сделать секвенцию через Virtual Dub в BMP, но программа несмогла найти ни одного дубликата, возможно не тот формат (время на разбивку в VD ушло в пределах 15 минут) Итог №2: Порывшись по теме попиксельного сравнения, понял что это слишком ресурсоёмко и долго, но вероятность создания программы с оптимизированным алгоритмом есть, особенно если большую часть работы перенести с процессора на видеокарту. Немного позже если ничего не добьюсь с дефолтными решениями, то посоветуюсь с программистами. Если данный плагин или программку можно создать, и цена будет мне по корману, то тогда скорей всего закажу. К тому же помимо побайтового и попиксельного сравнения, есть идея вычисления висяков в видео путём анализа битрейта, так как теоретически там где один и тот же кадр повторяется, видеопоток будет ровным, соответсвенно часть этого потока, фрагмент, программа и будет вырезать. Вывод: За 2 дня поисков и разбров могу точно сказать что, программ и плагинов которые бы могли автоматом вырезать повторяющиеся кадры немного. Но нет ни одной программы которая бы это делала в видео с тормозами в непредсказуемых местах, то есть другими словами, если повторяющихся кадров в одном месте 2 а в другом 15 и временные промежутки между ними варьируются то соответственно написать скрипт типа "убирать каждый 2 кадр, каждый 4 кадр, каждый 2 и 4 чередуя" непоможет, а угадать алгоритм невозможно. Есть лишь один вариант, ждать программу на других принципах работы, типа "вычисления побайтово, попиксельно или по битрейту" Надеюсь кому-то это будет полезно, и этот кто-то не будет убивать столько времени на поиски таких решений :))) Цитата:
Цитата:
|
Часовой пояс GMT, время: 12:04. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.