Linux平台下WebRTC音视频获取(Javascript API)

转载 2013年12月05日 13:39:27

http://blog.csdn.net/temotemo/article/details/7520175

 

        Linux平台下WebRTC音视频获取(Javascript API)       

        分类:            WebRTC3179人阅读评论(1)收藏举报

目录(?)[+]

  1. 测试平台
  2. 操作系统Ubuntu 1104
  3. 一下载并安装WebKit库
  4. 二对于已经执行完步骤一的平台
  5. 三WebRTC 获取视频Video和音频VoiceJavascript API


测试平台:

操作系统:Ubuntu 11.04

一、下载并安装WebKit库

1、Linux Ubuntu 11.04或11.10版本
2、安装Ericsson Labs public GPG key
命令:
  1. wget -O- --quiet https://labs.ericsson.com/files/gpg/public.key | sudo apt-key add - 
3、添加Ericsson Labs APT repository
命令:
  1. sudo add-apt-repository http://files.labs.ericsson.net/ubuntu 
4、更新
  1. sudo apt-get update 
5、更新Ericsson Labs修改的libwebkitgtk包
命令:
  1. sudo apt-get -y install libwebkitgtk-1.0-0 libwebkitgtk-3.0-0 
6、安装Epiphany浏览器
命令:
  1. sudo apt-get install epiphany-browser 


二、对于已经执行完步骤一的平台

只需更新操作,获取最新的库:
命令:
  1. sudo apt-get update 
  1. sudo apt-get install libwebkitgtk-1.0-0 libwebkitgtk-3.0-0 

三、WebRTC 获取视频(Video)和音频(Voice)Javascript API

最终标准的WebRTC的JavaScript API由W3C标准化确定,可以查看目前还是草拟版本的WebRTC 1.0标准说明,地址是:http://dev.w3.org/2011/webrtc/editor/webrtc.html

1、getUserMedia()函数

getUserMedia()函数是标准的WebRTC的JS API,用来获取用户到摄像头或麦克风多媒体设备;
但是由于现在WebRTC还没有完全整合到Chrome中去,目前还在测试中,所以在webkit库中测试接口名为webkitGetUserMedia(),即是加了一个webkit的前缀;
js代码例子:
  1. function getAudioAndVideoContent() { 
  2.    navigator.webkitGetUserMedia('audio, video', function(stream) { 
  3.       // Do something with the stream. 
  4.    }); 

说明:
以上函数getAudioAndVideoContent()实现访问用户的摄像头和麦克风设备;通过调用webkitGetUserMedia()函数实现,webkitGetUserMedia()的第一个参数表示的是访问用户多媒体设备,需要指定是访问视频设备还是音频设备:
参数为'audio,video'时表示既访问音频设备,也访问视频设备
参数为'audio'时,表示只访问音频设备;
参数为'video'时,表示只访问视频设备;

2、完整的例子
  1. <!DOCTYPE html> 
  2. <html> 
  3.   <head> 
  4.     <title>getUserMedia</title> 
  5.     <input type="button" value="start" onclick="getAudioAndVideoContent()" id="startBtn"> 
  6.     <script> 
  7.        var localStream; 
  8.  
  9.        var startBtn = document.getElementById('startBtn'); 
  10.        //访问用户多媒体设备 
  11.        function getAudioAndVideoContent(){ 
  12.         navigator.webkitGetUserMedia('audio,video',gotStream); 
  13.         startBtn.disabled = true
  14.        } 
  15.  
  16.        function gotStream(stream){ 
  17.        localStream = stream
  18.            //绑定多媒体流到视频video标签 
  19.        document.getElementById("liveStream").src = webkitURL.createObjectURL(localStream); 
  20.        stream.onended = function(){ 
  21.        startBtn.disabled = false
  22.     } 
  23.        } 
  24.     </script> 
  25.   </head> 
  26.   <body> 
  27.     <video id="liveStream" autoplay audio=muted></video> 
  28.   </body> 
  29. </html> 

说明:
<video>标签用来显示视频区域,autoplay表示自动播放,audio=muted表示静音模式。这些都是HTML5的一些特性,也是Google的野心。
webkitURL.createObjectURL(localStream)将多媒体流绑定到Video标签,同样,标准API时是URL.createObjectURL(localStream)的

效果图:

访问本地摄像头和音频设备,询问用户选择哪个或者那类设备进行多媒体采集信息,我这里都勾选和pci...**麦克风和Lenovo EasyCamera摄像头;
然后就会显示如下所示的本地摄像头视频:



/===============================================================================
欢迎指出错误之处:zengxijin@qq.com
===============================================================================/


 

相关文章推荐

WebRTC在浏览器中的演示

WebRTC在chrome浏览器里演示的例子很多, WebRTC的源码里就有,但是在Firefox浏览器里,例子不能使用, 网上的资料说要把 media.peerconnection.enabled ...

最简单的WebRTC示例

网上关于WebRTC的示例大多代码较多,以下是参考那些代码简化的一个WebRTC一对一的示例,在chrome 37下测试通过。其中iceServer可省略,没有iceServer时在同一个局域网下仍可...
  • gp_leo
  • gp_leo
  • 2015年04月23日 17:11
  • 1798

webrtc信令交互流程

WebRTC是HTML5支持的重要特性之一,有了它,不再需要借助音视频相关的客户端,直接通过浏览器的Web页面就可以实现音视频对聊功能。而且WebRTC项目是开源的,我们可以借助WebRTC源码快速构...
  • xyblog
  • xyblog
  • 2015年11月09日 14:29
  • 3998

Linux平台下WebRTC音视频获取(Javascript API)

http://blog.csdn.net/temotemo/article/details/7520175 目录(?)[-] 测试平台操作系统Ubuntu 1104一下载并安装WebKit...
  • dssxk
  • dssxk
  • 2016年12月26日 09:57
  • 388

Linux平台下WebRTC音视频获取(Javascript API)

测试平台: 操作系统:Ubuntu 11.04 一、下载并安装WebKit库 1、Linux Ubuntu 11.04或11.10版本 2、安装Ericsson Labs pu...

Linux平台音视频开发

由于使用习惯,Linux在中国受欢迎程度远不如windows,相应的软件也比较少,尤其是音视频类的软件,但是,这并不代表就完全没有。下面介绍一款强大的音视频即时通讯平台给大家,它就是——Anychat...

webrtc中base库在linux平台的编译

  • 2017年11月14日 19:42
  • 1.77MB
  • 下载

arm-linux平台的视频监控程序

  • 2011年03月05日 19:07
  • 558KB
  • 下载

调用API在Android平台下实现音视频通信

音视频通信 作为独立开发者或想缩短音视频开发周期的公司来说,想要在Android平台下实现音视频通信,最快捷的方法是寻找开源项目或调用其他公司API。之所以这么说是因为音视频通信技术涉及到底层音...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux平台下WebRTC音视频获取(Javascript API)
举报原因:
原因补充:

(最多只允许输入30个字)