----1. introducción
----El sistema de vigilancia y monitoreo digital del banco es actualmente un proyecto de desarrollo con perspectivas de mercado y aplicaciones relativamente prometedoras. Los sistemas de vigilancia y vigilancia desarrollados en base a diferentes tarjetas de captura MPEG y periféricos de hardware tienen tecnologías relativamente maduras en el país y en el extranjero. Para cumplir con los requisitos específicos de monitoreo en tiempo real, adquisición y compresión en tiempo real, reproducción en cualquier momento y difusión de flujos de datos comprimidos, se presenta una tarjeta de adquisición de datos de video para transmisión multipunto de video/audio en red (difusión de video). Se utiliza en este sistema para proporcionar una colección AVI (codificación de compresión de marco MPEGIFrame) y una colección MPG. El extremo emisor transmite la transmisión MPEG, el extremo receptor acepta la transmisión MPEG y la muestra, y la transmisión de red utiliza WinSock2ip-Multicast. Si esta máquina es el remitente, cualquier otra PC de la red puede ser el receptor. Siempre que especifique diferentes números de puerto, se pueden usar varias PC como remitentes al mismo tiempo y se pueden usar varias PC como receptores para recibir datos de video de diferentes remitentes. También puede guardar los datos como archivos MPEG localmente mientras transmite datos. . Este artículo presenta principalmente algunas técnicas de programación para desarrollar la reproducción de datos de audio/vídeo capturados por tarjetas MPEG en un entorno VB.
----2. Introducción al contenido y desarrollo de MPEG.
----La información multimedia incluye principalmente tres categorías: imágenes, sonidos y texto. Entre ellos, la cantidad de información en señales de video, audio y otras es muy grande, y los requisitos de expresión, entrada y salida de esta información también son diferentes. Es muy importante expresar de manera efectiva y procesar adecuadamente estos datos, lo que hace que la tecnología de compresión de información multimedia sea una de las tecnologías clave en el campo de las comunicaciones multimedia. MPEG (Moving Picture Expert Group), establecido conjuntamente por ISO e IEC en 1988, está comprometido con la estandarización global de imágenes en movimiento y la codificación de audio que las acompaña. Incluye sistemas MPEG: vídeo MPEG, audio MPEG. Para promover la transición de la sociedad de la era de la información textual a la era de la información multimedia, ISO lanzó MPEG-7 después de MPEG-1, 2 y 4.
----MPEG-1 fue formulado en 1993 (ISO/IEC11172). Es un estándar internacional para medios de almacenamiento digital de imágenes en movimiento y la codificación de audio que las acompaña con una velocidad de transmisión de datos inferior a 1,5 Mbit/s. La relación de compresión de vídeo es 26:1. MPEG-2 fue formulado en 1995 (ISO/IEC13818). Es un estándar internacional para imágenes en movimiento de 3-10 Mbit/s y la codificación de audio que la acompaña recomendado por CCIR601 para calidad de imagen DVB, HDTV y DVD. A diferencia del estándar MPEG anterior basado en la teoría de codificación de formas de onda basada en la teoría de la información y que apunta a la codificación de video y audio a una determinada velocidad de bits, el estándar internacional MPEG-4, anunciado en noviembre de 1998, presta más atención a la interactividad y flexibilidad de los sistemas multimedia. . Introduce objetos AV (Audio/VisualObjects), haciendo posibles operaciones más interactivas. En octubre de 1998, la Organización Internacional de Normalización lanzó el concepto MPEG-7, que se espera que esté finalizado y anunciado a principios de 2001. Su nombre oficial es "MultimediaContentDescriptionInterface". Propone un esquema de descripción estandarizado adecuado para diversos contenidos multimedia de la vida real, basado en la extracción de diversas características del objeto a describir, para facilitar a las personas la recuperación rápida y efectiva de los materiales multimedia requeridos.
----3. VB desarrolla tecnología de reproducción de flujo de datos de audio/vídeo MPEG
----3.1. Desventajas del control MultimediaMCI y el control MediaPlayer en VB para reproducir flujo de datos MPEG
----El control multimedia comúnmente utilizado en VB es el control MultimediaMCI, que gestiona la grabación y reproducción de archivos multimedia en el dispositivo Media Control Interface (MCI). Se utiliza para emitir comandos MCI a dispositivos como tarjetas de sonido, secuenciadores MIDI, unidades de CD-ROM, reproductores de CD de vídeo y grabadoras y reproductores de cintas de vídeo. También admite la reproducción de archivos de vídeo de Windows (*.avi). Al utilizar el control MultimediaMCI para reproducir el flujo de datos MPEG recopilado, la velocidad de reproducción es más rápida que la pantalla de monitoreo en tiempo real. Durante la prueba, también se encontró que cuando la longitud del archivo MPEG se reduce a 500k-600k, la imagen transmitida no puede. ser visto. Cambie a usar el control MediaPlayer en VB y las deficiencias mencionadas anteriormente aún existen. El motivo del análisis es: debido a que la longitud del archivo MPEG es demasiado corta, el dispositivo de reproducción se cerró tan pronto como se encendió, lo que no se puede controlar mediante programación. Además, para cierta información sobre los flujos de datos comprimidos que los usuarios requieren y algunas funciones que desean implementar, como el tamaño de línea, CopmressionRate, visualización de zoom gráfico, belleza de la interfaz, etc., los controles proporcionados anteriormente se proporcionan para facilitar el desarrollo del programa. Las interfaces de alto nivel utilizadas por el personal ya no son aplicables. Es comprensible que sea difícil implementar algunas operaciones en la capa inferior sobre esta base. Al resolver los problemas prácticos mencionados anteriormente, llamamos a la biblioteca de vínculos dinámicos Quatrz.dll.
----3.2. Biblioteca de vínculos dinámicos Quatrz.dll que proporciona operaciones convenientes de bajo nivel e interfaces de alto nivel para transmisiones MPEG
----Puede encontrar una biblioteca de enlaces dinámicos Quatrz.dll en Windows/System. Esta es una biblioteca de tipos en Windows que se utiliza para controlar la reproducción de imágenes en movimiento. Simplemente agréguela en el menú "Referencia" de VB Listo para usar. Esta biblioteca define IBasicAudio, IBasicVideo e IBasicVideo2, IMediaEvent, IMediaEventEx, IMediaPosition y otras clases, que se pueden agregar fácilmente al Cl del control CommandButton. Agregue código para configurar y leer valores relacionados con audio en ick y otros eventos, configurar o leer parámetros relacionados de fuentes de entrada y salida de video, llamar directamente a funciones sin parámetros Ejecutar, Pausa, Detener, etc. para controlar el proceso de eventos de reproducción y usar la clase IMediaPosition para controlar la reproducción específica Opera en detalle. No se requieren controles especiales para la visualización de salida de flujos de datos MPEG comprimidos. En Visual Basic, puede seleccionar un formulario como contenedor o el control PictureBox en el formulario como contenedor. En aras de la belleza de la interfaz y la conveniencia para los usuarios de recuperar información relevante, utilizamos el control PictureBox como contenedor para mostrar el flujo de datos MPEG reproducido.
----3.3. Utilice el control PictureBox para mostrar el flujo de datos MPEG
----El control PictureBox en VisualBasic puede mostrar gráficos desde mapas de bits, iconos o metarchivos, así como desde metarchivos mejorados, archivos JPEG o GIF. También puede manipular propiedades y métodos de gráficos en código para crear animaciones o realizar simulaciones. Coloque un picTV de control PictureBox en el formulario, basándose en llamar a la biblioteca de enlaces dinámicos Quatrz.dll en Windows/System, defina un objeto pMC global, deje que pMC apunte a una nueva instancia de FilgraphManager y abra M para reproducir. archivo PEG; luego defina un objeto local pVW como una nueva instancia de IVideoWindow y abra una ventana para reproducir video, establezca pVW = pMC, asigne un valor al pVW de referencia del objeto y asigne el valor de atributo hWnd de picTV al propietario de pVW, para que se pueda visualizar picTV. Se recibe el flujo de datos MPEG. Las operaciones específicas son las siguientes:
SetpMC=NuevoFilgraphManager
pMC.RenderFile"C:/Bank/Montior/Example.MPG"
ConfigurarVW=pMC
pVW.WindowStyle=CLng(&H6000000)
pVW.Izquierda=0
pVW.Top=0
OldWidth=pVW.ancho
AlturaAnterior=pVW.Altura
picTV.ancho=pVW.ancho*15
picTV.Altura=pVW.Altura*15
pVW.Propietario=picTV.hWnd
----Puede definir una función separada para incluir estos códigos, o puede colocarla en el evento Click del control CommandButton.
----3.4. Visualización ampliada del flujo de datos MPEG
----Ampliar o reducir imágenes MPEG es un método de procesamiento de visualización de imágenes comúnmente utilizado en varios programas de reproducción multimedia. En Visual Basic, puede usar el control Imagen para escalar imágenes estáticas. Establezca la propiedad Estirar del control en Verdadero y la imagen cargada cambiará su proporción para adaptarse al rango del control Imagen. se convierte en Alto y Alto del control Imagen. El tamaño del valor del atributo Ancho cambia. A medida que cambia el tamaño del control, el paso de los puntos mostrados no se puede cambiar, lo que da como resultado que los píxeles de los puntos de visualización no tengan una correspondencia completamente uno a uno con la imagen y que la calidad de la visualización se deteriore significativamente. Solo el control Imagen puede escalar la imagen. Si el control PictureBox no es lo suficientemente grande para mostrar la imagen completa, la imagen se recortará para ajustarse al tamaño del control. Si desea utilizar el control PictureBox para escalar la imagen MPEG de salida, debe cambiar la relación de salida del flujo de datos MPEG y ajustar el tamaño del control PictureBox para adaptarlo a la imagen MPEG de salida. De hecho, esto ya se hizo en la sección 3 anterior para mostrar la imagen MPEG de salida. Simplemente utiliza la lectura OldWidth y OldHeight de la imagen MPEG. Aquí hay un ejemplo de cómo generar la imagen MPEG a la mitad del tamaño original.
pVW.width=Anchoantiguo/2
pVW.Altura=AlturaAnterior/2
picTV.Izquierda=135
picTV.Top=135
picTV.ancho=pVW.ancho*15
picTV.Altura=pVW.Altura*15
pVW.Propietario=picTV.hWnd
----Al ampliar o reducir el tamaño de imágenes MPEG, preste atención a mantener constante la proporción de ancho y alto para evitar la deformación de la imagen de salida.
----3.5. Arrastre el mouse para reproducir el flujo de datos MPEG
----Usar el mouse para arrastrar la barra de desplazamiento para reproducir el flujo de datos MPEG a voluntad es una tecnología común para que los reproductores multimedia en Windows reproduzcan VCD. El control deslizante en VB es una ventana que contiene un control deslizante y marcas de verificación opcionales. Puede arrastrar el control deslizante, hacer clic en cualquiera de los lados del control deslizante con el mouse o usar el teclado para mover el control deslizante. El control deslizante es útil al seleccionar valores discretos o un conjunto de valores continuos dentro de un rango. Al mover el control deslizante hasta la marca de verificación, se puede posicionar y reproducir el flujo de datos MPEG. Coloque un control deslizante Slider1 en el formulario, establezca el tamaño de paso máximo para el movimiento del cursor LargeChange=5, el tamaño de paso mínimo SmallChange=1 y el rango de movimiento máximo Max=50. El procedimiento de implementación es el siguiente:
PRivateSubSlider1_Scroll()
'
DimpMPAsIMediaPosición
DimvAsDoble
Si NotbOpenThenExitSub
bBuscando=Verdadero
pMC.Pausa
ConfigurarMP=pMC
v=Control deslizante1.Valor-Control deslizante1.Min
v=v/Slider1.Max*pMP.Duración
pMP.PosicionActual=v
SetpMP=Nada
pMC.Ejecutar
'
FinSub
----3.6. Adquisición del tiempo de adquisición del flujo de datos MPEG
----VisualBasic proporciona una función FileDateTime que se puede utilizar para obtener la fecha y hora de creación o actualización del archivo. Defina un objeto local pMP como una nueva instancia de IMediaPosition, establezca pMP=pMC y asigne un valor al pMP de referencia del objeto, luego defina dos variables de tipo doble curpos y longitud, asigne pMP.CurrentPosition a curpos y obtenga el relativo actual. posición del flujo de datos MPEG, asigne pMP.Duration a la longitud para obtener el valor de duración del flujo de datos MPEG; puede obtener el tiempo de recopilación relativo del flujo de datos MPEG; De acuerdo con las características de la creación del archivo de adquisición MPEG, el tiempo de adquisición del flujo de datos MPEG se puede obtener sumando o restando dos fechas y horas.
----Durante todo el proceso de reproducción de MPEG, es necesario mostrar el tiempo de recopilación del flujo de datos MPEG en tiempo real. Puede definir una función para obtener el tiempo de recopilación y utilizar el evento Temporizador del control Temporizador para controlarlo. . Al activar el evento Temporizador, el control Temporizador puede ejecutar periódicamente una función a intervalos para obtener el tiempo de recopilación del flujo de datos MPEG.
----4. Conclusión
----Es de gran importancia utilizar tecnología madura de compresión de imágenes en el campo de la vigilancia por televisión. Por ejemplo: En el sistema de vigilancia de un banco, debido a la particularidad de la identidad del cliente (banco), durante la investigación y procesamiento de incidentes que alteren el funcionamiento normal del banco, como suplantación de depósitos de otros, robo bancario o robo, etc., los datos recopilados se comprimirán. El flujo de datos es una pista y evidencia muy importante para el manejo de casos. En este sistema, no sólo se requiere que la pantalla de monitoreo sea clara y que los datos recopilados sean redundantes, sino que también es muy importante la tecnología de reproducción de flujo de datos MPEG. Este artículo presenta el uso de las condiciones propias y los controles originales de Visual Basic para desarrollar la tecnología de reproducción de datos de audio/vídeo recopilados por tarjetas MPEG en el entorno Windows. Aprovechando al máximo las condiciones superiores de VB y combinándolas de manera flexible con varios controles existentes en VB, el reproductor multimedia MPEG desarrollado tiene funciones completas. La reproducción de imágenes MPEG puede reproducir claramente la escena durante la recopilación de datos, logrando "escuchar el sonido", consulte. la persona" y poder determinar con precisión la hora y el momento en que ocurrió el hecho. Los flujos de datos de audio/vídeo que solo graban un fotograma también se pueden reproducir de la misma manera. La tecnología anterior se ha utilizado en sistemas de monitoreo con buenos resultados. ->