改善嵌入式LINUX实时性能的方法研究

2024-07-08

改善嵌入式LINUX实时性能的方法研究(精选3篇)

1.改善嵌入式LINUX实时性能的方法研究 篇一

基于ARM的嵌入式Linux平台研究

摘要: 介绍基于ARM的嵌入式Linux系统平台的系统硬件系统构架,软件系统的组成和主要功能模块的实现。由于本系统采用的S3C2440 ARM9芯片具有较高性能和丰富的外围接口资源,因此具有控制能力强,硬件结构简单,方便功能扩展等优点,在控制系统中有较高的实用价值。

关键词: 嵌入式系统;Linux;S3C2440

中图分类号:TP3文献标识码:A文章编号:1671-7597(2010)0610166-01

0 引言

随着计算机技术的发展,嵌入式系统已成为计算机领域的一个重要组成部分。由于嵌入式系统应用的场合日趋复杂,只使用嵌入式控制器控制将难以满足要求,所以嵌入式操作系统得到了飞速的发展。

本文拟采用RISC体系结构的ARM处理器扩展外设及存储器等作为硬件平台;采用功能强大,易于移植的嵌入式Linux作为系统软件平台便于有效管理内存、实现多任务编程,是对市面上较多以8位、16位机为主控CPU的控制器的发展进步。嵌入式Linux系统的特点

Linux是一套类Unix的操作系统,具有Unix系统的程序接口和操作方式,也继承了Unix稳定和高效率的特点。目前内核已发展到2.6版本。

Linux内核遵循开放系统互连(OSI:OpenSystem Interconnect)国际标准,凡遵循该标准开发的硬件和软件,都能彼此兼容,方便程序移植到其它系统平台。其次,Linux具有良好的用户界面。传统用户界面是基于文本的命令行界面,有很强的程序设计能力,系统调用是给用户提供编程时使用的界面,用户可以在编程时直接使用系统提供的系统调用命令。完善的内置网络是Linux的一大特点,Linux在通信和网络功能方面优于其他操作系统,为用户提供了完善的、强大的网络功能,这一点也是继承了UNIX的优良传统。嵌入式Linux系统硬件架构及开发平台

本文采用的硬件平台是基于ARM9构架的嵌入式芯片S3C2440A,主频533MHz,支持Linux,Wince等操作系统。此外,外接了64M RAM,64M Flash,以太网控制芯片CS8900A。外围接口配有以太网口、RS232,USB等以便为建立交叉开发环境做好通讯、调试等方面的准备;配置LCD,触摸屏等以便实现人机交互系统。

硬件设计分为系统电路和功能电路两部分,系统电路为S3C2440A运行操作系统提供最小系统;功能电路提供各种接口实现控制器功能需求。

系统电路主要包括:电源电路、复位电路、时钟电路、存储器扩展和JTAG接口。为了流畅运行操作系统,本文在存储器扩展部分选用2M NOR Flash存储启动代码和操作系统,64M NAND Flash存储文件系统和应用程序代码。前者选用AMD公司的AM29LV160DB(1Mb×16),后者用三星的K9F1208U0A(64Mb×8)。

功能电路主要包括:液晶、触摸屏电路、以太网接口电路、USB Host

接口电路等。主要提供人机交互系统,网络链接,usb设备链接的功能。嵌入式Linux系统软件的设计

在开发系统前,必须安装Linux操作系统。然后在宿主机即PC机上建立交叉开发环境,安装交叉编译器cross_2.95.3.tar.bz2。然后编译ARM Linux 内核,在Linux的终端下,先进入ARM Linux内核源代码的目录下,执行make menuconfig命令就会出来内核配置主界面。在配置内核的时候可以静态的把CS8900A芯片、LCD、触摸屏以及U盘支持的驱动加入内核。保存对内核的设置后退出,然后在命令行下输入:

#make dep 建立整个内核程序间的依赖关系

#make zImage编译内核为zImage模式

编译完成后,在arch/arm/boot 目录下将生成ARM Linux 内核映像文件zImage。这就是要下载到硬件系统的内核映像文件。此内核包含了上述的以太网、LCD等模块,为下面设计提供了必需的系统软件功能。上位机软件的具体实现功能:通过以太网口可以实现远程控制,LCD、触摸屏提供人机交互界面,通过USB接口实现U盘读取数据等。

