Ru-Board.club
← Вернуться в раздел «Программы»

» VirtualDub (часть 4)

Автор: unreal666
Дата сообщения: 27.06.2012 15:34

Цитата:
Сохранять через стороннюю программу?

File -> Export -> Image sequence
только перед этим оставить в видео только нужный кадр.

Цитата:
А то из VirtualDub'а уже успели убрать с вкладки Video возможность скриншотов...

Там убрали делание скринов в файл. Вместо этого теперь скрины делаются в буфер обмена.
Сделать скрин в буфер обмена -> в XnView нажать Ctrl+Shift+V (вставка из буфера) и сохраняешь в png.
или похожее в Paint, Photoshop и т.п.
Автор: miha2154
Дата сообщения: 27.06.2012 16:53

Цитата:
Там убрали делание скринов в файл. Вместо этого теперь скрины делаются в буфер обмена.

Не убрали. Файл - Экспорт - Сохранить серию картинок.
Автор: unreal666
Дата сообщения: 27.06.2012 17:28
miha2154

Цитата:
Не убрали. Файл - Экспорт - Сохранить серию картинок.

при чем тут серия картинок и скрины?
То, что ты написал, это тоже самое только по русски, что и я выше написал

Цитата:
File -> Export -> Image sequence

И тоже самое, что в старых версиях было в "File -> Save image sequence".

Серией картинок ты не сохранишь только 1 нужный кадр без удаления остальных.
А нормальное создание скринов раньше было как "Video -> Snapshot source/output frame"
Автор: Aktaf
Дата сообщения: 27.06.2012 19:11
Ivanov Ivan

Цитата:
понятно, значит без полной обработки в моём случае не обойтись...
Просто я думал, что это можно сделать через Direct stream copy...

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

Вот еще одна ехе ка 1.9.11. Кнопки немного выделил, совсем с фоном сливаться начали.
Автор: miha2154
Дата сообщения: 28.06.2012 13:49

Цитата:
Серией картинок ты не сохранишь только 1 нужный кадр

Вот незадача! А я и не знал, поэтому сохранял только 1 нужный кадр.
Автор: unreal666
Дата сообщения: 28.06.2012 15:00
miha2154
и как ты там сохранял, если в диалоге создания серии картинок нет выбора ни кол-ва кадров ни диапазона?
Автор: miha2154
Дата сообщения: 28.06.2012 15:54
Как? Обычным выделением на линейке нужного кадра или последовательности кадров.
Автор: ejeny
Дата сообщения: 28.06.2012 16:05
Ivanov Ivan

Цитата:
понятно, значит без полной обработки в моём случае не обойтись...

Помолчал, думал другие внесут ясность, но не дождался, да и VirtualDub был занят обработкой...
Не привык запускать несколько экземпляров программы, ибо бывали досадные срывы в прошлом.
Итак повторюсь, так как идёт третий день с задания вопроса, а толковых ответов не вижу...

В VirtualDub такое можно проделать только с ключевым кадром, но очень быстро. Отрезок с ключевым кадром на время просмотра-демонстрации 5 секунд у меня занял менее 3-х минут.

1. Ставишь ползунок нижней линейки на понравившийся (нужный) ключевой кадр. Отмечаешь указателем конца, удаляешь всё, что перед ним.
2. Покадровым переводом подводим ползунок к этому кадру со стороны конца, остаться должен только один ключевой кадр. Отмечаешь указателем начала отрезка. Переводишь ползунок на конец фильма, который отмечаешь указателем конца отрезка (выделения). Удаляешь выделенное. Для удобства, можно сначала удалить материал начиная со второго ключевого до конца.
3. В прямопокововом методе сохраняешь этот единственный кадр как avi
Здесь мне потребовался перезапуск VirtualDub!
4. Открываешь этот однокадровый отрезок как avi файл. Затем добавляешь к нему требуемое количество этих отрезков как сегментов avi. Я на первом этапе не поленился добавить 25 - на одну секунду просмотра. Ну, думается, дальше пояснять не надо - открывал уже 25-кадровый отрезок и добавлял в качестве сегмента его же.
Если всё-таки непонятно, то могу сделать скриншоты, но не хотелось бы...

