• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > ffmpeg的快速音视频开发方法

ffmpeg的快速音视频开发方法

录入:edatop.com     点击:

在DSP平台上移植音视频编解码算法通常分为3个阶段: 第1个阶段产生并评估C代码;第2个阶段优化C代码;第3个阶段进行汇编优化[1]。整个过程比较耗时,工作量巨大。为减小移植工作量,可引入ffmpeg音视频开发包,在开发包基础上进行开发可以免去第一阶段工作,并减少部分第二阶段的工作。ffmpeg是一个优秀的音视频解决方案,在此框架下可以方便、快速地进行进一步的开发。在嵌入式硬件平台和嵌入Linux环境下,本文搭建了一种基于ffmpeg框架的音视频编解码软件开发平台,可供算法改进、性能测试,使得视频编解码算法的优化改进得以在一个高起点上快速进行。本文分别介绍了平台搭建步骤(包括UBoot、Linux、ffmpeg的移植)和基于ffmpeg开发的要点。

1 ffmpeg简介

ffmpeg是一个集录制、转换、音/视频编解码功能为一体的、完整的开源解决方案。ffmpeg的开发基于Linux操作系统,也可在大多数操作系统中编译和使用。ffmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多种编码,AVI、MPEG、OGG、Matroska、ASF等90多种解码;TCPMP、VLC、MPlayer等开源播放器都用到了ffmpeg。它能够快速实现音视频格式转换,也能从音视频源获取数据并将其保存。在捕获视频数据时可以设置捕获设备和视频输入标准(包括NTSC、PAL 及SECAM),对于DV1394还可设置视频捕获通道。ffmpeg 使用video4linux 架构的视频源,以及其他任何开源系统的音频源。

2 建立嵌入式Linux开发平台

2.1 bootloader移植

UBoot是一个著名的开放源码项目,支持ARM、PowerPC等多种架构的处理器,也支持Linux、NetBSD 和VxWorks 等多种操作系统。UBoot是用于初始化目标板硬件,为嵌入式操作系统提供目标板硬件配置信息,完成嵌入式操作系统装载、引导和运行的固件程序。

本嵌入式平台硬件环境的CPU为S3C2410,板上用来启动的NOR Flash为Intel公司的E28F320J3。移植工作的板极配置主要是配置好NOR Flash的驱动,用于存放UBoot镜像文件,配置网卡芯片是为了可以使用网络加载Linux内核镜像文件。

本平台使用u

上一篇:MCS-51与FPGA/CPLD总线接口逻辑设计
下一篇:采用直接时差法的无线超声波风速风向仪设计

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图