----1. введение
----Система цифрового наблюдения и мониторинга банка в настоящее время является проектом разработки с относительно многообещающими рыночными и прикладными перспективами. Системы наблюдения и наблюдения, разработанные на основе различных карт захвата MPEG и периферийных устройств, имеют относительно зрелые технологии в стране и за рубежом. Чтобы удовлетворить конкретные требования мониторинга в реальном времени, сбора и сжатия в реальном времени, воспроизведения в любое время и распространения потоков сжатых данных, используется карта сбора видеоданных для сетевой многоточечной передачи видео/аудио (видеовещания). используется в этой системе для обеспечения коллекции AVI (кодирование сжатия MPEGIFrame), коллекции MPG. Отправляющая сторона транслирует поток MPEG, принимающая сторона принимает поток MPEG и отображает его, а передача по сети использует WinSock2ip-Multicast. Если этот компьютер является отправителем, любой другой компьютер в сети может быть получателем. Если вы укажете разные номера портов, несколько компьютеров могут использоваться в качестве отправителей одновременно, а несколько компьютеров могут использоваться в качестве получателей для получения видеоданных от разных отправителей. Вы также можете сохранять данные в виде файлов MPEG локально во время передачи данных. . В этой статье в основном представлены некоторые методы программирования для разработки воспроизведения аудио/видео данных, захваченных картами MPEG, в среде VB.
----2. Введение в содержание и развитие MPEG
----Мультимедийная информация в основном включает три категории: изображения, звуки и текст. Среди них объем информации в видео, аудио и других сигналах очень велик, а требования к выражению, вводу и выводу этой информации также различны. Очень важно эффективно выражать и правильно обрабатывать эти данные, что делает технологию сжатия мультимедийной информации одной из ключевых технологий в области мультимедийных коммуникаций. MPEG (Экспертная группа по движущимся изображениям), созданная совместно ISO и IEC в 1988 году, занимается глобальной стандартизацией движущихся изображений и сопровождающего их аудиокодирования. Включает системы MPEG: видео MPEG, аудио MPEG. Чтобы способствовать переходу общества от эпохи текстовой информации к эпохе мультимедийной информации, ISO запустила MPEG-7 после MPEG-1, 2 и 4.
----MPEG-1 был сформулирован в 1993 году (ISO/IEC11172). Это международный стандарт для цифровых носителей движущихся изображений и сопровождающего их аудиокодирования со скоростью передачи данных ниже 1,5 Мбит/с. Степень сжатия видео составляет 26:1. MPEG-2 был сформулирован в 1995 году (ISO/IEC13818). Это международный стандарт для кодирования движущегося изображения со скоростью 3–10 Мбит/с и сопровождающего его звука, рекомендованный CCIR601 для качества изображения DVB, HDTV и DVD. В отличие от предыдущего стандарта MPEG, основанного на теории кодирования сигналов, основанного на теории информации и нацеленного на кодирование видео и аудио с определенной скоростью передачи данных, международный стандарт MPEG-4, анонсированный в ноябре 1998 года, уделяет больше внимания интерактивности и гибкости мультимедийных систем. . В нем представлены AV-объекты (Audio/VisualObjects), что делает возможным более интерактивные операции. В октябре 1998 года Международная организация по стандартизации представила концепцию MPEG-7, которая, как ожидается, будет окончательно доработана и объявлена в начале 2001 года. Ее официальное название — «MultimediaContentDescriptionInterface». Он предлагает стандартизированную схему описания, подходящую для различного мультимедийного контента в реальной жизни, основанную на извлечении различных характеристик описываемого объекта, чтобы облегчить людям быстрый и эффективный поиск необходимых мультимедийных материалов.
----3. VB разрабатывает MPEG — технологию воспроизведения потока аудио/видео данных
----3.1. Недостатки управления MultimediaMCI и MediaPlayer в VB для воспроизведения потока данных MPEG
----Обычно используемым элементом управления мультимедиа в VB является элемент управления MultimediaMCI, который управляет записью и воспроизведением мультимедийных файлов на устройстве интерфейса управления мультимедиа (MCI). Он используется для выдачи команд MCI таким устройствам, как звуковые карты, MIDI-секвенсоры, приводы компакт-дисков, проигрыватели видео компакт-дисков, а также видеомагнитофоны и проигрыватели. Он также поддерживает воспроизведение видеофайлов Windows (*.avi). При использовании элемента управления MultimediaMCI для воспроизведения собранного потока данных MPEG скорость воспроизведения выше, чем на дисплее мониторинга в реальном времени. В ходе теста также было обнаружено, что при сокращении длины файла MPEG до 500–600 тыс. быть увиденным. Перейдите на использование элемента управления MediaPlayer в VB, и вышеупомянутые недостатки все еще существуют. Причина анализа: поскольку длина файла MPEG слишком мала, устройство воспроизведения закрылось сразу после включения, что не может контролироваться программированием. Более того, для облегчения разработки программы предусмотрены элементы управления, предусмотренные выше, для получения некоторой информации о потоках сжатых данных, которые требуются пользователям, и некоторых функций, которые они хотят реализовать, таких как размер строки, CopmressionRate, отображение графического масштабирования, красота интерфейса и т. д. Интерфейсы высокого уровня, используемые персоналом, больше не применимы. Понятно, что на этой основе сложно реализовать некоторые операции на нижнем уровне. При решении упомянутых выше практических задач мы назвали динамическую библиотеку Quatrz.dll.
----3.2. Библиотека динамической компоновки Quatrz.dll, обеспечивающая удобные низкоуровневые операции и высокоуровневые интерфейсы для потоков MPEG.
----Вы можете найти библиотеку динамической компоновки Quatrz.dll в разделе Windows/System. Это библиотека типов в Windows, используемая для управления воспроизведением движущихся изображений. Просто добавьте ее в меню «Ссылка» VB, готового к использованию. Эта библиотека определяет IBasicAudio, IBasicVideo и IBasicVideo2, IMediaEvent, IMediaEventEx, IMediaPosition и другие классы, которые можно легко добавить в Cl элемента управления CommandButton. Добавьте код для установки и чтения значений, связанных со звуком, в ick и других событиях, установки или чтения связанных параметров источников видеовхода и вывода, прямого вызова функций без параметров Run, Pause, Stop и т. д. для управления процессом события воспроизведения и использования класс IMediaPosition для управления конкретным воспроизведением. Подробное описание. Для отображения выходных потоков сжатых данных MPEG не требуются специальные элементы управления. В Visual Basic можно выбрать форму в качестве контейнера или элемент управления PictureBox в форме в качестве контейнера. Ради красоты интерфейса и удобства получения пользователями соответствующей информации мы используем элемент управления PictureBox в качестве контейнера для отображения воспроизводимого потока данных MPEG.
----3.3. Используйте элемент управления PictureBox для отображения потока данных MPEG.
----Элемент управления PictureBox в VisualBasic может отображать графику из растровых изображений, значков или метафайлов, а также из расширенных метафайлов, файлов JPEG или GIF. Вы также можете манипулировать графическими свойствами и методами в коде для создания анимации или моделирования. Поместите элемент управления PictureBox picTV в форму. На основе вызова библиотеки динамической компоновки Quatrz.dll в Windows/System определите глобальный объектный объект pMC, позвольте pMC указать на новый экземпляр FilgraphManager и откройте M для воспроизведения. PEG-файл; затем определите локальный объект pVW как новый экземпляр IVideoWindow и откройте окно для воспроизведения видео, установите pVW=pMC, присвойте значение ссылке на объект pVW и присвойте значение атрибута hWnd picTV владельцу объекта; pVW, чтобы можно было отобразить picTV. Получен поток данных MPEG. Конкретные операции заключаются в следующем:
SetpMC=НовыйФилграфМенеджер
pMC.RenderFile"C:/Bank/Montior/Example.MPG"
SetpVW=pMC
pVW.WindowStyle=CLng(&H6000000)
pVW.Left=0
pVW.Top=0
OldWidth=pVW.ширина
OldHeight=pVW.Высота
picTV.width=pVW.ширина*15
picTV.Height=pVW.Height*15
pVW.Owner=picTV.hWnd
----Вы можете определить отдельную функцию для включения этих кодов или поместить ее в событие Click элемента управления CommandButton.
----3.4. Масштабирование потока данных MPEG
----Увеличение или уменьшение изображений MPEG — это широко используемый метод обработки изображений в различных программах воспроизведения мультимедиа. В Visual Basic вы можете использовать элемент управления Image для масштабирования статических изображений. Установите для свойства Stretch элемента управления значение True, и загруженное изображение изменит свои пропорции, чтобы адаптироваться к диапазону элемента управления Image. Таким образом, масштабирование изображения изменится. становится высотой и высотой элемента управления изображением. Размер значения атрибута ширины изменяется. При изменении размера элемента управления шаг отображаемой точки не может быть изменен, в результате чего пиксели отображаемых точек не полностью соответствуют изображению, и качество отображения существенно ухудшается. Только элемент управления Image может масштабировать изображение. Если элемент управления PictureBox недостаточно велик для отображения всего изображения, изображение будет обрезано до размера элемента управления. Если вы хотите использовать элемент управления PictureBox для масштабирования выходного изображения MPEG, необходимо изменить выходное соотношение потока данных MPEG и отрегулировать размер элемента управления PictureBox для адаптации к выходному изображению MPEG. Фактически, это уже было сделано в разделе 3 выше для отображения выходного изображения MPEG. Он просто использует считанные значения OldWidth и OldHeight изображения MPEG. Вот пример вывода изображения MPEG в размере 1/2 исходного размера.
pVW.width=Старая ширина/2
pVW.Height=OldHeight/2
picTV.Left=135
picTV.Top=135
picTV.width=pVW.ширина*15
picTV.Height=pVW.Height*15
pVW.Owner=picTV.hWnd
----При увеличении или уменьшении размера изображений MPEG следите за тем, чтобы соотношение ширины и высоты было постоянным, чтобы избежать деформации выходного изображения.
----3,5. Перетащите мышь, чтобы воспроизвести поток данных MPEG.
----Использование мыши для перетаскивания полосы прокрутки для произвольного воспроизведения потока данных MPEG является распространенной технологией мультимедийных проигрывателей Windows для воспроизведения VCD. Элемент управления «Ползунок» в VB представляет собой окно, содержащее ползунок и дополнительные отметки. Вы можете перетаскивать ползунок, щелкать мышью по любой его стороне или использовать клавиатуру для перемещения ползунка. Элемент управления «Ползунок» полезен при выборе дискретных значений или набора непрерывных значений в пределах диапазона. Переместив ползунок на галочку, можно позиционировать и воспроизводить поток данных MPEG. Разместите на форме элемент управления Slider Slider1, установите максимальный размер шага перемещения курсора LargeChange=5, минимальный размер шага SmallChange=1 и максимальный диапазон перемещения Max=50. Порядок реализации следующий:
PRivateSubSlider1_Scroll()
'
ДимпМПАСИМедиаПозицион
DimvAsDouble
ЕслиNotbOpenThenExitSub
bSeeking=Истина
pMC.Пауза
SetpMP=pMC
v=Слайдер1.Значение-Слайдер1.Мин
v=v/Slider1.Max*pMP.Duration
pMP.CurrentPosition=v
SetpMP=Ничего
pMC.Run
'
EndSub
----3.6. Регистрация времени получения потока данных MPEG
----VisualBasic предоставляет функцию FileDateTime, которую можно использовать для получения даты и времени создания или обновления файла. Определите локальный объект pMP как новый экземпляр IMediaPosition, установите pMP=pMC и присвойте значение ссылке на объект pMP, затем определите две переменные двойного типа curpos и length, присвойте pMP.CurrentPosition переменной curpos и получите текущий относительный объект; положение потока данных MPEG. Время, присвойте pMP.Duration длине, чтобы получить значение длины потока данных MPEG, вы можете получить относительное время сбора потока данных MPEG; В соответствии с характеристиками создания файла сбора данных MPEG время получения потока данных MPEG можно получить путем сложения или вычитания двух дат и времени.
----В течение всего процесса воспроизведения MPEG необходимо отображать время сбора потока данных MPEG в режиме реального времени. Вы можете определить функцию для получения времени сбора и использовать событие Timer элемента управления Timer для его управления. . Запуская событие Timer, элемент управления Timer может регулярно выполнять функцию через определенные промежутки времени, чтобы получить время сбора потока данных MPEG.
----4. Заключение
----Очень важно использовать зрелую технологию сжатия изображения в области телевизионного наблюдения. Например: В системе наблюдения банка, в связи с особенностями личности клиента (банка), при расследовании и обработке инцидентов, нарушающих нормальный рабочий режим банка, таких как выдача себя за вклады других лиц, банковские кражи или ограбление и т. д., собранные данные будут сжаты. Поток данных является очень важной информацией и доказательствами для рассмотрения дел. В этой системе не только экран мониторинга должен быть четким, а собранные данные избыточными, но также очень важна технология воспроизведения потока данных MPEG. В этой статье описывается использование собственных условий и оригинальных элементов управления Visual Basic для разработки технологии воспроизведения аудио/видео данных, собранных картами MPEG, в среде Windows. В полной мере воспользовавшись преимуществами превосходных условий VB и гибко комбинируя их с различными существующими элементами управления в VB, разработанный медиаплеер MPEG обладает полными функциями. Воспроизводимое изображение MPEG позволяет четко воспроизводить сцену во время сбора данных, добиваясь «слышимости звука», см. человек» и уметь точно определить время и момент, когда произошло событие. Потоки аудио/видео данных, которые записывают только один кадр, также могут воспроизводиться таким же образом. Вышеописанная технология была использована в системах мониторинга с хорошими результатами. ->