// Зацените название - как у
laborant-а. :D
Статья:
http://vcdrookie.com/rus/index.php?option=...id=34&Itemid=55Опишу кратко недостаток приведённого в статье метода изменения fps.
Пусть у нас есть фильм длительностью 100 минут с нестандартным fps = 22.
Конвертуем его в VirtualDub-е в 25 fps.
Что происходит: в фильме 100*60*22 = 132000 кадров, после конвертации
его длительность будет 132000/25 = 88 минут, т.е длительность
фильма уменьшилась на 100-88 = 12 минут ( 12% ).
Скорость воспроизведения при этом увеличилась (на 12%) - как
при ускоренном воспроизведении. :blink:
Из-за разницы в длительности возникла рассинхронизация, которая
лечится (уже в другой статье:
http://www.vcdrookie.com/rus/index.php?opt...id=35&Itemid=55 )
подгоном звуковой дорожки к видео.
Результат: теперь увеличилась и скорость воспроизведения звука (те же 12%),
становиться заметно (или не очень) изменение тона. :unsure:
P.S. Но ... если подумать ... то изменения и не такие уж большие, для большинства людей не очень
и заметные. :rolleyes: :)
VxWorks
@ 25-04-2003, 21:03
Проблемы тут на самом деле вот какая.
Дело в том, что если мы будем конвертировать фильм, например, в VCD (SVCD, DVD, рояли не играет), то конвертер будет просто обязан загнать такой ролик в PAL (или в NTSC).
(ОК, ОК, не в сами стандарты, а с фреймрейтом, соответствующим данным стандартам - специально для особо дотошных товарищей :)).
Можно, конечно, оставить фрейм-рейт, как есть, но будет ли воспроизводиться такой диск на всех плейерах, которые играют стандартные диски - вопрос хороший.
Т.е. конвертер может пойти по одному из следующих путей:
1. Вставить дополнительные фреймы, основываясь на разнице между двумя близлежащими фреймами (и тем самым, размыть результирующий фрейм).
2. Скопировать фреймы (показать некоторые из них дважды), что приведет к неровному движению.
3. Увеличить скорость воспроизведения.
Обычно кодировщики идут по 1-му или 2-му пути, сохраняя аудиодорожку (и длительность фильма) неизменной. То, что я предложил, основывается на моем личном наблюдении, что человек (я, во всяком случае), намного более чувствителен к проблемам с движением на видеоматериале, чем к изменению тона аудиодорожки (которое изменение еще надо услышать).
Если есть какой-то другой способ изменения фреймрейта, который приведет к тому, что "и волки сыты, и овцы целы", то просьба о таком рассказать.
Про 1. путь ничего не знаю, зато думаю, что кодировщики идут по
3.пути :P , со 2. способом, вероятно, работают только более-менее серьёзные редакторы (и тут Вегас :) ),
позволяющие изменять длительность видео и его fps независимо друг от друга.
ИМХО, для меня будет лучше, если вставлены (удалены) кадры, чем
видеть более ускоренное (замедленное) воспроизведение. Но это
выбор человека работающего с видео ... на вкус и на цвет ... B) :D
Да и кто спорит :ph34r: ... я о том, что предупреждение бы в статью (мелким мелким шрифтом :D ),
а то кто-нибудь сконвертует на свою голову ... а может и на нашу ... :) :D
VxWorks
@ 25-04-2003, 21:59
К сожалению, непохоже, что кодировщики идут по 3-му пути. Сделай простой эксперимент - возьми минутный ролик с 30 фпс (29.97 - но не будем придираться к словам) и сделай в нем фреймрейт - 15фпс так, чтобы длительность была 2 минуты. Конвертни его Генкой (например) в NTSC VCD. И посмотри, какая будет длительность результата.
Если кадры будут вставлены, то в результате всегда будут проблемы с движением. Я думаю, что ты знаешь, сколько времени занимает правильно перекодировать NTSC в PAL (я о фреймрейте говорю) и о том, сколько стоит софт, который это делает.
А предостережение надо вставить. А то действительно, может, кто-то будет расстроен таким результатом :P
QUOTE (Set @ Apr 25 2003, 03:41 PM) |
// Зацените название - как у laborant-а. :D
|
Я оценил твое название, молодец :)
было бы великолепно, если бы и впредь поступали участники форума также... хотя наверно я этот процесс автоматизирую :)
QUOTE |
Конвертни его Генкой (например) в NTSC VCD. И посмотри, какая будет длительность результата. |
Твоя правда - Генка действительно идёт по 2. пути :rolleyes: (VirtualDub такого не умеет), сохраняет длительность
дублируя кадры. Что для меня хорошо :) - можно изменять фреймрейт
без изменения скорости воспроизведения прямо в Генке ... никакой рассинхронизации,
которую нужно править. Это идеальный способ для тех, кто поддерживается моей точки зрения.
Что же выбрать: скорость воспроизведения или сохранение всех кадров в
целостности, решает каждый для себя, тут и говорить не о чем.
(только бы они знали что делать :) ... тьфу-тьфу-тьфу ... чтоб мне их фильм на глаза не попался :D )
VxWorks
@ 26-04-2003, 18:54
Так в этом-то и вся проблема - звук остается нормальным, но видео дергается (из-за добавленных фреймов). Я писал о том, как от такого избавиться :)
А к статье я сделаю примечание обязательно.
Есть ли программы меняющие в видео MPEG-1 (стандарт VCD) фреймрейт без перекодировки ?
(Путём изменения в GOP-заголовке).
И помогла бы такая программа решить проблему с движением ?
VxWorks
@ 28-04-2003, 12:15
Допустим, что есть. Проблему бы это не решило, потому что, если менять фреймрейт видео, звук убыстрится.
Плюс ко всему, как обьяснить Генку, что надо конвертить именно с тем фреймрейтом, который есть в исxоднике (чтобы он не вставлял лишние фреймы)? Т.е. по идее, это сделать, конечно, можно, но потом придется делать ремультиплекс, чтобы привести файл к стандартному варианту. И какие проблемы при этом вылезут - тоже хороший вопрос.
Я имел в виду уже существующие VCD, имеющие нестандартный фреймрейт.
Чтоб подогнать к стандарту, видео придётся перекодировать ... если
же просто поменять параметр в заголовке ...
Аудио наверное придётся переделывать, хотя со стандартом я незнаком и техника
синхронизации видео и аудио неизвестна (вроде там покадровая привязка :unsure: ), но есть вероятность, что рассинхронизации не будет ... незнаю ... будет время - попробую. ;)
VxWorks
@ 29-04-2003, 12:14
Попробуй и расскажи, я думаю, что это будет интересный эксперимент.
Сегодня издевался над мпэгом, было весело ... :D :D
Фокус с редактированием заголовков удался: "пациент скорее жив, чем мёртв". :)
Сменил 25 -> 59,94 fps, изменения заметны, никто не ругается, однако
чудес со звуком не бывает - рассинхронизация. Спецификации нет, но судя
по сорсам Дуба, синхронизация осуществляется по блоком :unsure: , так что
эффект любопытный, так просто не описать ... да и на маленьких файлах
плохо его изучать. Как будет время, сваяю прогу, чтоб меняла всё сама.
(стандартный GOP - 15 кадров, если установлена опция приписывать заголовки,
как в VCD, то их будет немерянная куча (заголовков),
да плюс ещё бинарный формат ... вручную всё не заменишь :( ).
ЗЫ Тут и Aspect ratio менять можно. :)
VxWorks
@ 01-05-2003, 20:51
То, что фреймрейт поменять можно, это ясно. И то, что рассинхронизация будет - тоже.
В принципе, иметь прогу, которая может решать проблему движения, при этом аудио останется синхронизированным - круто. Но учти, что мы придем к тому же, от чего и ушли - к изменению тональности звука.
QUOTE (VxWorks @ May 1 2003, 08:51 PM) |
Но учти, что мы придем к тому же, от чего и ушли - к изменению тональности звука. |
Как в сказке про птицу, завязшую в смоле: " ... вытащила клюв - хвост застрял,
вытащила хвост - клюв застрял, ... " (что-то в этом роде). :)
Как всегда новости узнаю последним :( - новый
VirtualDub 1.5.2В состав входит новый хелп, включающий описание Дубовских аудио фильтров.
Там есть парочка фильтров с помощью которых можно "потянуть"
звуковую дорожку без помощи Вегаса, т.е прогрессирующую рассинхронизацию
можно подавить сразу после изменения фреймрейта в Дубе.
Не знаю насколько удобно, зато freeware. :)
VxWorks
@ 04-05-2003, 22:55
Надо будет попробовать, авось заработает :)