在应用程序开发上,系统的软件模块主要实现U盘读写、键盘和触摸屏控制、液晶屏图形驱动显示、断电数据保护、内存管理和串口通讯,以太网通讯等。操作系统的移植以及扩展,辅助开发平台上已有完备的软件平台,无须做过多修改就可移植到我们的平台上。可以将各功能模块编制成独立的任务,通过操作系统提供的API,有效的调度任务,实现任务之间的同步与通信,更好的完成工作。以下便是各功能的简单介绍和具体实现过程。网络系统的设计

TCP和UDP是TCP/IP协议中的两个传输层协议,它们使用IP路由功能把数据送到目的地。TCP提供的是面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输,对数据不进行重传和确认。当要求传输的数据完整、可控、可靠时,应该选择TCP协议。当强调传输的实时性而不是完整性时,例如传输音视频信号时,应选择UDP协议。

CS8900A是CIRRUS LOGIC公司生产的16位以太网控制器,芯片内嵌片内RAM,10BASE-T收发滤波器,直接ISA总线接口。该芯片的突出特点是使用灵活,其物理层接口、数据传输模式和工作模式等都能根据需要而动态调整,通过内部寄存器的设置来适应不同的应用环境。发送过程中,首先添加以太网帧头(包括先导字段和帧开始标志),然后生成CRC校验码,最后将此数据帧发送到以太网上。接受时,他将从以太网收到的数据帧在经过解码、去掉帧头和地址检验等步骤后缓存在片内。通过CRC校验后,它会根据初始化配置情况,通知主机CS8900A收到了数据帧,最后用上面介绍的某种传输模式传到主机的存储区中。液晶显示系统设计

本设计采用Linux为显示设备提供的帧缓冲(framebuffer)接口,把显存抽象后的一种设备,他允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作。这种操作是抽象的,统一的。用户不必关心物理显存的位置、换页机制等等具体细节。这些都是由Framebuffer设备驱动来完成的。结束语

解决方案采用先进的基于ARM的32位先进处理器,并移植扩展好的嵌入式实时操作系统构成我们的开发平台,提出了一种新的思路,做出了大胆的尝试,相信随着工作的进一步深化、进展,定能取得另人满意的控制效果。

参考文献:

[1]孙天泽、袁文菊,嵌入式设计及Linux驱动开发指南-基于ARM9处理器(第2版)[M].北京:电子工业出版社,2006.[2]杨宗源、黄海涛(译),Unix/Linux编程实践教程[M].北京:清华大学出版社,2008年5月.

2.改善嵌入式LINUX实时性能的方法研究 篇二

实时系统是指系统能够在限定的响应时间内提供所需水平的服务。一般的说,实时系统是能及时响应外部发生的随机事件,并以足够快的速度完成对事件处理的计算机应用系统。一个实时系统计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统出错。实时系统有反应式和嵌入式两种类型。反应式实时系统会与环境发生连续的互作用,而嵌入式实时系统主要用于控制大型系统中安装的特殊硬件。

1 衡量实时性的指标

一般来讲,性能是一个软件系统或组件对时间要求满足程度的一种指示。这里的时间指标可以用响应时间和吞吐量来衡量,该时间值是指响应某种要求所需的时间,而吞吐量用以指示系统在特定时间间隔内能够处理的请求数量。实时操作系统与一般商用多任务操作系统如Unix、Windows有共同的特点,也有不同的特点。对于商用多任务操作系统,其目的是方便用户管理计算机资源,追求吞吐量;而实时操作系统要求在限定的响应时间内提供所需水平的服务,追求实时性、可确定性、可靠性。

评价一个实时操作系统一般可以从任务调度、内存管理、任务通讯、内存开销、任务切换时间、最大中断禁止时间等几个方面来衡量。其中最大中断禁止时间和任务切换时间是评价一个实时操作系统实时性的最重要的两个技术指标。

2 标准Linux制约实时性的因素

由于Linux系统本身是一个面向桌面的系统,其主要设计标准的是方便用户管理计算机资源,追求系统资源最大利用率,而不是有确定可预测的实时性能。所以将它应用于实时应用中时存在响应时间不可预测、时钟粒度粗糙等问题。

2.1 响应时间

响应时间是指从系统接到即时处理程序的中断(interrupt)请求,到开始执行该处理程序间的时间差,如图1所示。

