Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программная установка/запись меток в видеофайл

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

mauar



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть обычная панель, на неё выводится видео изображения из камеры, как сделать так чтобы можно было на это видео изображения установить метки например красный крестик и эту самую метку сохранить в этот видео файл, а после при открытии этого видео файла в любом проигрыватели эта метка бы отображалась в том месте и в то время где она была установлена?
 
 
Добавлено:
История общения из темы "Вопросы по Delphi (все версии)... часть 5"
http://forum.ru-board.com/topic.cgi?forum=33&topic=10477&start=360#8
 
 
ShIvADeSt - написал для mauar
 
Никак, если только ты не собираешь переписать программу в полноценный видеоредактор.
 
 
mauar - ответил для ShIvADeSt
 
 А если сделать так: Добавляется видео в библиотеку '*.dll' или в файл ресурсов '*.res', в эту же библиотеку добавить лог меток по типу ini файлов или просто типа лог файл, допустим метки будут сделаны из такой же панельки, а в логах прописываем время и место куда поместить эту панельку на панель видео файла? В принципе, так может получиться, только муторно время в логах прописывать, таймер то неточный, чуть система повисла и всё, метка окажется не в то время не в том месте. А если время будет неправильным, опять же...!!!
А нет ни у кого исходника видео редактора посмотреть как там изменятся программно видео файл, или хотя бы описание какое нибуть, каким образом этот видео файл можно программно изменить?
 
 
ShIvADeSt - написал для mauar
 
 Чтобы программно изменить видео файл, тебе надо вначале его декодировать, сделать изменение картинки и потом заново закодировать (качни исходники Virtual Dub), и кури их
Насчет библиотеки - и что ты думаешь любой плеер будет грузить твою библиотеку и отрисовывать на видео, то что ты там пропишешь? Мое мнение - ты фигней маешься Самое простое в твоем случае - это сделать файл субтитров с указанием даты вывода крестика, другое дело что субтитры выводятся где хочет пользователь а не ты. Вот такая вот ерунда.
 
 
mauar - ответил для ShIvADeSt
 
 Так вот именно что не любой а только мой будет показывать, он же будет это видео из моей библиотеки и брать, он же будет кстати и записывать в эту библиотеку и формат будет только один и только под него. За virtualdub спасибо курну их обязательно  Про субтитры - интересно, в смысле они выводятся где хочет пользователь, а если программно субтитры указать в том месте где мне надо?  Как именно создать субтитры и прикрутить к обычной панели TPanel на которой отображается видео, что то я запутался!
 
 
ShIvADeSt - написал для mauar
 
 Создай отдельную тему с вопросом, ибо не типовой - там и будем обсуждать.
 
 
mauar: Продолжаем тут обсуждения данного вопроса, у кого есть предложения мысли, советы, буду рад принять и выслушать!

Всего записей: 134 | Зарегистр. 31-07-2006 | Отправлено: 05:49 02-09-2009
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не в любом проигрывателе - это раз Если в любом - то идем на серьезные форумы по обработке видео, изучаем исходники Virtual Dub и смотрим как он обрабатывает видео.
Насчет отрисовки на панели. Что плохо - у панели нет Canvas, то есть рисовать на ней не получится. Это плохо.  
Попробуй сделать следующее. Положи на панель Label и сделай его красного цвета. После запусти просмотр видео. Будет ли видна метка поверх видео?

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 06:03 02-09-2009
mauar



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt
 
Не получиться на label выввести видео у меня там под панель создано, там библиотека отдельно идет для вывода видео именно на панель, а всю библиотеку изменят как то не очень радует,  так что с панелькой придется работать.
Вот код загрузки видео:
Код
 
На Panel5 и выводится видео, метки нельзя свойство Handle передать.
 
 Я сделал панель красной на неё установил другую маленькую панель типа метки, метку не видно.

Всего записей: 134 | Зарегистр. 31-07-2006 | Отправлено: 06:34 02-09-2009 | Исправлено: mauar, 06:36 02-09-2009
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mauar

Цитата:
Не получиться на label выввести видео у меня там под панель создан

Я где то писал, что выводить видео на лейблу? Выводи на панель, НО НА ПАНЕЛЬ положи сверху лейблу, сделай ее например красного цвета и Caption сделай Х. Потом включи видео и посмотри будет ли Х виден поверх видео.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 06:53 02-09-2009
mauar



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нет не будет он виден, там надо постоянно обе панельки включая Label перерисовывать надо при запуске и воспроизведении видео, тогда видео моргать начнет, я вывел видео на компонент Animate но там по моему канвы тоже нет. хотя я где то видел канвы на анимэйте. Кстати на анимэйте виден компонент панель.

Всего записей: 134 | Зарегистр. 31-07-2006 | Отправлено: 07:01 02-09-2009 | Исправлено: mauar, 07:20 02-09-2009
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тады все что могу сказать - пакуй рабочий код, выкладывай в инет, буду смотреть (библиотеку не забудь). Но если там идет отрисовка через директдро - то даже пытаться не буду исправить, ибо не дружу с этим (хотя надо код посмотреть, мож там есть все готовое).

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 08:50 02-09-2009
mauar



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот готовый исходник примера с библиотекой, на ошибки после выполнения, не обращать внимания.
Ссылка
 
За основу был взять плеер отсюда, библиотека от туда же:
http://player.sagura.royalmedicalsystems.com/
 
 
Хорошо, а если не через DirectX это сделать?

Всего записей: 134 | Зарегистр. 31-07-2006 | Отправлено: 20:32 02-09-2009 | Исправлено: mauar, 20:35 02-09-2009
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mauar
Че то у меня ни одна моя авишка не читается. Какие форматы он читает?

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 04:45 03-09-2009
mauar



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt
 
Да практически все, странно у меня читается, может кодеки не установлены?
 
Вот ави файлик, проверил все воспроизводит:
avi файл

Всего записей: 134 | Зарегистр. 31-07-2006 | Отправлено: 15:33 03-09-2009 | Исправлено: mauar, 15:34 03-09-2009
mauar



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Немного изменил задачу, теперь видео файл отображается не на панели, а допустим на обычной форме.
Вроде разобрался, по клику левой кнопки мыши создается новая метка, единственное, эта метка там должно быть в  
названии caption прибавляться +1. Не могу я сделать чтобы прибавлялось +1 в переменную. Циклами пробовал, и так пробовал i:=i+1;
тоже не хочет подсчитывать.
В общем мне надо чтобы в названии отображалось с появлением каждого нового компонента на 1 больше.
Там может сделать подсчет, сколько раз нажали левой кнопкой мыши или сколько раз появился новый компонент
Вот исходник: Исходник

Всего записей: 134 | Зарегистр. 31-07-2006 | Отправлено: 06:07 06-09-2009 | Исправлено: mauar, 06:08 06-09-2009
DreamKHV



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mauar
объяви глобальную переменную.
Soucre

Всего записей: 21 | Зарегистр. 19-03-2009 | Отправлено: 07:40 06-09-2009
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mauar
Используй динамические массивы
например
MyLabels:array of TLabel;
Получить число элементов High(MyLabels) установить длину SetLength
И вперед - нужна метка, добавил в массив элемент выставил его свойства, надо еще -добавил еще. При закрытии формы очищаешь.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 08:21 06-09-2009
mauar



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Проблема решена. Всё что не мог сделать, сделал. ShIvADeSt спасибо тебе за поддержку !

Всего записей: 134 | Зарегистр. 31-07-2006 | Отправлено: 20:31 06-09-2009 | Исправлено: mauar, 20:33 06-09-2009
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программная установка/запись меток в видеофайл


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru