Uso de Delphi para desarrollar software de video chat (1)
Introducción
Sabemos que la tecnología clave del software de video chat es recopilar videos y transmitirlos a personas en línea en tiempo real en el software de chat de Microsoft. Aquí se utiliza la tecnología de video digital. Paquete de software VFW (Video para Windows). Creo que mucha gente está familiarizada con él. VFW permite que las aplicaciones obtengan videoclips digitales de fuentes de video analógicas tradicionales a través de dispositivos digitales. No se requiere hardware especial para la reproducción para resolver problemas digitales. El problema de grandes cantidades de datos de video requiere compresión de datos, y VFW introdujo el estándar de archivos AVI. Este estándar no estipula cómo capturar, comprimir y reproducir videos. estipula cómo almacenar video y audio en el disco duro y, alternativamente, almacenar videos en archivos AVI. Los fotogramas y los datos de audio coincidentes se pasan a través de VFW. Los desarrolladores pueden capturar, reproducir y editar clips de video enviando mensajes o configurando propiedades. el instalador instalará automáticamente los componentes necesarios para configurar el video, como controladores de dispositivo y programas de compresión de video, etc. VFW se compone principalmente de módulos de función VFW
AVICAP DLL contiene funciones para realizar la captura de video. Proporciona una interfaz de alto nivel para el procesamiento de E/S de archivos AVI y controladores de dispositivos de audio y vídeo
MSVIDEO DLL contiene un conjunto de funciones DrawDib especiales para manejar operaciones de vídeo en pantalla
MCIAVI DRV incluye el controlador para el intérprete de comandos MCI de VFW
AVIFILE DLL contiene funciones de E/S multimedia estándar (mmio) que proporcionan comandos de nivel superior para acceder a archivos AVI
p>
ICM Compression Manager para gestionar códecs de compresión/descompresión de vídeo (Codec)
ACM Audio Compression Manager proporciona servicios similares a ICM y es adecuado para audio de forma de onda
Para transmisión de vídeo Usamos UDP para transmitir porque la velocidad de transmisión UDP es rápida y TCP está orientado a la conexión. Al establecer una conexión, ambas partes deben pasar por un protocolo de enlace de tres vías para que la transmisión de datos confiable se base en TCP. UDP no está orientado a la conexión y envía información sin necesidad de confirmación de la otra parte. Sin embargo, es más rápido que TCP pero puede perder datos. SMTP, tftp, etc. están basados en UDP. Hay dos tipos de transmisión UDP. Una es la transmisión dirigida. Por ejemplo, si su segmento de red es Pasos
Cree una ventana de captura para capturar video
Antes de capturar video, debe crear. una ventana de captura y realizar todas las operaciones de captura y configuración basadas en esto. La ventana AVICap se puede usar para la ventana de captura. La función CapCreateCaptureWindow de la clase se puede usar para crear su estilo de ventana que se puede configurar con los parámetros WSCHILD y WS_VISIBLE. p>
Con la ventana de captura, podemos capturar la transmisión de video y la transmisión de audio en un archivo AVI y hacer coincidir dinámicamente los dispositivos de entrada de video y audio. Conecte o desconecte la transmisión de video de entrada en tiempo real usando el modo Superposición o Vista previa. la velocidad de captura. Muestre el cuadro de diálogo para controlar la fuente de video, el formato de video y la compresión de video. Cree una paleta para guardar o cargar. Copie la imagen y la paleta relacionada en El portapapeles guarda la imagen de un solo cuadro capturada en un archivo de formato BMP. >
Asociación entre ventana de captura y controlador
Una sola ventana de captura no puede funcionar, debe estar asociada con un dispositivo. La función CapDriverConnect se puede utilizar para asociar la ventana de captura con su controlador de dispositivo para obtener el video. señal.
Asociado con el programa de animación
Establezca las propiedades del dispositivo de video
Al configurar cada variable miembro de la variable de estructura TcaptureParms, puede controlar la frecuencia de muestreo del dispositivo, interrumpir el botón de muestreo comportamiento de estado y configurar la variable de estructura TcaptureParms. Después de usar la función CapCaptureSetSetup para que la configuración surta efecto, también puede usar CapPreviewScale CapPreviewRate para establecer la escala y la velocidad de la vista previa, o puede usar directamente el valor predeterminado del dispositivo. >
Abra la vista previa
Utilice la función CapOverlay para elegir si desea utilizar la vista previa del modo de superposición para acelerar la visualización de vídeos pequeños que ocupan recursos del sistema, y luego utilice CapPreview para iniciar la función de vista previa. puedes ver la imagen de la cámara en la pantalla
Usa la función de devolución de llamada de la ventana de captura
Los primeros cuatro pasos pueden crear un programa básico de captura de video si deseas procesar el video. datos capturados desde el dispositivo usted mismo, debe usar la función de devolución de llamada de la ventana de captura para procesarlos. Por ejemplo, puede obtener los datos de video cuadro por cuadro. También puede transmitirlos.
Transmitir secuencia de video
Utilice la función de devolución de llamada para obtener los datos del primer cuadro. Usamos tecnología de red para enviar los datos a otras máquinas y otras máquinas los recibirán.
Recibir vídeo
Recibir datos UDP y hacer eco de los datos recibidos para que pueda ver el vídeo desde la distancia
Tres usos de Delphi para escribir código de programa
El VFW SDK de Microsoft solo tiene versiones VC y VB y no tiene una versión Delphi. Sin embargo, puede encontrar el archivo VFW PAS en Internet. El archivo FW PAS declara las diversas funciones y variables en la DLL que se llamará (nota. el código fuente El archivo VFW PAS se proporciona en )
Usemos Delphi para desarrollar un software de video chat en línea. El software de chat se divide en dos programas. Uno es un programa de recopilación de videos y un servidor de software de video chat. que realiza la transmisión UDP El otro es un servidor de software de video chat que recibe la transmisión UDP. El programa muestra el cliente de software de video chat que transmite los datos del video
Cree un servidor de software de video chat
) Coloque un control Tpanel en el formulario. Este control se usa para mostrar el video y luego colocar dos controles Tbutton. es inicio y el otro nombre es detener. Coloque un componente UDP aquí. El IdUDPClient de Indy se usa para transmitir el video como se muestra en la figura. Mostrar
Uso de Delphi para desarrollar software de video chat (2) lishixinzhi/Artículo. /programa/Delphi/201311/24745