影响系统响应时间的因素包括:中断延迟(interrupt Latency)、中断服务例程运行时间(Interrupt handler duration)、调度延迟(Scheduler Latency)和调度程序运行时间(Scheduling duration)。

2.1.1 中断延迟

中断延迟即中断响应时间,是指从产生中断请求到相应中断服务程序的第一条指令被执行之间的这段时间。由于中断具备有优先级而且可以嵌套产生,因此可以测知优先级最高的中断在执行时的延迟时间。然而产生中断延迟的原因除了处理器响应时间外,更重要的是操作系统往往会大大增加中断被延迟的时间。在操作系统运行过程中,存在着一些关键的操作,这些操作在执行时,操作系统会禁止在其间插入任何中断。因此如果一个中断请求在操作系统禁止中断的这段时间里产生,那么对它的处理就会始终保持在挂起状态,直到操作系统重新允许中断插入。最终,中断延迟在最坏情况下的数值是和操作系统关键操作中的指令序列在中断请求产生后继续执行的时间紧密相关,实时系统就是要确保系统中的关键事件能够在限定的时间段内被处理。

2.1.2 调度延迟

较长时间的调度延迟有许多原因。其一是驱动在入口处或中断服务例程进行了许多操作;其二是由于缺乏调度点,内核长时间执行一部分代码,这些都导致了内核长时间内没有得到机会去进行调度运算。简单的解决方法是使调度程序运行得更加频繁。但实际上这个问题并不那么简单。首先,如果调度程序运行过于频繁,将引发频繁的进程切换,导致过多的CPU和内存资源的浪费;其次会影响中断服务时机的选择和服务的质量,再次影响进程IPC。引发过多的资源协调问题,从而导致系统性能的降低。因此让调度器保持一个有规律的运行节拍,但是又不能过于频繁的运行很重要。正确的解决方法是,让调度器在需要的时候尽快运行,例如:中断发生以后,需要重新调度,从就绪队列中选择下一个进程。

2.2 时钟问题

操作系统环境建立之后,任务的执行和中止在很多情况下都是由时钟直接或间接唤起的,时钟也是操作系统活动的基准。为了提高系统的平均吞吐率,Linux 2.6将时钟中断的最小间隔设置为1毫秒,虽然相比2.4内核的10毫秒有了很大的提高,但是实时应用一般都需要微秒级的响应精度,1ms的时钟粒度显然不能满足实时应用的需求。如果要把时钟的间隔缩小以满足周期性的实时任务的需要,但是Linux的进程切换比较费时,时钟中断越频繁,而花在中断处理上的时间就越多,系统的大部分时间是调用进程调度程序进行进程调度而不能进行正常的处理。

3 嵌入式Linux实时化改进措施

3.1 增加kernel可抢占性。

一般内核的不可抢占性使实时任务无法提供任务的调度权,可以通过修改源码,将系统调用的过程细分,缩小禁止中断、内核加锁的范围。增加调度器运行的时机。

3.2 对中断进行软件模拟

采用软件对中断模拟,在Linux内核下增加一个软件层,来控制中断和处理器关键操作。对cli(关中断)和sti(开中断)命令进行封装,在调用cli或者sti时,只是更改中断的标记位,并不真正的去开、关中断。例如:RT-Linux,由两个子内核构成,一个用于Linux环境,一个用于实时环境,可以有效改善系统中断延迟时间的问题。

3.3 采用高精度定时器

一般内核无法提供高精度时钟,也即无法高精度分辨实时任务的到来。采用高精度定时器,为系统提供更多的剥夺点。通过系统硬件提供的高精度时钟,可以解决时钟粒度过大的问题。

3.4 改进调度算法

虽然Linux进程调度也支持实时优先级,但缺乏有效的实时任务的调度机制和调度算法,无法满足HRT、QoS等的任务需求,可以通过向调度器增加hook或改造调度器来改善。目前有很多新颖的操作系统调度框架和调度算法都有Linux实现,比如RED-Linux所定义的一个通用的实时调度框架;QLinux所采用的分层式的CPU调度框架,及新颖的调度算法如H-SFQ,以及Cello磁盘调度算法等;SILK所使用的将对一个包的网络处理抽象成PATH,然后在PATH之间进行调度。

3.5 采用微内核结构

