新闻中心

EEPW首页 > 消费电子 > 设计应用 > 基于i.MX27的网络音视频通信的实现

基于i.MX27的网络音视频通信的实现

作者:缐晓林 游向东 潘力 北京邮电大学信息与通信工程学院时间:2009-09-08来源:电子产品世界收藏

  

本文引用地址:http://www.eepw.com.cn/article/97894.htm

  是面向实时嵌入式系统的轻量级图形用户界面支持系统。目前,已成为跨操作系统的图形用户界面支持系统,可在Linux/uClinux、eCos、uC/OS-II、VxWorks等操作系统上运行。

  MiniGUI为实时嵌入式操作系统提供了完善的图形及图形用户界面支持。可移植性设计使得它不论在哪个硬件平台、哪种操作系统上运行,均能为上层应用程序提供一致的应用程序编程接口(API)。MiniGUI的技术优势:轻型、占用资源少,高性能、高可靠性,可配置,可伸缩性强,跨操作系统支持等。

  视传机的实现

  视传机的最主要功能包括:通过IP或者向服务器注册的ID号呼叫另一台接在网络上的设备,进行视频流实时双向收发(1帧-25帧/s),最高分辨率可达640×480(广播级图像质量/D1),可设置音频流格式,G.711/GSM/SPEEX,此功能适用于高网络带宽的应用环境。另外视传机还可以实现电影播放,音视频单向传输(远程监控),音视频录制播放,图片单双向收发,音视频邮件收发等功能。

  视传机实现这些功能基本原理就是用MiniGUI制作图形界面进行人机交互[1],用户通过键盘或者遥控器进行指令输入,MiniGUI接收用户指令,并传给操作系统(这里我们使用Linux 2.6.19),操作系统根据指令的不同进行不同的操作,例如若用户想进行视频呼叫,操作系统就将指令发给就在协议的基础上发起视频呼叫,根据对方不同的状态给出不同的响应,对方不在线、对方忙、对方正常应答等,在正常应答的情况下双方协商音频视频通信编解码方式,建立呼叫,进行音视频通信[2],然后任意一方挂机,退出,完成一次通信,期间还可以进行音视频录制等操作。再如若用户想进行电影播放,则操作系统会调出播放程序,播放用户指定的电影文件。

  视频流的流程如下:由摄像头(支持自带插针式和TV输出两种)采集图像数据,交给操作系统[3],操作系统根据用户需要,将视频数据进行本地显示、编码录制或者发送到对端,对端收到视频数据送入VPU单元进行解码,然后显示或者录制等。通话过程中音频流的流程为:通过mic采集音频数据,交给操作系统,操作系统将数据送给,Linphone进行一定格式的编码[4],然后发送到对端,对端再进行相应的解码,再将数据输出到音箱或者耳机。

  视传机主要软件Linphone的移植

  Linphone有很多个版本,可以通过www.linphone.org免费下载。我们这里使用带视频功能的linphone1.6.0版本,要将这个Linphone使用在开发板上,需要做3个方面的工作:添加H264硬件视频编解码器(使用的VPU单元进行视频编解码),修改程序使之与操作系统和其他应用程序进行通信,最后交叉编译Linphone至开发板。



评论


相关推荐

技术专区

关闭