WEBRtc: Video y audio sin plugins.
WebRTC (Web Real-Time Communication) es una definición -de un conjunto de APIs- creada por la World Wide Web Consortium (W3C), con el objetivo de permitir a los navegadores ejecutar aplicaciones para vídeo llamada, vídeo chat y compartición de ficheros P2P sin necesidad de plugins.
La definición de la W3C todavía no esta terminada, por lo que puede estar sujeta a grandes cambios. Aun así ya existen experimentaciones tempranas, ejemplo de ello es el soporte para este tipo de comunicación en tiempo real que brindan los navegadores y Google Chrome, Mozilla Firefox y Opera Browser.
Se espera que la evolución de esta especificación se base en:
- La definición de un conjunto de protocolos que permitan la comunicación en tiempo real en los navegadores.
- Problemas de privacidad que surgen al exponer nuevas capacidades.
- Discusiones técnicas en la implementación de canales de datos
- Experiencias ganadas por experimentaciones tempranas
- Retroalimentación recibida de los usuarios
Mozilla no se ha quedado atrás, y en la versión de Firefox 18, ya está implementada la API mozGetUserMedia() que permite acceder a la webcam y al micrófono y la API mozRTCPeerConnection() que permite la conexión peer to peer, todo usando javascript. Para los que tengan webcam les dejo a continuación un ejemplo de acceder a la misma desde Firefox.
NOTA: Primero debemos acceder al about:config y poner en true las siguientes preferencias.
media.navigator.enabled
media.navigator.permission.disabled
<!DOCTYPE html>
<html>
<head>
<title>Probando WEBRtc</title>
</head>
<body>
<div id="main">
<br><br>
<div style="display: block;" id="startbuttons">
<input value="Video" onclick="startVideo();" type="button">
</div>
<div id="images">
<div id="content"></div>
<div id="frames"></div>
</div>
<div style="display: none;" id="stopbuttons">
<input value="Stop" onclick="stopMedia();" type="button">
</div>
</div>
<script type="application/javascript">
var video_status = false;
var video = document.createElement("video");
video.setAttribute("width", 300);
video.setAttribute("height", 300);
var video_status = false;
var start = document.getElementById("startbuttons");
var stop = document.getElementById("stopbuttons");
var content = document.getElementById("content");
var saved_stream = null;
var capturing = false;
function startVideo() {
video_status = true;
startMedia({video:true});
}
function stopMedia() {
if (video_status) {
video.mozSrcObject = null;
content.removeChild(video);
capturing = false;
video_status = false;
}
saved_stream = null;
stop.style.display = "none";
start.style.display = "block";
}
function startMedia(param) {
stop.style.display = "block";
start.style.display = "none";
try {
window.navigator.mozGetUserMedia(param, function(stream) {
if (video_status) {
content.appendChild(video);
video.mozSrcObject = stream;
video.play();
}
}, function(err) {
alert("Ocurrió un error al cargar el video.");
stopMedia();
});
} catch(e) {
alert("Ocurrió la siguiente excepción: "+ e);
stopMedia();
}
}
</script>
</body>
</html>





Este articulo esta muy bueno gracias , no sabia que ya est se estaba implementando de manera nativa en los buscadores y la verdad que constituye un paso de avance , solo quisiera de ser posible algun ejemplo de como usar esta funcion mozRTCPeerConnection() que permite la conexión peer to peer .
El ejemplo lo tengo, lo que pasa que no lo he podido probar porque se necesita de un servidor, y la aplicación que tengo para eso esta hecha en node.js y no se como correrla. si lo deseas te puedo mandar el ejemplo.
Si el ejemplo me gustaría probarlo además ya he estado probando ese servidor y se +- como funciona , por favor envíamela a mi correo de ser posible.
Si logras montarlo con un servidor, pudieras crear un tutorial para compartir con la comunidad y hasta montarlo y hacer una especie de consultas online
Mandamelo a mi también(ymleon) para ver si entre todos logramos algo.
Esta super tocao eso, tambien me gustaria que me lo mandaran a mi correo, para cacharrearlo… saludos. victor@otegr.co.cu
Gracias ,por haberme mandado este sitio.
Tengo una video conferencia de Node.js hecha por su creador Ryan Dahl para el que le pueda interesar, mi usuario es jlfalcon
Hola a mi me interesa,
Por favor si puedes compartirme la informacion a mi correo ejaiquel@gmail.com
Para la gente interna de la UCI miren esta conferencia.
https://10.12.120.250/ftp/Inform%c3%a1tica/Video%20Tutoriales/Node.js/Introduction%20to%20Node.js%20with%20Ryan%20Dahl(720p_H.264-AAC).mp4
Saludos
Mala mía me falto el .mp4 al final
https://10.12.120.250/ftp/Inform%C3%A1tica/Video%20Tutoriales/Node.js/Introduction%20to%20Node.js%20with%20Ryan%20Dahl(720p_H.264-AAC).mp4
Saludos
Saludos a mi también me gustaría que me lo enviaran a mi corre para poder conocer mejor el tema.