微内核结构的设计有很大的好处。调试用户进程要比调试内核进程要容易许多,用户进程在独立的地址空间运行,不同模块间的内存管理错误不会互相影响,驱动程序可以充分利用内核提供的多线程机制。另一好处是系统的可扩展性,既可以小到100K,可以放入ROM,也可以大到足以适应多机系统的需要。移植及维护微内核结构的系统都很方便。切换上下文速度快,由于内核很小,可以方便的计算出最差的时间参数,如中断响应时间。微内核的一个弱点是性能不好,因为内核需要大量的进程通信和上下文切换。只能提供简单的服务,相同的任务微内核系统要调用较多的系统调用。

4 结论

随着应用的复杂化和硬件的发展,一个嵌入式控制器系统可能要同时控制和监视很多外设,要求有实时响应,有很多处理任务,各个任务之间有多种信息传递,因此嵌入式操作系统在嵌入式系统中将会发挥更大的作用,实时性是绝大多数嵌入式系统的需求,研究嵌入式操作系统内核的实时化技术及其在典型嵌入式实时系统中的应用技术具有重要的意义。Linux以其诸多的优势不但在桌面操作系统中获得了巨大的成功,通过对其实时性能等方面的改造,必将在嵌入式领域发挥巨大的作用。

摘要:本文主要介绍了嵌入式实时系统的主要特点和实时系统实时性的主要指标,并结合Linux技术分析了标准Linux系统的应用于嵌入式系统的局限性,在此基础上进一步提出了嵌入式Linux实时化改进措施。

关键词:Linux,嵌入式实时系统,实时性,实时化改进

参考文献

[1]邹思轶.嵌入式Linux设计与应用.清华大学出版社,2002.

[2]Daniel P.Bovet,Marco Cesati.深入理解LINUX内核.第二版[M].中国电力出版社,2004.

[3]李小群,赵慧斌.Linux实时调度方案的设计与实现[J].计算机研究与发展,2003,5.

3.改善嵌入式LINUX实时性能的方法研究 篇三

计算机网络技术、通信技术、数字视频压缩编码技术日益成熟,使基于计算机的多媒体视频监控系统成为可能。这种系统一般采用的结构为:在远端监控现场,由若干个摄像机以及各种数据处理和检测设备组成监控终端,然后通过各自的线路连接到客户端上,监控客户端一般为PC机或是工业机箱组成的显示设备。这种结构的监控系统比传统模拟视频监控系统的性能有了很大的提高,但同样存在一些问题,如系统安装十分复杂、功耗和成本较高且系统不是很稳定。为此,本文设计一种以ARM11为核心芯片,采用新一代视频编码标准H.264进行编码,通过网络传输的视频监控系统,充分利用了S3C6410微处理器和内部集成的多媒体编码器(MFC)。

1 系统总体设计

网络视频监控系统分为服务器监控终端和客户监控中心两部分。嵌入式服务器监控终端基于三星公司的高性能S3C6410微处理器,采用开源的Linux操作系统,在监控现场通过摄像机采集图像,通过USB接口将采集的图像回传到监控中心进行处理。当客户端发出监控请求时,监控中心通过以太网将视频图像传送给客户端。系统的总体设计如图1所示。

2 硬件结构

本文采用广州友善之臂公司的Tiny6410开发板,Tiny6410是一款以ARM11(三星S3C6410)作为主处理器的嵌入式核心板,该CPU基于ARM11-76JZF-S核设计,内部集成了强大的多媒体处理单元,支持MPEG-4,H.264等格式的视频文件硬件编解码,可同时输出至 LCD 和 TV 显示。它还带有3D图形硬件加速器,可以实现OpenGL ES 1.1&2.0加速渲染。另外,它还支持2D图形图像的平滑缩放、翻转等操作[1]。系统硬件架构如图2所示。

3 软件平台

系统软件平台以Linux操作系统为基础。首先在宿主机上建立交叉编译环境,并安装交叉编译器arm-Linux-gcc。其次完成U-boot以及Linux2.6.33内核的移植和编译,构建基于busybox1.13.3的根文件系统。由于嵌入式服务器资源的局限性,包括内存大小、CPU处理速度等,因此本文在设计过程中对内核进行了裁剪,在提高系统性能的同时减少了系统资源的占用。并且充分利用多线程的设计思想,当客户端发出监控请求的时候,服务器端会为每个发送请求的客户端分别分配一个线程,和每个客户端进行独立通信,做到并行处理。当客户端和服务器端通信完成后,立刻关闭线程,回收资源。