Итак Ivanov Ivan, на весь этот фильм ты затратил бы не более 10-15 минут.

Отдельно прошу извинить за невольную нескромность данного поста.
Автор: unreal666
Дата сообщения: 28.06.2012 16:13
ejeny
если делать копию I-кадра, то можно и без всяких его физических дублирований с помощью вставки нулевых кадров ("внедрение" файла таймкодов).
Автор: miha2154
Дата сообщения: 28.06.2012 16:35

Цитата:
1. Ставишь ползунок нижней линейки на понравившийся (нужный) ключевой кадр.

Это если кадр ключевой. Если нет, то вариант не прокатит - сохранит группу кадров от предыдущего ключевого до выбранного. Тогда лучше вариант через картинки.
Автор: ejeny
Дата сообщения: 28.06.2012 16:36
unreal666
Этого я не осваивал и советовать не могу. Да и как сделать копию одного кадра не очень представляю в подробностях и деталях.
Сколько времени знаю эту программу, но не освоил (за ненадобностью для своих задач) и 20% её возможностей.

Добавлено:
miha2154, почитай внимательнее сказанное!
Где мной предлагались способы не с ключевым кадром?.. Кому лучше "вариант через картинки"?
Тебе нужны скриншоты?..
Если сохранять, как ты предлагаешь, картинками - то не избавиться от движения на этих кадрах, а задавшему вопрос нужна статика!
Автор: unreal666
Дата сообщения: 28.06.2012 16:54
ejeny

Цитата:
Да и как сделать копию одного кадра не очень представляю в подробностях и деталях.

Делается не с помощью VD. Так же, как у тебя, создается 1-но кадровый avi. Потом создается обычный текстовый файл таймкодов (то ли 2, то ли 3 строчки в данном случае) и с помощью проги tc-GUI в avi-файл внедряется файл таймкодов.
Автор: miha2154
Дата сообщения: 28.06.2012 17:02

Цитата:
Где мной предлагались способы не с ключевым кадром?

В том и дело, что нигде! А если кадр нужен именно не ключевой?

Цитата:
Кому лучше "вариант через картинки"?

Тому, кому нужен неключевой кадр.

Цитата:
Тебе нужны скриншоты?..

Мне? Вот сейчас? В данную минуту? Нет!

Цитата:
Если сохранять, как ты предлагаешь, картинками - то не избавиться от движения на этих кадрах

Да ладно! Где движение:
http://multi-up.com/725328?
Автор: ejeny
Дата сообщения: 28.06.2012 17:05
unreal666

Цитата:
Делается не с помощью VD...

Так это какая морока... Имхо, метод решения вопроса не соответствует уровню поставленной задачи.
В предложенной методе всё делается не выходя из программы, ничего дополнительного осваивать не нужно, при прямокопировании и очень быстро.
10-ти минутный ролик поправить нужно было, что ж, на него час тратить?

Добавлено:
miha2154 не считаю нужным и возможным для себя спорить и устраивать дебаты, дождёмся реакции просившего помощи.
Автор: unreal666
Дата сообщения: 28.06.2012 17:37
ejeny

Цитата:
Так это какая морока... Имхо, метод решения вопроса не соответствует уровню поставленной задачи.
В предложенной методе всё делается не выходя из программы, ничего дополнительного осваивать не нужно, при прямокопировании и очень быстро.
10-ти минутный ролик поправить нужно было, что ж, на него час тратить?

какой еще час?
создаешь текстовый файл вида:

