23
Grabación de audio/video y resguardo en BD Notas para el desarrollo de un componente de software para la grabación de voz y video digital, y el resguardo de grabaciones en BD. Fase de análisis de factibilidad. Eugenio Jacobo Hernández Valdelamar Abril/2008 http://creativecommons.org/licenses/by-nc-nd/2.5/mx/

Grabación de audio/video y resguardo en BD

Embed Size (px)

DESCRIPTION

Análisis de factibilidad para el desarrollo de un componente para la grabación de audio/video. 2008.

Citation preview

Page 1: Grabación de audio/video y resguardo en BD

Grabación de audio/video y resguardo en BD

Notas para el desarrollo de un componente de software para la grabación de voz y video digital, y el

resguardo de grabaciones en BD.

Fase de análisis de factibilidad.

Eugenio Jacobo Hernández Valdelamar

Abril/2008

http://creativecommons.org/licenses/by-nc-nd/2.5/mx/

Page 2: Grabación de audio/video y resguardo en BD

Esquema del requerimiento

CAT

CAT

Entregable: Componente para integrar en aplicación VB6.

Page 3: Grabación de audio/video y resguardo en BD

Arquitectura propuesta

Capa de acceso a datos

Lógica de negocio

Interfaz de usuario

Grabación y consultasde pláticas

Base de datos

ComponenteVB6

Page 4: Grabación de audio/video y resguardo en BD

Proceso de grabación de audio (en 2 pasos)

.wavGrabador

Conversor/codificador

.mp3.ogg.wma.vox

Si se realiza el proceso mediante APIsconvencionales de Windows, se tieneun overhead de tiempo por la conversión a otro formato (el peor caso seria un tiempoigual al de la grabación original).

Page 5: Grabación de audio/video y resguardo en BD

Grabación de audio y codificación en nuevo formato para transmisión (1 paso)

.wma.mp3.ogg.vox

Grabador/Codificador

Sin embargo, hay herramientas que permiten grabardirectamente en formatos diferentes al WAV.Esto optimiza el tiempo de respuesta de la solución.

Page 6: Grabación de audio/video y resguardo en BD

Micrófonos

• Características:– Mono/stereo– Convertidor analógico-digital– Filtro de cancelación de ruido– Patrón omni-direccional

• Los micros omnidireccionales tienen una respuesta de sensibilidad constante, lo que significa que capta todos los sonidos independientemente de la dirección desde donde lleguen.

– 50 - 16000 Hz • Precios

– Mínimo: $5.50 USD– Máximo: $173.95 USD

Page 7: Grabación de audio/video y resguardo en BD

Formatos de audio

• WAV– 10 MB p/minuto, 16 bits estereo

• MP3– 0.72 MB p/minuto, 96 kbps

• WMA• OGG

– 10-25%<MP3• VOX

– 1 Mb por hora (baja calidad)– http://www.webdeveloper.com/multimedia/

multimedia_dark_side.html

Page 8: Grabación de audio/video y resguardo en BD

¿Cuál es el mejor formato para la solución?

• El mejor formato debe permitir:– Calidad de audio– Tamaño reducido para transmitirse por la red

de datos a un servidor.

• Opciones de tamaño de grabación aprox:– WAV , 10Mb por minuto– MP3 , 1 Mb por minuto– WMA , 1 Mb por minuto– VOX , 0.016 MB por minuto

Page 9: Grabación de audio/video y resguardo en BD

¿Con qué se realizar el proceso de captura?

La captura de audio desde software se realiza accediendo a la tarjetade sonido de la computadora.El acceso de bajo nivel es el más complejo, aunque el SO Windowsofrece APIs que permiten obtener las muestras de audio digital, para guardarlo en formato WAV.La codificación posterior implica algoritmos complejos y a veces, propietarios.

Una buena solución es el uso de herramientas especializadas que ofrecen buena funcionalidad, calidad de grabación, acceso a distintasfuentes de audio y soportan varios formatos.

