Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2011, 11:51   #1
Mixim
Форумчанин
 
Регистрация: 29.10.2009
Сообщений: 259
Вопрос Отображение видео в объекте PictureBox

Дописываю одно WinForms-приложение, которое должно работать с видео-файлами.
В платформе .Net есть такой замечательный компонент, как axWindowsMediaPlayer, который обеспечивает возможность воспроизведения видео, музыки и т.д. на форме.
Приложение должно производить покадровую работу с видео(обрабатывать каждый кадр видео-файла, т.е. получать отображаемые картинки), поэтому компонент axWindowsMediaPlayer не подойдет(вроди бы у него нет такого функционала). Начал смотреть в сети: каким макаром можно отображать видео в объект PictureBox. Нашел сведения о том, что можно использовать библиотеку Microsoft DirectShow для данных действий, но как-то ничего у меня из этого не выходит(сперва не мог найти библиотеку, теперь не могу разобраться с принципом работы).
Может кто сталкивался с данной задачей("покадрового" воспроизведения видео) или у кого есть опыт работы в этой области? Прошу подсказать: как возможно отображать видео в PictureBox?
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
Mixim вне форума Ответить с цитированием
Старый 11.05.2011, 20:22   #2
Spawn™Production®
Форумчанин
 
Аватар для Spawn™Production®
 
Регистрация: 06.05.2011
Сообщений: 287
По умолчанию

Можно, конечно, и DirectShow, можно на проект guliverkli посмотреть... Видео-то отображать в целом не сложно, всё обычно в кодеки упирается в итоге.
Вот пример есть.
Spawn™Production® вне форума Ответить с цитированием
Старый 12.05.2011, 12:07   #3
Mixim
Форумчанин
 
Регистрация: 29.10.2009
Сообщений: 259
Подмигивание

Цитата:
Сообщение от Spawn™Production® Посмотреть сообщение
Вот пример есть.
Скачал и запустил данный пример=>он не работает, при выполнении требуемых операций образуются исключительные ситуации! Посмотрел на CodeProject.Com примеры по видео-граббингу, но либо у меня руки чрезмерно кривые не могут нормально на две кнопочки нажать, либо проекты с изъянами, но все они также генерируют Exception при выполнении(вот еще один пример).
Единственное что удалось, так это изъять и немного подкорректировать код из предложенного примера, но откорректированный код получает только первый кадр из видео.
Может быть кто подскажет, что не так делаю или поделиться работоспособным примером?
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
Mixim вне форума Ответить с цитированием
Старый 13.05.2011, 00:01   #4
Spawn™Production®
Форумчанин
 
Аватар для Spawn™Production®
 
Регистрация: 06.05.2011
Сообщений: 287
По умолчанию

Какое исключение Вам первый пример даёт?
Все проблемы при обработке видео всегда упирались в фильтры\кодеки...
Spawn™Production® вне форума Ответить с цитированием
Старый 13.05.2011, 09:01   #5
Mixim
Форумчанин
 
Регистрация: 29.10.2009
Сообщений: 259
По умолчанию

Цитата:
Сообщение от Spawn™Production® Посмотреть сообщение
Какое исключение Вам первый пример даёт?
Все проблемы при обработке видео всегда упирались в фильтры\кодеки...
Скачал сперва файлы проекта(source file), открыл в VS2010 Ultimate, нажал компилировать, а в ответ получаю:
Цитата:
Проект, создающий библиотеку классов, не может быть непосредственно запущен...
Ладно, скачал EXE-файл(demo project). Запускаю его(ОС Win7 x64), загружаю файл, нажимаю на кнопку "Get&Show frame" а в ответ получаю:
Цитата:
System.AccessViolationException: Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена.
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
Mixim вне форума Ответить с цитированием
Старый 13.05.2011, 18:51   #6
Spawn™Production®
Форумчанин
 
Аватар для Spawn™Production®
 
Регистрация: 06.05.2011
Сообщений: 287
По умолчанию

Цитата:
Скачал сперва файлы проекта(source file), открыл в VS2010 Ultimate, нажал компилировать, а в ответ получаю:
Это значит, что проект представляет из себя библиотеку, а не исполняемый файл. Библиотеку после компиляции надо подключить к Вашему проекту.
Цитата:
Запускаю его(ОС Win7 x64),
Для 32 и 64-битных версий ОС требуются разные библиотеки обычно в таких случаях. Кодеки и работа с видео сильно зависимы от архитектуры.
Spawn™Production® вне форума Ответить с цитированием
Старый 14.05.2011, 08:56   #7
Mixim
Форумчанин
 
Регистрация: 29.10.2009
Сообщений: 259
Сообщение

Цитата:
Сообщение от Spawn™Production® Посмотреть сообщение
Это значит, что проект представляет из себя библиотеку, а не исполняемый файл
Спасибо, наконец-то разобрался! Как уже писал:
Цитата:
Сообщение от Mixim Посмотреть сообщение
Единственное что удалось, так это изъять и немного подкорректировать код из предложенного примера, но откорректированный код получает только первый кадр из видео.
Зашел на официальный сайт AForge.Net, нашел по данной библиотеке аналог MSDN'а, почитал и перевел некоторую информацию(наверное, очень прискорбно для большинства русскоязычных пользователей, что она не русифицирована как MSDN). Еще раз посмотрел на предложенный пример кода и понял принцип, а также основу его работы. Еще немного доработал откорректированный код, о котором писал выше, сейчас буду доводить все до ума.
За что люблю и очень уважаю язык C#, так это за то количество библиотек, которые к нему можно подключить и которые можно использовать. Еще бы они все(DLL, Lib) были бы "прозрачными"(можно было бы увидеть их исходный код) и имели бы более-менее внятные мануалы, языку C# вообще бы цены не было
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
Mixim вне форума Ответить с цитированием
Старый 14.05.2011, 11:26   #8
Spawn™Production®
Форумчанин
 
Аватар для Spawn™Production®
 
Регистрация: 06.05.2011
Сообщений: 287
По умолчанию

Цитата:
можно было бы увидеть их исходный код
.NET Reflector и всё, что не защищено особым образом станет доступно и понятно.
С 7-й версии стал платным, правда.
Spawn™Production® вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PictureBox. C# Novi4ok_11 Помощь студентам 8 28.02.2011 18:24
Объект на объекте. nikz2 Общие вопросы C/C++ 1 03.10.2009 23:55
Мышь на объекте doniyor Общие вопросы Delphi 4 03.07.2009 12:27
PictureBox ne11son Общие вопросы .NET 0 14.03.2009 12:29
Прозрачность в PictureBox _Dmitry Общие вопросы .NET 3 24.06.2008 20:33