3.1 嵌入式Linux下的视频采集

V4L2是Linux内核提供给视频设备程序的标准接口,该API采用分层模式对应用程序编程以及视频设备的驱动提供一套完备的接口规范[2]。

应用程序读取利用V4L2采集到的视频数据的方式通常有两种,一种是通过调用read( )函数直接读取数据,另一种是利用mmap( )函数。mmap( )函数可以让不同进程映射同一文件,因此实现了多个进程间的内存共享。由于采用内存映射时,不通过内核缓冲区而直接将内存映射到用户应用程序的地址空间,通常内存的访问速度要大大高于磁盘访问速度,因此这种方式提高了I/O访问速度。同时不同进程以访问内存的方式对文件进行访问,不用调用文件操作,只需要使用指针函数,因此提高了效率。所以本文在读取数据时采用了mmap方式。

在网络视频监控中,视频传输的实时性是一个重要的问题[3]。由于嵌入式系统资源的限制,如果采集端采集视频数据时消耗系统的资源较大,就会造成数据编码端等候的现象,进而引起网络传输的延时。为解决这个问题,本文在设计应用程序时,分别将视频数据的采集和编码放到两个独立的线程中,实现采集和编码的并行处理。视频采集和编码的流程图如图3所示。

系统具体实现过程和主要函数如下:

1) 调用文件系统的Open接口打开设备:fd=open(videodevice,O_RDWR)。其中,fd是设备打开后返回的文件描述符。

2) 打开视频设备后,对V4L2设备参数进行初始化设置,如视频图像格式、采集控制参数、接口类型等。具体方法为先给结构体变量struct v4l2_format中的fmt分量赋新值,再利用ioctl函数完成采集属性的设置。本文的视频采集设备的接口类型为V4L2_BUF_TYPE_VIDEO_CAPTURE,视频存储类型为YUYV格式。采集属性用如下方法设置:ioctl(fd, VIDIOC_S_FMT, &fmt)。

在嵌入式Linux中,对设备的I/O通道进行管理时一般使用ioctl函数来实现,其原型为int ioctl (int fd, int request, ...)。其中,fd代表文件的描述符,request代表具体控制命令,省略号是一些补充参数,随request不同而不同。

3) 利用pthread_create(&encode, 0, &encode_thread, NULL)创建视频编码线程编码。

4) 调用ioctl函数,分配一定数量的设备缓存,并获取这些缓存的地址:ioctl(fd,VIDIOC_REQBUFS, & rb); ioctl(fd, VIDIOC_QUERYBUF, & buf)。然后调用mmap函数转换成应用程序中的绝对地址。将申请到的帧缓冲全部放入内存队列,用于存放采集的视频数据ioctl(fd, VIDIOC_QBUF, &buf)。

5) 在设备缓存加入等待输入队列值后,利用ioctl函数使能视频采集设备:ioctl(fd,VIDIOC_STREAMON,&type);驱动将采集到的一帧数据存入输入队列第一个帧缓冲区,然后将该帧缓冲区移至输出队列,应用程序从输出队列中取出已含有视频数据的帧缓冲区。处理完缓冲区的数据后,应用程序将其重新排入输入队列,这样就实现了循环数据采集。

6) 调用带VIDIOC_STREAMOFF命令参数的ioctl函数关闭视频设备:ioctl(fd, VIDIOC_STREAMOFF, &type) 。

3.2 H.264视频编码

前文已经利用V4L2接口将视频数据采集到缓冲区,视频编码模块将调用MFC驱动将YUYV视频数据进行H.264编码,MFC编码[4]的流程图如图4所示。

系统实现时主要用到的函数有:

1) 调用文件系统的Open接口打开设备文件:m_fd=open(MFC_DEV_NAME,O_RDWR|O_NDELAY)。

2) 调用ioctl函数获取MFC输入缓冲区地址:ioctl(m_fd,IOCTL_MFC_GET_FRAM_BUF_ADDR,&get_buf_addr)。获得的地址是get_buf_addr结构体内的指针所指地址。

3) 调用ioctl函数获取MFC输出缓冲区地址:ioctl(m_fd,IOCTL_MFC_GET_LINE_BUF_ADDR,&get_buf_addr)。