Page 10: Grabación de audio/video y resguardo en BD

Herramientas de grabación de audio directa a WMA/MP3/OGG

• Active Audio Record Component – http://www.guangmingsoft.net/audiorecord/ – It can directly record audio to mp3, wav, wma, ogg, au, aiff and

vox audio file. You have full control on the quality of the audio file by setting the encoding parameters.

– Implemented as ATL ActiveX object, Active Audio Record can be easily integrated into applications written in languages that support ActiveX Component such as Visual C++, Visual Basic, Delphi, C++ Builder, .Net languages like C#, VB.Net,  Java, Scripts like Perl, Php, Python, ASP.Net.

– User license $149.95– Team license $299.95

• Once registered, you can redistribute Active Audio Record royalty-freely

Page 11: Grabación de audio/video y resguardo en BD

Librerías y componentes para grabación de audio

• Alvas.Audio – http://www.alvas.net/alvas.audio.aspx – to create applications that play (including

mixed audio data), record, edit and convert sound.

– .Net framework 1.1 o superior– Single license $295– Team license $885

Page 12: Grabación de audio/video y resguardo en BD

Utilerías y componentes para conversión de formatos de audio

• LAME – http://www.lame.sourceforge.net/ – http://www.elguille.info/colabora/puntoNET/PabloTilli_WavToMp3.htm– LAME es un proyecto, que tiene como finalidad crear un

compresor/descompresor de mp3/wav de gran calidad.– En el caso del EXE podemos convertir archivos de un formato a otro, desde la

línea de comandos.– En la versión DLL, la idea es que podemos hacer llamadas a esta desde nuestra

aplicación escrita en cualquier lenguaje, y así crear una aplicación totalmente grafica que utiliza LAME.

• Blade– http://www.vbforums.com/showthread.php?s=&threadid=281650

• Windows Media Encoder– http://msdn2.microsoft.com/en-us/library/ms867158.aspx – Windows Media Encoder Software Development Kit (SDK)

• http://go.microsoft.com/fwlink/?LinkId=5328

• DirectX - DirectShow – http://www.codeproject.com/audio/dshowencoder.asp

Page 13: Grabación de audio/video y resguardo en BD

Ejemplos de captura de audio VB

• Audio recorder – http://vbcity.com/forums/topic.asp?tid=126307

• Simple audio recording– http://www.codeproject.com/KB/winsdk/SoundRecord.aspx

• How to record voice from microphone? – http://www.dotnetspider.com/code/C-470-How-record-voice-from-microp

hone.aspx– Winmm.dll, mciStringA

• Grabar entrada de audio del microfono – http://www.canalvisualbasic.net/forum/forum_posts.asp?TID=25772 – mciSendStringA

• Voice Recording/Playing back using simple classes – http://www.codeproject.com/KB/audio-video/VoiceRecording.aspx – MS WAVE APIs

Page 14: Grabación de audio/video y resguardo en BD

Muestra de código VB6• Option Explicit

Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

'Envia los comandos al dispositivo MCI:Private Sub SendCommand(Command As String, Optional ReturnString As String, Optional ReturnLength As Long)    If ReturnString = vbNullString Then ReturnString = 0    Call mciSendString(Command, ReturnString, ReturnLength, 0)End Sub

'Inicia la grabacion de audio:Public Sub RECORD_Start()    Call SendCommand("open new type waveaudio alias WavFile")    Call SendCommand("record WavFile insert")End Sub

'Termina la grabacion de audio:Public Sub RECORD_Finish()    Call SendCommand("stop WavFile wait")End Sub

'Guarda la grabacion en un archivo de sonido WAV:Public Sub RECORD_Save(Filename As String)    Call SendCommand("save WavFile " & Filename)    Call SendCommand("close WavFile")End Sub

Page 15: Grabación de audio/video y resguardo en BD

Ejemplos de codificación de audio

• Sound recording and encoding in MP3 format – http://www.codeproject.com/KB/audio-video/

