|
| Descarga Demos Compilados | |
Muestrario de RVMedia
La mayoría de los archivos de abajo no contienen el código fuente, pero se localización en donde se especifico la instalación de RVMedia.
Debe aceptar la licencia antes de poder descargar los proyectos de demostración.
Descargar
Tamaño del archivo: el 63,5 MB. Ultima Actualización: Marzo 1 de 2024.
Por favor, lea las instrucciones de instalación/desinstalación y
la política de privacidad.
Si está interesado en las demos compiladas de TRichView, ScaleRichView y ReportWorkshop, visite la página de muestrario de TRichView.
En la instalación de RVMedia, las demostraciones se encuentran en las siguientes carpetas:
- Demos\Delphi\ para Delphi VCL
- Demos\Delphi.FMX\ para Delphi FireMonkey
- Demos\Lazarus\ para Lazarus
Contenido
- Cámaras (que muestran vídeos de varias fuentes)
- Vídeos versenden und empfangen (conexiones entre iguales (P2P))
- Media Server (conexiones cliente-servidor)
- Grabación (archivos de audio y vídeo)
1. Cámaras
|
Vídeo de una sola cámara |
|
El ejemplo más básico: visualización de vídeo de una sola cámara.
El cuadro superior de la ventana contiene una lista de cámaras. La lista incluye cámaras locales (webcámaras USB) y varias cámaras accesibles por internet.
La misma lista se usa en (prácticamente) todos los demás proyectos de demostración.
Puede que no todas las cámaras estén en línea al ejecutar la demo. Si hay alguna cámara que no funciona, simplemente inténtelo con otra.
La demostración usa dos componentes: TRVCamera y TRVCamView.
Ubicación de esta demostración en la instalación RVMedia: Cameras\CamList\
|
Filtros de imágenes |
|
Este ejemplo muestra cómo se pueden modificar los fotogramas de vídeo antes de visualizarlos.
En la demostración se aplican a los fotogramas de vídeo algunos filtros de imágenes (nitidez, detección de bordes, relieve, desenfoque).
Nota: el filtro de desenfoque es bastante lento.
Ubicación de esta demostración en la instalación RVMedia: Cameras\Filters\
|
Control de la cámara |
|
Este ejemplo muestra cómo controlar el movimiento de la cámara.
La lista de cámaras en esta demostración solo contiene cámaras controlables.
Nota 1: En algunas cámaras se puede desactivar el control de movimiento.
Nota 2: Puede que usted no sea la única persona que este controlando el movimiento de la cámara en un momento determinado, por lo que no se sorprenda si la cámara gira sola. La demostración ofrece dos modos de controlar las cámaras:
- mediante el elemento de control especial (en la parte izquierda de la ventana) TRVCamControl;
- haciendo clic sobre la ventana de visualización de vídeo de la cámara (verá un cursor especial en forma de flecha que mostrará la dirección de la rotación).
Ubicación de esta demostración en la instalación RVMedia: Cameras\CamControl\
|
Detección de movimiento (Versión antigua) |
|
Este ejemplo muestra cómo utilizar la función de detección de movimiento.
Esta demostración usa un algoritmo simple de detección de movimiento que compara los fotogramas y encuentra las áreas que han experimentado algún cambio.
Puede cambiar los parámetros para fijar unos ajustes óptimos para una cámara específica:
- reducción de ruido: permite ignorar los píxeles que cambiaron de forma insignificante;
- áreas de detección de movimiento: un fotograma se divide en áreas de determinado tamaño; los cambios se detectan en cada área por separado;
- número específico de áreas cambiadas colindantes: permite ignorar cambios en las áreas si sus áreas colindantes no experimentaron cambios;
- umbral de detección: especifica cuántas áreas deben cambiar para mostrar un mensaje de alarma (“detected!” – “¡detectado!”);
Nota: Este algoritmo de detección de movimiento solo se usa con fines de demostración.
No es muy bueno, especialmente porque usa una cuadrícula de áreas fija, de modo que los cambios de una sola área tienen muchas más posibilidades de ser detectadas
que los cambios que abarcan varias áreas. TRVCamSender usa un algoritmo mucho más avanzado para determinar las áreas de vídeo que se deben enviar.
Ubicación de esta demostración en la instalación RVMedia: Cameras\MotionDetect_Old\
|
Detección de movimiento |
|
Esta demostración muestra cómo utilizar la función de detección de movimiento de RVMedia.
Puede cambiar los parámetros para encontrar la configuración óptima para las cámaras específicas:
- ignorando los píxeles que se cambiaron de manera insignificante
- definiendo el tamaño mínimo permitido de las áreas cambiadas
Ubicación de esta demostración en la instalación RVMedia: Cameras\MotionDetect\
|
Cámara web |
|
Este ejemplo muestra cómo mostrar el vídeo de una cámara local (como una cámara web USB) y cambiar entre sus modos de vídeo.
Nota: Puede que no sea posible usar todos los modos de vídeo enumerados en este ejemplo. Los resultados dependen del modelo de la cámara.
Ubicación de esta demostración en la instalación RVMedia: Cameras\WebCamera\
|
Vídeo de varias cámaras |
|
Este ejemplo muestra cómo mostrar vídeo de varias cámaras. Se usa el componente TRVCamMultiView.
La demostración contiene cuatro paneles pequeños y un panel principal más grande.
Haga clic en uno de los paneles pequeños y, a continuación, haga clic en una cámara de la lista para ver su vídeo en este panel.
En el panel principal, se muestra el vídeo del panel pequeño seleccionado.
El componente muestra el vídeo de la cámara principal con mayor velocidad de fotogramas (por eso, al seleccionar otra cámara cuyo vídeo ya se está reproduciendo,
el componente puede volver a conectar la cámara para obtener vídeo son mayor velocidad de fotogramas).
Ubicación de esta demostración en la instalación RVMedia: Cameras\CamListMulti\
|
Búsqueda de cámaras |
|
En este ejemplo se realiza una búsqueda de cámaras en un rango especificado de direcciones IP.
Ubicación de esta demostración en la instalación RVMedia: Cameras\Search\
|
MediaTest |
|
Es el ejemplo más complicado de este paquete.
En él se visualiza el vídeo de varias cámaras con posibilidad de configurar las cámaras.
Además de las cámaras agregadas a la lista de demostración, puede introducir la dirección de una cámara de forma manual.
Fíjese en las pestañas “Users” (Usuarios) y “Parameters” (Parámetros) que aparecen para las cámaras configurables.
Ubicación de esta demostración en la instalación RVMedia: Cameras\MediaTest\
|
2. Envío y recepción de vídeo
Más abajo puede encontrar proyectos de demostración compilados en los que se muestra cómo las aplicaciones pueden enviar y recibir datos a través de una red,
incluidos datos de vídeo, audio o de otro tipo (como comandos o archivos).
|
Envío y recepción de datos en una sola aplicación |
|
Cómo realizar la prueba: seleccione una fuente de vídeo en la lista “cameras” (cámaras). Podrá visualizar el vídeo en el panel izquierdo.
Haga clic en “Start Sender” (Iniciar envío) y “Start Receiver” (Iniciar recepción).
El vídeo se enviará por la red a la misma aplicación, y el vídeo recibido se mostrará en el lado derecho
(en realidad, puede ejecutar dos copias de este aplicación: inicie el envío desde una aplicación y recíbalo en la otra; pero es más fácil realizar la prueba desde
la misma aplicación).
Además de vídeo, esta demo envía a sí misma datos de audio desde el micrófono. También puede enviar un archivo, un mensaje o un comando de prueba.
Puede cambiar las opciones de envío de vídeo y audio en el diálogo “Options” (Opciones). Este diálogo no es modal;
los cambios se aplican después de hacer clic en el botón “Apply” (Aplicar).
Puede cambiar la codificación de fotogramas entre Jpeg y HWL (HWL está en la fase beta).
Por defecto, se envían fotogramas enteros. Pero puede cambiar los ajustes y enviar solamente los fragmentos cambiados.
Mueva el control deslizante “ignore all pixels with changes less than...” (ignorar todos los píxeles con cambios inferiores a...) para definir la sensibilidad.
Para entender cómo afecta esto a los resultados de forma visual, vea el modo de prueba “Test mode”.
En este modo, se envían imágenes de muestra; en ellas se ven los píxeles cambiados y las áreas que se enviarían en el modo normal.
El diálogo de opciones también permite cambiar los parámetros del micrófono:
- “amplitude” permite aumentar el volumen del sonido;
- reducción de ruido;
- “min level” permite ignorar sonidos demasiado débiles;
- “ignore interval” permite ignorar ruidos monótonos;
- “voice change” puede cambiar el tono de la voz.
En la parte inferior de la ventana principal, se puede ver la estadística y los gráficos de los datos recibidos de la(s) cámara(s) IP,
los datos enviados por el remitente y los datos recibidos por el destinatario.
Es el componente TRVTrafficMeter. Es útil para determinar los ajustes óptimos ya que le permite ver cómo las diferentes opciones afectan el tráfico.
En esta demostración se usan los siguientes componentes:
- TRVCamera para recibir vídeo de cámaras;
- TRVMicrophone para leer sonido del micrófono;
- TRVMicrophoneView para mostrar la actividad del micrófono;
- TRVCamSender para enviar vídeo, audio, archivos, mensajes de texto y comandos;
- TRVCamReceiver para recibirlos;
- 2 TRVCamViews para visualizar el vídeo (de la cámara y del receptor);
- TRVTrafficMeter para visualizar la estadística.
Ubicación de esta demostración en la instalación RVMedia: SendAndReceive\SingleApp\
|
Envío y recepción en dos aplicaciones |
|
Este ejemplo incluye dos aplicaciones: una emisora y otra receptora.
Inicie la aplicación receptora, haga clic en “Start Receiver” (Iniciar recepción).
Inicie la aplicación emisora. Seleccione una fuente de vídeo de la lista. Haga clic en “Start Sender” (Iniciar envío).
Puede ejecutar hasta 4 emisores, pero antes de iniciar el envío, seleccione un elementos diferente de la lista “Send as” (Enviar como) para cada envío.
Estas aplicaciones se pueden ejecutar en el mismo equipo o en equipos diferentes conectados a través de internet.
Por defecto, el campo “Send to” (Enviar a) contiene la dirección local.
Si ejecuta las demos en equipos diferentes, es necesario introducir la dirección del receptor en este campo.
Ubicación de esta demostración en la instalación RVMedia: SendAndReceive\TwoApps\
|
Envío y recepción: TwoSides (“IP blanca y gris”) |
|
Esta demostración muestra cómo transferir datos (vídeo, sonido, archivos, comandos) entre dos aplicaciones, sin un servidor, incluso si una de ellas no tiene una dirección IP externa
(por ejemplo, está detrás de un proxy).
Esta demostración es una aplicación única que puede funcionar en dos modos:
- escuchando una aplicación remota
- conectándose a una aplicación de escucha
Los datos se pueden enviar en ambas direcciones.
Ubicación de esta demostración en la instalación RVMedia: SendAndReceive\TwoSides\
|
Envío y recepción: escritorio remoto |
|
Este ejemplo incluye dos aplicaciones: RemoteDesktop y DesktopControl.
Inicie ambas demos y haga clic en el botón “Connect” (Conectar) en DesktopControl.
RemoteDesktop enviará imágenes del escritorio en forma de una secuencia de vídeo.
Además, envía también la posición del cursor del ratón. DesktopControl recibe y muestra esta información.
DesktopControl puede enviar comandos para el ratón a RemoteDesktop, y RemoteDesktop los ejecuta simulando el funcionamiento de un ratón.
Ubicación de esta demostración en la instalación RVMedia: SendAndReceive\RemoteDesktop\
|
3. Servidor multimedia
A continuación encontrará proyectos de demostración compilados que muestran el modo en que las aplicaciones envían y reciben datos a través de la red.
Estas aplicaciones consisten en dos partes: un servidor y un cliente.
Los clientes envían y reciben datos de vídeo (u otra información) el uno al otro a través de la red, pero, a diferencia de la demostración anterior,
los clientes no están conectados de forma directa entre sí.
En lugar de ello, están conectados a un servidor multimedia.
|
Servidor multimedia |
|
Esta aplicación se usa como un servidor en todos los demás proyectos de demostración en este paquete.
Inicie la demo y haga clic en botón “Start Server” (Iniciar servidor).
Esta demo utiliza el componente TRVMediaServer.
Este servidor puede trabajar con todos los tipos de clientes de esta demo a la vez:
los diferentes tipos de clientes no interfieren el uno con el otro
(esto sucede porque el “Chat” se comunica solamente con los clientes que pertenecen a un grupo específico en el servidor,
y el “Messenger” y la “Conferencia” se comunican solo con los clientes que pertenecen a una lista de contactado predeterminada;
a pesar de que el “Messenger” y la “Conferencia” utilizan las mismos nombres de usuario en las listas de contactos,
los identificadores de usuarios son diferentes en estas demos).
Puede ejecutar estas demos en el mismo equipo o en equipos diferentes conectados a través de internet.
Ubicación de esta demostración en la instalación RVMedia: ClientServer\VideoChats\Server\
|
Chat |
|
Ejemplo de chat de vídeo.
Estas aplicaciones se conectan a una demo de servidor multimedia (vea más arriba) y pueden enviar entre sí datos de vídeo, sonido del micrófono, archivos y mensajes de texto.
Según la configuración por defecto, se conectan al servidor multimedia ejecutado desde el mismo equipo.
Si se ejecuta en otro equipo, introduzca su dirección antes de hacer clic en “Connect” (Conectar).
Puede seleccionar el vídeo que desea transmitir a otros usuarios (“my video” – mi vídeo). Este se mostrará en el panel pequeño.
También puede seleccionar un usuario de chat del que va a recibir el vídeo (“receive video from user” – recibir vídeo de usuario).
Podrá visualizar el vídeo recibido de este usuario en el panel grande.
Según la configuración por defecto, los mensajes de texto y los archivos se envían a todo el mundo.
Puede enviarlos de forma privada para lo cual debe seleccionar los destinatarios deseados (“send text and files to” – enviar texto y archivos a).
En esta demo, todos los clientes pertenecen a un solo grupo en el servidor.
En esta demo se pueden crear salas de chat (con posibilidad de seleccionar el grupo al que unirse) con mínimas modificaciones.
Ubicación de esta demostración en la instalación RVMedia: ClientServer\VideoChats\Chat\
|
Messenger |
|
Otro tipo de chat de vídeo.
Este ejemplo es muy parecido a la anterior demo de chat.
Los Messengers se conectan al servidor multimedia (vea más arriba) y envían el uno al otro datos de vídeo, audio, texto y archivos.
Diferencias:
- El cliente de chat genera cada vez un nuevo identificador y permite introducir un nuevo nombre a cada cliente nuevo;
el Messenger se conecta utilizando una cuenta predefinida (que consiste de un nombre y un identificador).
- El cliente de chat entra en un grupo del servidor y se comunica con otros miembros de este grupo.
El Messenger se comunica solo con clientes de una lista definida (de la lista de contactos).
- El chat envía mensajes y archivos a los demás miembros del grupo (pero también puede enviarlos en privado); los mensajes se muestran en el visualizador de texto.
El Messenger envía texto y archivos en privado creando un visualizador de texto del chat para cada usuario.
- La lista de usuarios del chat contiene los miembros del grupo que están en línea.
En el Messenger se muestran todos los usuarios de la lista de contactos; los usuarios desconectados aparecen en rojo, y los conectados en verde.
Posibilidad de mejorar esta demostración: edición de la lista de contactos: procesamiento de la solicitud de añadir una lista de contactos,
eliminar a un usuario de la lista de contactos, etc.
Ubicación de esta demostración en la instalación RVMedia: ClientServer\VideoChats\Messenger\
|
Vídeo conferencia |
|
Otro tipo de chat de vídeo.
Esta demo se parece a la anterior. Los clientes de la conferencia se conectan al servidor multimedia (vea más arriba)
y envían el uno al otro datos de vídeo, audio y mensajes de texto.
Igual que en la demostración de Messenger, el cliente de Conferencia utiliza una lista de contactos,
se conecta utilizando una cuenta predefinida y se comunica solamente con los demás miembros de la lista de contactos.
Diferencias:
- El Messenger muestra el vídeo de un solo usuario. La Conferencia muestra vídeo de hasta 5 usuarios (seleccionados en la lista).
- El Messenger utiliza un visualizador de texto del chat individual para cada usuario;
la Conferencia usa una ventana de visualización de texto del chat común a todos los usuarios, igual que en la demo del chat.
- En la demo de la Conferencia no es posible enviar archivos y mensajes privados.
- La Conferencia muestra mensajes del sistema en la ventana del chat.
- La Conferencia muestra la estadística de tráfico en la parte inferior de la ventana.
Ubicación de esta demostración en la instalación RVMedia: ClientServer\VideoChats\Conference\
|
Salas de chat |
|
En esta demostración, los usuarios pueden crear una sala de chat o entrar en la sala de chat existente.
El propietario de una sala elige el miembro de la sala que mostrará el video a todos los demás miembros de la sala.
Ubicación de esta demostración en la instalación RVMedia: ClientServer\VideoChats\ChatRooms\
|
Clase |
|
Esta demostración consta de dos proyectos: “Profesor” y “Alumno”.
Un profesor muestra su video a los alumnos. Los alumnos reciben un video de un profesor.
Esta demostración utiliza las siguientes características destacadas:
- dos canales de vídeo (un profesor envía vídeo de dos fuentes: diapositivas y una cámara)
- fuente de vídeo personalizada (las diapositivas se toman de archivos y se envían como vídeo)
Ubicación de esta demostración en la instalación RVMedia: ClientServer\VideoChats\Lecture\
|
Autenticación |
|
Esta demostración muestra cómo implementar una autorización simple en un servidor de medios y cómo almacenar datos sobre clientes en una base de datos.
Consta de dos aplicaciones: un cliente y un servidor.
Hay varias versiones del servidor de inicio de sesión disponibles: versiones BDE y FireDAC para Delphi, versión TDbf para Lazarus.
Ubicación de esta demostración en la instalación de RVMedia: ClientServer \Login \
|
4. Grabación
A continuación puede encontrar proyectos de demostración compilados que muestran cómo grabar archivos de audio y vídeo.
|
Grabador de audio |
|
Esta demostración muestra cómo grabar sonido desde el dispositivo de entrada de audio especificado (micrófono) y reproducirlo en el dispositivo de salida de audio especificado (altavoces) o grabar en un archivo.
Esta demostración requiere FFmpeg para la grabación.
Esta aplicación admite los siguientes formatos:
- WAV (Waveform Audio)
- MP2 (MPEG-1 Audio Layer II)
- MP3 (MPEG-1 Audio Layer III)
- AC3 (Dolby Audio Codec 3)
- Vorbis (OGG)
- FLAC (Free Lossless Audio Codec)
- Opus
- WMA (Windows Media Audio) v.1 and v.2
- AAC (Advanced Audio Coding)
- RealAudio 1
- G.723.1
- Speex
- WavPack
- ALAC (Apple Lossless Audio Codec)
- AMR (Adaptive Multi-Rate audio codec)
La disponibilidad de los formatos depende de la versión de la biblioteca FFmpeg utilizada.
Advertencia: algunos formatos de audio pueden estar protegidos por patente en algunos países,
y la compatibilidad con estos formatos requerirá que obtenga licencias de los propietarios de las patentes.
Ubicación de esta demostración en la instalación RVMedia: Recording\AudioRecorder\
|
Grabador de vídeo |
|
Esta demostración muestra cómo grabar vídeo (y, opcionalmente, audio) en un archivo.
Esta demostración requiere FFmpeg para la grabación.
Esta aplicación admite los siguientes formatos:
- MPEG-1
- MPEG-2
- MPEG-4
- H.263+
- H.264
- MJPEG
- Windows Media Video 7 and 8
- FLV (Sorenson Spark)
- RV10 (RealVideo 1) and RV20 (RealVideo 2)
La disponibilidad de los formatos depende de la versión de la biblioteca FFmpeg utilizada.
Advertencia: algunos formatos de audio/vídeo pueden estar protegidos por patente en algunos países,
y la compatibilidad con estos formatos requerirá que obtenga licencias de los propietarios de las patentes.
Ubicación de esta demostración en la instalación RVMedia: Recording\VideoRecorder\
|
Grabación de vídeo MJPEG |
|
Esta demostración muestra cómo grabar vídeo MJPEG desde una cámara a un archivo y cómo reproducir este archivo.
Esta aplicación no utiliza bibliotecas externas.
Ubicación de esta demostración en la instalación RVMedia: Recording\MJPEG\
|
|
|