Код: # timecode format v1
Assume 25.0
0,0,0.5
Автор: ejeny
Дата сообщения: 28.06.2012 18:05
unreal666, спасибо, нужда будет обязательно воспользуюсь советом.
Дополнительно спрошу, - что в этом случае происходит с дорожкой аудио?
На место добавки кадров по таймкодам нужно будет дописывать музон или тишину?
Автор: unreal666
Дата сообщения: 28.06.2012 18:06
кстати, забыл. В самом VD это тоже можно сделать:



Для подобной простой операции проще как раз VD юзать. А ту прогу юзать, когда нужны разные тайминги на разных участках видео.

Добавлено:

Цитата:
Дополнительно спрошу, - что в этом случае происходит с дорожкой аудио?
На место добавки кадров по таймкодам нужно будет дописывать музон или тишину?

данная прога работает только, если в файле один поток и это видеопоток.
Если в VD делать, то скорее всего ничего с аудиодорогой не происходит. Тайминг видео не связан с таймингом аудио.
Автор: ejeny
Дата сообщения: 28.06.2012 18:24
unreal666, я не очень отвлекаю?..
Change frame rate to (fps): 0.5000 - в английском совсем не силён, и переводчиков на эту страницу проги никак не находится. По русски - пол-кадра? Это какая половина?
Автор: unreal666
Дата сообщения: 28.06.2012 18:44

Цитата:
Это какая половина?

Левая по диагонали шутка
Кадр то технически может длится сколько угодно. А цифры эти означают тоже самое, что и в файле таймингов выше.
Т.е. есть у нас 1-но кадровое видео с частотой 25 fps. Мы хотим увеличить кол-во кадров в 50 раз.
В диалоге выше ставим "Convert to fps:" этим родным 25 fps.
А в "Change frame rate to (fps)" ставим число в 50 раз меньше, чем выходной fps, т.е. 25/50.
Автор: ejeny
Дата сообщения: 28.06.2012 19:12
unreal666
Если принять за исходник фильм снятый на плёнку, то понятие кадр невозможно интерпретировать.
Технически делиться он может лишь в случае формирования интерлейсного видео и в этом случае он делится на две половинки построчно, т.е. остается одним кадром из двух построчных половинок.
Задача ставилась изначально, имхо, повторить именно этот кадр множество раз, а не делить на половинки.
Прошу извинить великодушно, но, боюсь, что такая полемика к добру не приведёт и ухожу со сцены.
Автор: unreal666
Дата сообщения: 28.06.2012 19:45
ejeny
При чем тут вообще деление кадра? Оригинальный кадр вообще не трогается.
При таком финте происходит всего лишь добавление нулевых кадров, которые фактически для плеера являются метками дублирования реального предыдущего кадра.

ЗЫ.
Вот примеры такого финта:
1 кадр - http://rghost.ru/38924577
100 кадров - http://rghost.ru/38924648
100000 кадров - http://rghost.ru/38924651

ЗЫ.
fps видео вообще может быть хоть 0.005 fps. Это будет всего лишь означать, что каждый кадр на экране будет отображаться 200 секунд.

При последующем кодировании такого видео надо выставлять галку на Video -> Preserve empty frames, а то VD без этой галки эти пустые кадры превратит в реальные и будет пустая трата битрейта/увеличение_размера_файла.
Автор: Aktaf
Дата сообщения: 28.06.2012 21:18
Да, ребята. Редко похоже Вы редактируете. Или плохих видео не восстанавливали.
Полно раз при редактирования, заменять приходилось кадры вместо плохих. И в разном количестве копировал по одному кадру их "размножал" и ложил. Без всяких ключевых.
Не пробовали и все равно столько возражений.
Уже писал. На самом деле я редактирую в основном после предварительного сжатия (чаще всего так приходиться). Это может оказаться важным если появиться дрожание.