RecordingAndMP3Encoding.aspx

• Sending and playing microphone audio over network – http://www.codeproject.com/KB/cs/Streaming_wave_audio.aspx

• What's That Tune? - Mashing up Three Web Services – http://www.codeproject.com/KB/cpp/What_s_That_Tune_.aspx

• Aumplib: C# Namespace And Classes For Audio Conversion – http://www.codeproject.com/KB/audio-video/Aumplib.aspx

Page 16: Grabación de audio/video y resguardo en BD

Captura de imágenes de una cámara

Cámara Web

Manejador de la cámara

(driver)

API de la cámara

Obtener imagen

Cámara IP/Net

EthernetW

i-fihttp

Guardarimagen

BD

Page 17: Grabación de audio/video y resguardo en BD

Captura de imágenes con cámara Web

• Revisar que la cámara este disponible

• Abrir cámara para captura• Capturar la imagen de la cámara• Cerrar cámara• Procesar la imagen

– Guardarla– Desplegarla– Transmitirla

Driver de la cámara

WC API OCX/DLL

AVI Capture DLL

(avicap32.dll)

Aplicación

Controles compatibles

Page 18: Grabación de audio/video y resguardo en BD

Cámaras: características generales

• Cámaras Web• Resolución:

– Captura estática• Mínima:352*288• Máxima:1600*1200

– Captura en movimiento• Mínima:320*240 15 fps• Máxima:800*600 30 fps

• Interfaz:– USB– USB wireless server (WiFi

802.11)• Alimentación :

– USB• Formato de imagen de salida

– JPG

• Cámaras IP (net cams)• Resolución:

– Captura estática• Mínima:320*240• Máxima:1280 x 1024 (1.3 Mpix)

– Captura en movimiento• Mínima:160*120 15 fps• Máxima:800*600 30 fps

• Sensibilidad:– 0.2-10 Lux

• Interfaz:– Ethernet– Wi-fi

• Alimentación:– PoE (via ethernet)– Eliminador de voltaje.

• Formato de imagen de salida:– JPG

Page 19: Grabación de audio/video y resguardo en BD

Fabricantes

• Lista de fabricantes– http://en.wikipedia.org/wiki/List_of_digital_cam

era_brands

• Cámaras Web para Windows – Creative– Logitech – Microsoft – Philips– Micro Innovations

Page 20: Grabación de audio/video y resguardo en BD

Grabación de video

• Formatos de audio/video continuo:– DV-AVI 25Gb/hr– MPEG2 4.7GB/hr de audio y video (DVD)– MPEG1– WMV

• Una solución alterna es grabar 2 frames por minuto, sin audio, lo cual disminuye el tamaño de almacenamiento.

Page 21: Grabación de audio/video y resguardo en BD

Componentes/controles de acceso a video en cámaras Web

• Video OCX– http://www.videoocx.de/

Page 22: Grabación de audio/video y resguardo en BD

Ejemplos VB• Accessing WebCam in Visual Basic 6

– http://www.codeproject.com/KB/vb/webcamcapture.aspx– senmessageA– Avicap32.dll

• How to Capture video from a video device such as a Webcam with VB .NET – http://www.thaiio.com/prog-cgi/vbnetwebcam.html – Avicap32.dll

• WIA webcam sample– http://www.vbforums.com/archive/index.php/t-378126.html – WIA (Windows Image adquisition)

• A WebCam Class in Visual Basic– http://www.codeguru.com/csharp/csharp/cs_misc/graphicsandimages/article.php/

c13951/– http://www.vbforums.com/showthread.php?p=2048466

• Streaming video with VB.Net– http://www.webtropy.com/articles/art7.asp

Page 23: Grabación de audio/video y resguardo en BD

Uso de VB.Net desde VB6

• Demasiado esfuerzo para integrar lo nuevo a lo legado

• http://www.dotnetjunkies.com/WebLog/vbpuntonet/articles/vb_fusion.aspx