amway Posted October 31, 2006 Report Share Posted October 31, 2006 Подскажите, как решить такую проблему: VirtualDub обрезает avi только по ключевым кадрам. И поэтому ТОЧНО вырезать что-то не получается никак. Как можно это сделать? Или как можно какаой-то кадр сделать ключевым? Помогите пожалуйста. Заранее спасибо. Link to comment Share on other sites More sharing options...
yuriks Posted October 31, 2006 Report Share Posted October 31, 2006 Я думаю, что можно вырезать кусок (от одного ключевого кадра к другому), а потом обрезать там где нужно и перекодировать (без этого думаю никак). Опосля можно склеить два фрагмента. Link to comment Share on other sites More sharing options...
Ramzes_ Posted October 31, 2006 Report Share Posted October 31, 2006 По ключевым кадрам он вырезает без перекодирования. Дело в том, что кадры, идующие после ключевого кадра, формируются на его основе, поэтому первый кадр просто обязан быть ключевым. Поэтому в твоем случае вырезать только с перекодированием. Link to comment Share on other sites More sharing options...
yuriks Posted October 31, 2006 Report Share Posted October 31, 2006 Я имел введу, что перекодировать нужно только от предыдущего ключевого кадра к "кадру резки". Link to comment Share on other sites More sharing options...
KANT Posted October 31, 2006 Report Share Posted October 31, 2006 Ramzes_: yuriks: amway: Господа :( ,только не забывайте,что и после кодирования будет таже самая байда (а как хорошо начал, с Господа!) Ладно,кроме шуток теперь. При кодирование наду указать,что все кадры должны быть ключевыми,это занимает больший объём видео но зато режь по любому кадру. :) Но в данном случае объём и не страшет. Так,что действительно режь кусок поболее и перекодируй с внесёнными поправками и потом вырежешь точно. В настройках кодека DivX это называется так: Max keyframe interval. Правда после перекодирования как правило качество хуже становится. Но тут уж надо поколдовать с настройками сжания и конечно использовать кодирование в два прохода. Link to comment Share on other sites More sharing options...
Ramzes_ Posted October 31, 2006 Report Share Posted October 31, 2006 KANT: yuriks: К чему такие сложности? Ползунок на первый кадр ролика. Правка -> Установить начало выделения (Home). Ползунок на первый кадр нужного фрагмента. Правка -> Установить конец выделения (End). Правка -> Удалить (Del). Ползунок на первый кадр после нужного фрагмента. Правка -> Установить начало выделения (Home). Ползунок на последний кадр ролика. Правка -> Установить конец выделения (End). Правка -> Удалить (Del). Вот и все. Теперь выбираем нужный кодировщик, параметры кодирования и нажимаем F7. Link to comment Share on other sites More sharing options...
yuriks Posted October 31, 2006 Report Share Posted October 31, 2006 Ramzes_: это я и написал ! Link to comment Share on other sites More sharing options...
Ramzes_ Posted October 31, 2006 Report Share Posted October 31, 2006 yuriks Только сейчас дошло, что ты имел в виду Даже стыдно как-то :D Link to comment Share on other sites More sharing options...
KANT Posted October 31, 2006 Report Share Posted October 31, 2006 Ramzes_: Ползунок на первый кадр ролика.Правка -> Установить начало выделения (Home). Ползунок на первый кадр нужного фрагмента. Правка -> Установить конец выделения (End). Правка -> Удалить (Del). Ползунок на первый кадр после нужного фрагмента. Правка -> Установить начало выделения (Home). Ползунок на последний кадр ролика. Правка -> Установить конец выделения (End). Правка -> Удалить (Del). Такой вариант тоже имеет место быть - НО! он тоже не режет абсолютно всегда по тому кадру который нужен, сдвиг влево или в право присутствует, не намного,но есть. Если резать по переходу сцены,то как правило режет точно,но обычно на таких местах ключевой кадр присутствует. Так,что если надо идеально резать,то вначале кодируем с установкой всех ключевых кадров. И если использовать твой способ,то перекодировать вообще не нужно,надо выбрать Директ стрим копи и сохранить как AVI. С mpeg2 такая-же ситуация. У меня на ДВД Рекордере (бытовом) при резке файлов, он спрашивает как резать -точно по кадрам или приблизительно? Вот если точно,то сохранять будет редактированный кусок в реальном времени,фактически переписывая видео заново с установкой новых опорных кадров. А вот если приблизительно,то сохранение происходит очень быстро,так как видео не переписывается. Link to comment Share on other sites More sharing options...
Ramzes_ Posted October 31, 2006 Report Share Posted October 31, 2006 (edited) Такой вариант тоже имеет место быть - НО! он тоже не режет абсолютно всегда по тому кадру который нужен, сдвиг влево или в право присутствует, не намного,но есть. Если резать по переходу сцены,то как правило режет точно,но обычно на таких местах ключевой кадр присутствует. Так,что если надо идеально резать,то вначале кодируем с установкой всех ключевых кадров. И если использовать твой способ,то перекодировать вообще не нужно,надо выбрать Директ стрим копи и сохранить как AVI. В случае режима полной обработки, кадры режутся точно, ВСЕГДА. Если не верите мне, то можете легко проверить. В случае прямопотокового копирования, вырезанный участок расширяется до первого ключевого кадра перед началом участка. Это также можете легко проверить. Причина написана выше, попробую объяснить подробнее. В ключевых кадрах содержится вся информация, необходимая для его отображения. Чаще всего они находятся в начале сцены (то есть при резкой смене отображдаемой картинки). В кадрах между ключемыми содержится информация об изменениях относительно предыдущего. Таким образом если мы возмем первым неключевой кадр, то он будет ссылаться на предыдущий кадр, которого не существует. Поэтому VirtualDub и расширяет результат до ключевого кадра. Чтобы этого избежать нужен режим полной обработки, поскольку в этом случае осуществляется полное перекодирование видео, и нам все равно, какие кадры были ключевыми в исходном видео, обработка осуществляется с первого кадра, указанного пользователем. Edited October 31, 2006 by Ramzes_ Link to comment Share on other sites More sharing options...
amway Posted October 31, 2006 Author Report Share Posted October 31, 2006 Огромное спасибо! Всё отлично теперь получается именно так, как мне надо. Правда времени много уходит, но это ничего! Спасибо! Link to comment Share on other sites More sharing options...
Ramzes_ Posted October 31, 2006 Report Share Posted October 31, 2006 amway: Сделай по схеме, которую указал yuriks и времени будет уходить всего ничего, и качество не будет страдать при перекодировании всего ролика. Link to comment Share on other sites More sharing options...
KANT Posted November 1, 2006 Report Share Posted November 1, 2006 Ramzes_: Собственно говоря я не делал акцент на том как резать а на то,что при кодировании надо делать все кадры ключевыми,дабы если понадобится опять подрезать перекодированный кусок,не приходилось опять проделывать всё по новой. И это-же касается и того случая когда видео кодируют в AVI с последующей резкой. Надо сразу поставить Max keyframe interval на 1. Link to comment Share on other sites More sharing options...
Recommended Posts