fedorchh
@ 28-03-2003, 16:42
Иногда при захвате аналогового видео получаются кадры частично заполненные 'мусором'. Часто они довольно заметны при просмотре. По моему, оптимальным решением по соотношению простота/качество является замена такого кадра на один из соседних с ним. Так вот можно ли _БЫСТРО_ произвести такую замену в программе типа VirtualDub или NanDub? Мне пока в голову пришел только такой вариант: отрезать все что до этого кадра, все что после него, и отдельно кадр на который заменяется 'битый'. Потом склеить эти три части назад в один файл.
Быстрее будет 'битый' кадр выкинуть.
Если 'мусора' много, то стоит попробовать какие-нибудь фильтры.
Serega_Aachen
@ 29-03-2003, 14:31
можно всё. но проще вырезать)
fedorchh
@ 29-03-2003, 16:42
Хотелось не только простой, но одновременно и _КАЧЕСТВЕННЫЙ_ способ. Если VirtualDub умеет резать клеить и удалять, то почемубы ему не уметь и вставлять (я думал, что просто не знаю как это сделать). Avisynth же умеет кадры дублировать.
Если просто удалить с десяток кадров, то уже будет заметная рассинхронизация со звуком, а резать кадры вместе со звуком можно далеко не всегда :(
VxWorks
@ 29-03-2003, 17:04
Резать - это вообще проблема... Дуб режет по ключевым кадрам... Т.е. можно, конечно, все, что между ключевыми кадрами, выгнать в серию BMP, затем, заменить ненужный кадр на соседний, затем из BMP монтировать ролик, а потом ставить его между ключевыми кадрами... Геморрой еще тот.
На мой взгляд, такие вещи лучше делать в Вегасе.
fedorchh
@ 29-03-2003, 17:20
VxWorks ты не совсем понял исходные условия, у меня некомпрессированное видео (точнее huffyuv) там все кадры ключевые :). И я спрашивал существует ли способ в ВиртуалДубе сдублировать кадр поверх соседнего битого быстрее чем:
QUOTE |
отрезать все что до этого кадра, все что после него, и отдельно кадр на который заменяется 'битый'. Потом склеить эти три части назад в один файл |
VxWorks
@ 29-03-2003, 19:28
Set
Интересная инфа... не знал :)
Для тех, кто не читает по-аглицки - если надо удалять фреймы, ни в коем случае не трогайте ключевые кадры, иначе Дуб восстановит их (и, соответственно) все фреймы между ними.
Я еще обратил внимание, что если резать не по ключевым кадрам - то звук гулять начинает.
И кстати резать лучше Nandub'ом чем VirtualDub'ом.
Для тех, кто не знает, развею некоторые "мифы" Direct stream copy: :)
в Дубовском хелпе пишется, что в данном режиме, обработка должна начинаться с ключевого кадра, и
в копируемом интервале должны присутствовать все кадры.
QUOTE |
Disadvantages:
· Processing must begin on a keyframe. · All frames in the range must be copied (no decimation). |
В реальности же, этот режим более мощный и позволяет удалять любые кадры,
в том числе и из середины, НО ... если в получившемся видео присутствуют кадры,
для декодирования которых необходимы какие-либо удалённые кадры, то эти удалённые кадры
будут Дубом восстановлены автоматически.
(т.е. если порезать так, что от блока останется, скажем, один дельта кадр, то
ключевой кадр со всеми дельта кадрами перед этим одним, будут восстановлены,
для того чтоб его можно было декодировать.)