А так, ставим на умный реиндеринг. Видео кодек настроен.
Открыли видео, находим нужный кадр выделяем его (что еще рассказываем как выделять, как его вырезать и т.д.? Копируем его и идем куда нужно встали и вставляем. Смотрим - получилось? Если да значить хорошо, тут же никуда не уходя вставляем несколько раз - получились сколько то, а нужно больше. Выделяем уже все их, копируем и ложим, станет 2 раза больше. И так, любую длину. И вместе с полученными, в том числе весь материал пере сохраняем. Программа сама решает что кодировать а что нет. Все заполучите. Забыл, еще что то нужно было отрезать - так отрезали бы за раз. Если такая ерунда вызывает недоумение, спор, что же мы тут делаем?
Удачи.

Автор: unreal666
Дата сообщения: 28.06.2012 21:58
Aktaf
Ко мне это точно не относится. Я это и так знаю.

Цитата:
Если такая ерунда вызывает недоумение, спор, что же мы тут делаем?

вообще-то у нас с ejeny дискуссия была о другом.
Автор: ejeny
Дата сообщения: 29.06.2012 09:25
unreal666, ты здорово-то не ругайся, если я в чего не въезжаю. Разные у нас весовые категории в зоне VirtualDub. Отсутствие знания английского здорово сказывается. Да и несколько лет работы в далёком прошлом инженером на небольшой студии документальных фильмов Минэнерго много значат.

Aktaf я вообще не понимаю. Как он не выходя из VirtualDub копирует любой кадр и ложит его в нужное место?

Небольшое уточнение по поводу -
Цитата:
При последующем кодировании такого видео надо выставлять галку на Video -> Preserve empty frames, а то VD без этой галки эти пустые кадры превратит в реальные и будет пустая трата битрейта/увеличение_размера_файла.

- значит последующее кодирование всё-таки необходимо?
В моём простеньком варианте его не нужно, как и просил давно забывший о своей просьбе Ivanov Ivan.

И ещё, как указать VD (выбрать) нужный не ключевой кадр?


Добавлено:
ЗЫ. В твоём варианте 100000.avi длина отрезка показана 01:06:40, но на кнопку плей не реагирует. Как я понял и не должна реагировать до кодировки, хотя при запуске в самом VirtualDub такого явления не наблюдается.
В моём варианте проиграть сторонним плеером реконструированный отрезок можно "не отходя от кассы".
Автор: easy_y
Дата сообщения: 29.06.2012 10:54
ejeny
Становишься на нужный кадр
Хоме
один кадр вперед
энд
Эдит-копи
Эдит-клеар селекшен
Становишься в нужное место
эдит-пасте

Это ?
Автор: ejeny
Дата сообщения: 29.06.2012 11:07
easy_y
Цитата:
Это ?
- не совсем...
Методы кодирования (сжатия) основаны на том, что полная картинка рисуется только в ключевых кадрах. В последующих, до следующего ключевого, рисуются только отличия от исходного...
Если вставить только отличия, то как Вы представляете прорисовку этого кадра? С чем кодеку сравнивать рисуемое?
Вы сами пробовали? У меня такое получается только с ключевыми кадрами в придачу к багам в аудио дорожке.
Добавлено:
Вот когда изобретут кодер, который будет делать ключевыми кадры не просто по таймингам, а по резкому различию в самой картинке, т.е. полной смене изображения, пусть даже на некоторых участках они (ключевые кадры) последуют один за другим, - тогда это будет революцией в сжатии видео!
Да и искажений станет гораздо меньше, о процентах сжатия уже и не говорю...
Автор: Aktaf
Дата сообщения: 29.06.2012 14:07
ejeny

Цитата:
Aktaf я вообще не понимаю. Как он не выходя из VirtualDub копирует любой кадр и ложит его в нужное место?
(дожили?)
Выделять с обеих сторон любой кадр видимо знаете как?
Далее в меню Правка, Копировать или Ctrl+C
встаем "курсором" в нужное место и вставляем - Правка, Вставить или Ctrl+V.
И так сколько нужно в любых вариантах (уже писал - собрав несколько вместе, можно их скопировать, будет за раз несколько).
А что касается, если не ключевой, значить в других нет полной инфы (сокращенно вроде так) - это ведь рассказываете сжатие. Но это не значить, что программе достается только часть инфы от таких файлов. Она узнает какая картинка именно в каждом кадре.
Точно так же мы просматривая видим все кадры в полном объеме - это вроде как декодирование. И в натуре когда мы в окне программы что то делаем, это мы только составляем ей программу действий. Никакие кадры никуда не двигаем. Программа при пере сохранении вытаскивает картинки и ложит куда указали. А какие не велели трогать, вот она и не трогает. Потому и "Умный реиндеринг".

Так что нужное место это внутри этого видео. А не копируем кадр в жесткий диск.
Автор: easy_y
Дата сообщения: 29.06.2012 17:11
ejeny
Чтобы я уяснил для себя))
Если нужно вставить ключевой кадр (который на другие не ссылается) то проблем нет
Если нужно вставить не ключевой кадр, то Даб его восстанавливает на основе информации из кадров, на которые ссылается этот кадр (с помощью декодера).
Затем вы вставляем в нужное место этот уже несжатый кадр (получается по сути ключевой, ведь он ни на что уже не опирается, но только несжатый)
Затем мы каким-то образом сохраняем видео (с компрессией, с частичной компрессией или в некомпресс)
В случае компрессии этот кадр станет либо ключевым (скорее всего), либо нет. Если он станет не ключевым, то ссылаться скорее всего будет не на те кадры, на которые ссылался ранее а на другие.

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

