文档详情

嵌入式Linux开源软件移植与应用.ppt

发布:2025-03-04约2.11万字共10页下载文档
文本预览下载声明

2,执行configure命令将下载的压缩包解压。进入解压后的目录,执行configure命令,并附加一些选项进行相关配置3,执行make命令这一步主要是编译生成可执行程序mplayer。4,修改驱动源代码该嵌入式ARM开发板的音频芯片使用的是菲利普uda1341,该芯片所使用的驱动是MIZI公司拥有版权的Linuxuda1341音频驱动,这个驱动基本上符合了OSS的规范。不过当使用到多段DMA音频数据传输时,因为DMA缓冲的建立发生在第一次调用write()函数将音频数据传送到设备描述符的时候,此时缓冲尚未建立;然而OSS驱动的调用者通常要在打开音频设备描述时候,就期望获取DMA缓冲的信息,因而容易返回缓冲长度为0的结果,导致之后除零异常发生。此时需要修改源代码,使程序能够正常运行。如果不更改声卡驱动程序,生成的mplayer程序仍旧可以执行,但是需要加上-nosound选项。之后播放的影片除了没有声音之外,运行会非常流畅。但是如果去除nosound参数就会报错signal?8。修改完驱动后,必须重新编译内核,然后烧写内核到开发板运行。第四节播放器Mplayer的移植——二、Mplayer在ARM平台上的移植ffmpeg简介ffmpeg在ARM上的移植 ffmpeg命令应用实例ffmpeg中几个重要的数据结构ffmpeg应用开发内容:第五节ffmpeg应用ffmpeg是一个开源、功能强大的多媒体处理软件,可以实现对音频流、视频流的录制和转换。如可以转换视频文件的格式,可以截取视频流中的某一画面等。它支持MPEG、DivX、MPEG4、AC3、DV等40多种编码和AVI、MPEG、OGG、Matroska、ASF等90多种解码。很多的开源播放器,如TCPMP、VLC、Mplayer等都用到了ffmpeg。尽管ffmpeg是在Linux环境下开发的,但是它不局限于Linux操作系统,能够运行于很多平台,包括Windows系统。ffmpeg主目录下主要有libavcodec、libavformat和libavutil等子目录。其中libavcodec是一个包含了所有ffmpeg音视频编解码器的库,libavformat是一个包含了所有的普通音视频格式的解析器和产生器的库,libavutil用于存放内存操作等辅助性模块。ffmpeg编译完成后会在主目录下产生三个可执行文件:ffmpeg、ffserver和ffplay。其中,ffmpeg是视频文件转换命令行工具;ffserver是基于HTTP用于实时广播的多媒体服务器;ffplay是用SDL和ffmpeg库开发的一个简单的媒体播放器。第五节ffmpeg应用——一、ffmpeg简介到http:///下载ffmpeg源码包,我们选择的版本。解压该源码包,进入源码主目录,可以看到其包含的内容ffmpeg在ARM平台上的移植遵循GNU的AUTOCONF和AUTOMAKE产生程序的安装步骤:安装并配置好交叉编译器及其环境,进入源码目录,执行./configure命令,检查系统的配置情况并生成Makefile文件。执行make命令,编译产生可执行文件。执行makeinstall命令,将编译生成的文件安装到对应的目录。下载可执行文件到目标板上运行并测试。第五节ffmpeg应用——二、ffmpeg在ARM上的移植ffmpeg[[options][-iinput_file]]...{[options]output_file}其一般都要指定一个输入文件和一个输出文件:输入文件是待处理的文件,用-i参数指定;输出文件则是处理后的文件,参数说明如何处理。下面用实例加以说明。ffmpeg命令的使用方法如下:ffmpeg-itest.asf-y-fimage2-t0.001-s640x480test.jpg截取一张640x480尺寸大小的,格式为jpg的图片ffmpeg-itest.asf-vframes30-y-fgiftest.gif把视频的前30帧转换成一个gif动画ffmpeg-itest.avi-y-fimage2-ss8-t0.001-s350x240test.jpg第五节ffmpeg应用——三、ffmpeg命令应用实例截取指定时间的缩微图转码解密的VOBffmpeg-isnatch_1.vob-favi-vcodecmpeg4-b800-g300-bf2-acodec

显示全部
相似文档