4) 读取采集到的YUYV格式的数据作为MFC的输入:read(cam_fp,in_buf,(out_width*out_height*3/2))。

5) 最后,通过控制MFC对输入缓冲区的视频数据进行H.264编码,并将编码后的视频数据放入输出缓冲区:ioctl(m_fd,IOCTL_MFC_H264_ENC_EXE,&enc_exe)。

3.3 网络视频传输

实现H.264流媒体网络传输的方法有很多,如果采用TCP协议,则需要开销较多的系统资源,而如果使用UDP协议则会存在差错、延时抖动等一系列问题[5]。因此本文将H.264数据流分别封装进流媒体RTP报头、UDP报头和IP报头。如果收到来自接收端的发送请求,IP数据包将通过网络向接收端发送压缩编码后的H.264数据,而接收端将按照RTP数据传输协议将压缩编码后的数据装入RTP报文的数据负载段。RTP利用实时传输控制协议RTCP和RTP进行拥塞控制服务以及流量控制[6]。

本文选用开源的流媒体服务器Darwin Streaming Server,Darwin流媒体服务器主要分为两大部分:文件处理系统和服务器核心[7],系统框架结构如图5所示。

文件处理系统主要负责将视频通过RTSP和RTP协议流化出去。整个网络和协议都由服务器核心负责处理,服务器核心主要由RTSP子系统、RTP子系统以及公共服务子系统组成。其中,RTSP子系统主要负责解析和处理来自RTSP的请求;RTP子系统主要负责将数据包发送出去,并通过来自RTCP子系统的反馈信息对传输服务质量进行控制;公共服务系统负责服务器核心的启动与关闭以及初始化相关参数等,同时公共服务系统为跨平台多线程以及module机制、事件机制等提供支持服务[8]。

4 系统测试及分析

4.1 丢帧率测试

在网络视频监控中,丢帧率是衡量视频质量的重要参数。本系统在测试时,服务器端发送5 000帧视频数据,分别统计了客户端接收到的帧数和帧率(单位为f/s),如表1所示。

通过上述数据可以看出,对于720×480格式的视频数据,客户端解码显示能达到26 f/s左右,且丢帧率只有0.2%左右,显示非常流畅,达到预期的效果。

4.2 视频传输延时测试

延时问题是网络视频监控系统中的关键问题,能否解决好延时问题关系到最终产品性能的优劣。在江苏科技大学某实验室网络内传输测试数据如表2所示。

由表2可知,由于本文采用多线程编程等方法,有效降低了网络传输的延迟。

5 结束语

本文设计一种以ARM11为核心芯片,采用新一代视频编码标准H.264进行编码的网络实时监控系统。经测试,该系统能实时传输高清视频画面,且具有开发成本低、体积小、功耗低、使用方便、功能可扩展等特点,可用于学校、家居以及银行等多种领域,具有较好的市场前景。

摘要:选用ARM11(S3C6410)处理器为硬件平台,嵌入式Linux操作系统为软件平台,H.264为视频压缩算法,设计并实现了一种实时的网络视频传输系统。提出了系统设计的总体方案,详细介绍了系统软硬件平台的设计流程,最后对系统进行了测试。

关键词:ARM11,网络视频监控,H.264,嵌入式Linux

参考文献

[1]广州友善之臂计算机科技有限公司.Tiny 6410用户手册[EB/OL].[2011-02-25].http://www.arm9.net/tiny6410.asp.

[2]SCHINEK M H.Video for Linux Two API Specification[EB/OL].[2011-02-25].http://v4l2spec.bytesex.org/v4l2spec/v4l2.pdf.

[3]尹超超,龙昭华,谢显中.终端的研究与实现[J].电视技术,2011,35(3):53-56.

[4]李岸,许雪梅,郭巧云,等.基于ARM11的视频实时传输系统[J].计算机系统应用,2010,19(11):15-18.

[5]刘杰.H.264编解码算法在网络视频传输中的应用[D].西安:西安电子科技大学,2010.

[6]于雪莲,陈钱,顾国华.基于i.MX27的H.264网络视频监控系统设计[J].电视技术,2009,33(5):119-121.

[7]黄拔峰,钟明,杨传钧,等.Darwin Streaming server的研究与应用[J].计算机工程,2004,30(19):134-135.

上一篇:《中学生不可不知的地理常识》读书笔记下一篇:初三亲情叙事日记500字