И есть кодеки, которые каждый кадр делают ключевым. Например многие лосслес, с потерями вроде мжипег.

Опять не то? )
Автор: ejeny
Дата сообщения: 29.06.2012 20:00
easy_y, рад твоему желанию всё уяснить для себя и постараюсь помочь в этом.
Плясать надо от одной печки, работать над одним и тем же материалом, поэтому предлагаю скачать небольшой отрывочек, состоящий из трёх ключевых кадров и, соответственно, двух промежутков.
http://rghost.ru/private/38942824/0fb1bec5a30a9d596db429baa5656e5f
С теми итогами дискуссии, что ты сформулировал, я не согласен категорически, поэтому дальнейшее обсуждение предлагаю провести в личке, или в агенте - там проще и быстрее.

Автор: Ivanov Ivan
Дата сообщения: 30.06.2012 07:48

Цитата:
В моём простеньком варианте его не нужно, как и просил давно забывший о своей просьбе Ivanov Ivan.

ну, я-то не забыл, так как ожидающий обработки файл так и остался у меня на Рабочем столе. Просто то, что уже было написано, мне не очень помогло.
Но для статики мне нужен не ключевой кадр (K).

ejeny
сейчас попробую вашим способом.


Кстати, а можно ли сохранить видео через Direct stream copy, удалив D-фреймы (вроде бы это пустые кадры)?
Почему-то ТВ-тюнер кривовато записал в одном месте...

Или для D-фреймов придётся использовать Smart rendering?


P.S.
Ещё добавлю свои наблюдения насчёт обработки с галочкой напротив Smart rendering.
1) В случае когда удаляю кусок, оканчивающийся не на K-фрейм, В НАЧАЛЕ видео, оно сохраняется нормальным.
2) В случае когда удаляю не K-фрейм где-нибудь ВНУТРИ видео (1-2 ненужных фрейма), оно сохраняется с "рывком" в этом месте. То есть при дальнейшем воспроизведении почти все плееры в этом месте споткнулись.

Не споткнулся только WMP12, но он, наверное, тупо пропускает спорные кадры.

А на YouTube это видео после места, где был удалён кадр, вообще, рассыпается на "акварель"!


Добавлено:
ejeny
попробовал...

http://forum.ru-board.com/topic.cgi?forum=5&topic=33770&start=2680#9 - после 3 пункта VirtualDub сохранил вместо одного кадра - 15.

Я ведь писал, что нужный мне кадр - не ключевой (K)...

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179

Предыдущая тема: Pcad и монитор


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.