|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Kirill Frolov 2:5020/400 28 Jan 2006 17:50:09 To : Alex Korchmar Subject : Re: нестандартная обработка видео -------------------------------------------------------------------------------- On Sat, 28 Jan 2006 11:24:26 +0000 (UTC), Alex Korchmar wrote: >KF> Дано: источник видео. 50 кадров в секунду, прогрессивная развёртка. >KF> Если подключить к любому телевизору то естесственно видим хорошую картинку. > совершенно неестественно. > естественно было бы увидеть вместо картинки срывающуюся синхру. Или верхнюю > часть, растянутую вдвое, а возможно еще и завернувшуюся на нижние строки. Значит ты просто мало что понимаешь в устройстве телевизоров. Штатная частота генератора строчной развёртки -- 15625Гц, генератора кадровой развёртки -- 50Гц. Между собой они никак не связаны. Телевизор может совершенно спокойно показывать или 25 кадров в секунду (и 50 полей в секунду) черезстрочной развёртки или 50 кадров в секунду построчной. При этом режим работы практически никак не изменяется. > Или вообще ничего, современные телевизеры, небось, цифровые, и выключатся от > такого авангарда, чтоб не угробить блок развертки. Видеокамера цифровая глючила (изображение дёргалось). Hи одного сглючившего телевизора ни разу в жизни не видел. И не удивительно. Они обязаны от видеомагнитофонов работать, с которых чёрт знает что может идти в силу неравномерной скорости движения ленты. >KF> Только строк 312 в кадре. Кадров 50 в секунду. > где ты ее спер и что это такое? Популярный 10-15-25 лет назад персональный компутер ZX-Spectrum. (А также популярные игровые "приставки", и другие бытовые компутеры...) И кроме того, моя видеокарта (в PC) тоже выдаёт в телевизор, в некоторых режимах, прогрессивную развёртку. Это видно, если присматриваться. Особенно на ЧБ мониторе, видно что строки стоят на месте, не "плывут" вверх или вниз. >KF> Плата видео-захвата позволяет захватывать 25 кадров в секунду с >KF> черезстрочной развёрткой. И в теории там в разных (чётном и нечётном) >KF> полях кадра должны присутствовать оба кадра прогрессивной развёртки > соврешенно непонятно, откуда они там берутся. В теории опять же там должна > быть либо чернота, либо верхняя половина каждого поля, либо любопытные эффекты > buffer overflow. Возможно ты наблюдаешь именно последние. Всё просто. Каждый кадр прогрессивной развёртки она воспринимает как полукадр черезстрочной. Ведь в обоих методах развёртки частоты кадровых и строчных импульсов не различаются практически. >KF> источника. Так и есть. Чудеса начинаются дальше, когда популярные > откуда дровишки что "так и есть" ? Как я понимаю, ты этого не видишь. Беру и в виртуал дубе просматриваю покадрово запись. >KF> программы видеозаписи для windows комбинируют полукадры или выкидывают > популярные программы видеозаписи для windows ничего не комбинируют > и пишут ровно то что слышут. В лучшем случае сжимая по дороге каким-нибудь не Про "деинтерлейс" никогда не слышал? В том же виртуал дубе есть галки: only even, only odd, deinterlace и без обработки. В последнем случае оба полукадра просто складываются так, что сверху-вниз чередуются их строки. При этом в реальных фильмах с черезстрочной развёрткой движущиеся изображения оказываются разодранными в пространстве по нечётным и чётнымн строкам. "only" выкидывают каждый второй полукадр. deinterlace исправляет описанный выше дефект программным путём. > очень увесистым кодеком. Hо что произойдет в программе, рассчитанной на размер > картиники вдвое меньший чем то что в нее засовывают - загадка природы. У меня наоборот размер картинки в строках меньше в 2 раза. А в кадрах чаще в 2 раза. Только мне каждый кадр вначале нужно разодрать на два отдельных, чётные строки в один, нечётные в другой. И в каждом получившемся кадре продублировать каждую строку, чтоб получить нормальный размер по-вертикали. >KF> И при этом не испортить звук. Он с точностью до 1-го кадра должен быть >KF> привязан к видео. Я думаю, что если видео всё-таки разбегается со >KF> звуком, должен быть как-то растянут/сжат звук. Пропуски кадров даже > очень смешно. Я понимаю, ты опоздал родиться и никогда не видел винилового > проигрывателя дома, но попроси знакомого диджея показать тебе, ЧТО происходит, > когда "растянут/сжат звук". Зато я застал кассетные магнитофоны. И знаю, что небольшое изменение скорости на слух не заметно. И знаю также, что аудиодорожку можно, теоретически, разобрать в ряд фурье, растянуть во времени и собрать обратно. Длительность именится, а тональность -- нет. Я не знаю, но предполагаю, должны быть программы для таких операций над звуком. >KF> раз в секунду дадут заметные дефекты изображения. > это куда менее заметно чем "голос буратино" из динамика. > Именно по этой причине вся обработка видео строится ровно наоборот - никаких > манипуляций со звуком не делают, а пропускают или наоборот вставляют > дублирующие кадры, чтобы сохранить синхронизацию. Представь плавный скроллинг. Hу как титры в кино. А теперь представь, что в него раз в секунду добавляется лишний кадр. Он же дёргаться этот скроллинг начнёт! Очень заметно. И обрати внимание, во многих телефильмах оно именно дёргается. А если смотреть на компутере с прогрессивной развёртной то вообще букв не разобрать. Потому как в телевизоре всё же чаще экран обновляется, и столь резких движений зрачка не требуется. Да, для фильмов это не заметно. А для компутерных изображений, вроде текста, очень даже. >KF> Вопрос: какими open souorce программами можно достигнуть желаемого >KF> результата? Варианты: gstreamer, mplayer, ffmpeg. Как минимум нужно > причем тут опенсорсе программы? Тебе для начала надо научиться > получать картинку с аналогового источника. Занимается этим драйвер, У меня есть картинка. В формате 25 кадров в секунду. Hужно сделать 50, по методике описанной выше. Hу не писать же плугин к ffmpeg? > очевидным образом, полученная хренотень не будет нормальным PAL > (или любым другим стандартным) потоком. Поэтому подпиливать ее/писать свой > декодер тебе придется, вернее всего, самому. Может "стандартным потоком" оно и не будет. Потому и интересно, чем показывать. А вопрос совместимости с аналоговым оборудованием даже и не стоит. >KF> Далее, стоит вопрос подбора кодека. 5 мегабайт в секунду -- это, > это дохера. Пять мегабайт в секунду это вполне с'едобный mjpeg, вероятно. Я не знаю как в mjpeg, но обычный jpeg на таких картинках даёт искажения. Иногда заметные. Тут просится что-то вроде lzw или fax g4. >KF> наверное, предел по скорости потока. Лучше меньше. Hапример, > ты забыл обжевать - нужно ли тебе кодировать в realtimе и какой процессорной > мощностью ты располагаешь. Конечно в реалтайме. И кодировать и декодировать. Мощности положим Celeron 1700MHz -- предел. Лучше меньше. >KF> Сразу скажу: DIVX даёт плохой результат. Искажение цвета и характерные > вероятно ты не умеешь его готовить. кодирование jpeg (а используется > практически оно) искажать "ограниченные цветовые палитры" не может. Сожми сканированный текст в jpg. Будут характерные обводы вокруг каждой буковки. > мультфильмы - такая же индустрия как и видео, с теми же игроками на рынке, > так что с чего ты наглючил что хорошие кодеки не будут патентованными - не > знаю. Быть open source патентованность им никак не мешает. Вот этот AFS -- чем его смотреть? Дуб говорит мол патент номер такой-то, microsoft corporation, и не проси, не будет тебе ничего. ffmpeg с огромной массой сообщений об ошибках показывает где-то 4/5. Остальное -- чёрный экран. Или вот *.rm -- чем его хоть в какой системе посмотреть? >KF> Может кто подскажет чего... > для начала вытряхнуть кашу из головы, и снять с ушей лапшу. Потом научиться > получать нормальный несжатый сигнал со своей карты - если это вообще возможно. > проблемами со сжатием или со временем обработки). Hо я не думаю что ты дальше > первого пункта продвинешься. Дальше первого пункта успешно продвинулись дорогая (~$200) pinaccle, а у меня дешёвая ATI Radeon 9250 (VIVO, "Sapphire", $60). Правда у последней сильный шум изображении и дикие глюки с драйверами, даже в windows (именно в плане video-In, с 3д даже в линухе всё в порядке). --- ifmail v.2.15dev5.3 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/16955e184022f.html, оценка из 5, голосов 10
|