|
Вопрос # 5 495/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
Есть такая проблема.
Имеется программа делающая снимки каждые n секунд (от 0.1 до 10-20).
Потом эти снимки склеиваются в видео (1 снимок = 1 кадр).
Так вот, за несколько часов количество сделанных снимков у меня дошло до 91000.
Вместе они склеиваются, но ужасно долго (около 5 часов).
Может можно при получении каждого нового снимка "приклеивать" его к видео?
Чтобы на выходе получалась не куча отдельных снимков, а видео в любом формате (какой попроще).
 |
Вопрос задал: Gooddy (статус: 3-ий класс)
Вопрос отправлен: 12 июля 2011, 11:47
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Вадим К
Здравствуйте, Gooddy!
Думаю, самый простой способ - это использовать Mjpeg формат видео. Он представляет собой просто последовательно склеенные jpeg картинки + заголовок. И думаю, его можно сделать просто "дописывая".
Кое-какие либы для этого можно подсмотреть тут http://www.delphimaster.ru/cgi-bin/forum.pl?id=1227686777&n=7
Но не нужно думать, что 5 часов на склейку - это долго - это может быть ещё очень как быстро. Особенно, если пишутся полноэкранные (1280х1024 и больше) картинки.
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 12 июля 2011, 12:07
Оценка за ответ: 5
Комментарий к оценке: Спасибо, в зависимости от настроек камеры, могут писаться гиганские картинки. Мои 640х400 весили 15 гигов.
|
Мини-форум вопроса
Всего сообщений: 9; последнее сообщение — 12 июля 2011, 19:05; участников в обсуждении: 3.
|
Gooddy (статус: 3-ий класс), 12 июля 2011, 12:04 [#1]:
Если кому интересно это нужно для "Timelapse" - замедленной киносъёмки.
Чисти код! Чисти код! Чисти код!
|
|
Gooddy (статус: 3-ий класс), 12 июля 2011, 12:10 [#2]:
Посмотрю либы, попробю. Как запорюсь напишу.
Чисти код! Чисти код! Чисти код!
|
|
Вадим К (статус: Академик), 12 июля 2011, 12:13 [#3]:
Думаю, правильно будет их сразу в jpeg жать и размер выбирать поменьше.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Gooddy (статус: 3-ий класс), 12 июля 2011, 12:13 [#4]:
Нет, думаю mjpeg не подойдёт. Сжатие слишком слабое. Есть ещё варианты?
Чисти код! Чисти код! Чисти код!
|
|
Gooddy (статус: 3-ий класс), 12 июля 2011, 12:14 [#5]:
Вадим К: я их сразу в jpeg и жму, но качество 100%.
Чисти код! Чисти код! Чисти код!
|
|
Вадим К (статус: Академик), 12 июля 2011, 12:23 [#6]:
тогда есть еще один вариант - некоторые камеры умеют сами уже жать видео, к примеру в mpeg2.
Другие, известные мне кодеки, не дадут возможности писать сразу, хотя, MPEG2 позволит дописывать кадры (его суть такая - пишем ключевой кадр, который есть обычной jpeg картинкой, а потом следующие кадры пишем как разность между текущим и предыдущим, а для улучшения позиционирования, один раз на 200-300 кадров - снова делаем ключевой кадр).
Думаю, для начала нужно взять virtualdub, загрузить по максимуму кодеков и подобрать оптимальный по качеству/скорости/размеру. А после этого уже искать как его использовать в делфи.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Gooddy (статус: 3-ий класс), 12 июля 2011, 13:15 [#7]:
Я знаю, например Canon EOS 500D с приложенным софтом может снимать TimeLapse сразу в видеофайлы, но похожие камеры стоят не дёшево, а я не фотограф, деньги итак есть куда потратить.
Чисти код! Чисти код! Чисти код!
|
|
Gooddy (статус: 3-ий класс), 12 июля 2011, 13:17 [#8]:
Спасибо за помощь, тему оставлю открытой, если будут предложения, а сейчас у меня другая проблема всплыла.
Чисти код! Чисти код! Чисти код!
|
|
bugmenot (статус: 3-ий класс), 12 июля 2011, 19:05 [#9]:
Цитата (Gooddy):
тему оставлю открытой
как-то необычно, сейчас же модно в течении 15 минут вопросы закрывать
виконання програми розпочинається з того самого мiсця, де призупинилося.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|