最近因公司项目需要,打算自己在LINUX平台整一个播放器,来学习和研究音频编解码。
项目需求:
支持下列格式文件播放。
1> WMA
硬件解码,但需要软件分析ASF格式,提取Payload数据
2> FLAC
软件解码
3> DST、DSD
硬件解码,但需要软件分析文件格式,提取Packet数据
网上搜了一圈,对于1) 2)最适合的是ffmpeg
对于3) 目前网上只找到foobar的插件版本。
最终,LINUX下的播放器打算采用 ffmepg + SDL
整体框架设计如下:
interface (封装SDL,自己写一个简单的HMI)
|
MediaEngine
| | |
Input Decoder Output
其中input 参考 vlc的设计,支持本地文件系统,USB,网络(DLNA或Web Uri)
Decoder 支持 JPG、PNG,WAV,FLAC,WMA,DST,MP3
简单分析好了基本需求和整体框架后,接下来就是下载代码开工。
STEP1:
http://ffmpeg.gusari.org/static/32bit/ 目前选择ffmpeg-0.9.2.tar
http://www.libsdl.org/ 目前选择SDL-1.2.15.tar
./configure;make;make install
STEP2:
编写Makefile
LIBS+= -lpthread -lavformat -lavcodec -lavutil -lswscale -lm -lSDL -lrt (注意先后顺序不能随便更改,这地方被坑了好一会儿)
INCLUDE+= -I/usr/local/include/libavcodec -I/usr/local/include/libavformat -I/usr/local/include/libavfilter -I/usr/local/include/libavformat -I/usr/local/include/libswscale -I/usr/local/include/SDL
STEP3:
学习ffmpeg+Sdl
http://dranger.com/ffmpeg/ 注意由于版本差异,无法编译通过,修改函数很麻烦,只需要了解其设计思路就可以了。
STEP4:
参考ffplay.c 写解码库。
分享到:
相关推荐
**Qt+FFMPEG+SDL实现的视频播放器** 在软件开发中,创建一个功能完备的视频播放器是一项挑战,但结合Qt、FFmpeg和SDL(Simple DirectMedia Layer)库,我们可以构建出一个高效且跨平台的解决方案。下面将详细阐述这...
qt使用FFmPeg+SDL2.0+QOpenGLWidget实现的视频播放器,FFmPeg+SDL2.0解码音视频,视频图像解码为YUV420的格式,然后使用QOpenGLWidget进行显示。亲测在windows和Linux下都可使用,附带FFmPeg+SDL2.0第三方库
雷神(雷霄桦)在FFmpeg + SDL 的视频播放器的代码中清晰地展示了作为一个播放器代码的思路。非常适合初学者学习借鉴。 雷神在“广播电视工程大二的暑假小学期的课程设计”中,课程内容为《基于 FFmpeg + SDL 的视频...
FFMPEG工程浩大,可以参考的书籍又不是很多,...但是几乎包含了使用FFMPEG播放一个视频所有必备的API,并且使用SDL显示解码出来的视频。十分适合新手学习FFmpeg。 使用了2014.5.6编译的类库,支持最新的HEVC以及VP9.
基于Qt+FFmpeg+SDL音视频播放器源码+全部资料齐全(高质量项目),含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分项目,毕业设计、期末大作业和课程设计高分必看,下载下来,简单部署,就可以...
在这个“基于FFmpeg+SDL的视频播放器”项目中,它们被结合起来构建了一个基本的视频播放器应用程序。 首先,让我们深入了解一下FFmpeg。FFmpeg的核心功能包括音视频的编码、解码、转码、流媒体处理和格式转换。它...
在本项目中,"ffmpeg+sdl视频播放器"是基于FFmpeg库和SDL(Simple DirectMedia Layer)库开发的一个轻量级的视频播放器。SDL是一个跨平台的开发库,主要用于处理图形用户界面、音频以及输入设备,使得开发者可以轻松...
FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学习FFMPEG的人常常感觉到无从下手。...该播放器虽然简单,但是几乎包含了使用FFMPEG播放一个视频所有必备的API,并且使用SDL显示解码出来的视频。
ffmpeg+sdl播放器解码视音频,使用ffmpeg-2.5.2+SDL-1.2.15,参考ffmpeg官方例子,欢迎交流 内含10个工程 1.保存为bmp图片 2.解码视频 3.解码视频, 音频 4.分离代码,加入线程(伪同步) 5.视频同步到音频 6.音频同步到...
基于FFMPEG+SDL2写的播放mp3文件程序,采用链表队列的方式来传递数据,详细解释见博文《基于FFMPEG+SDL2播放音频》,链接:https://blog.csdn.net/u011003120/article/details/81950045
基于Qt+FFmpeg+SDL音视频播放器源码+全部资料齐全.zip基于Qt+FFmpeg+SDL音视频播放器源码+全部资料齐全.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码...
FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学习FFMPEG的人常常感觉到无从下手。...该播放器虽然简单,但是几乎包含了使用FFMPEG播放一个音频所有必备的API,并且使用SDL播放解码出来的音频。
在本文中,我们将深入探讨如何使用C++、Qt、FFmpeg和SDL2库来构建一个本地视频播放器。首先,让我们分别了解这些组件的核心概念。 **Qt** 是一个跨平台的应用程序开发框架,广泛用于创建GUI(图形用户界面)应用...
FFmpeg+SDL的视频播放器资料: (0) 大纲 (1) 视音频基础知识 (2) FFmpeg命令行工具的使用 (3) FFmpeg视频解码器 (4) SDL视频显示 (5) FFmpeg+SDL视频播放器 (6) FFmpeg+SDL视频播放器-图形界面版
将FFmpeg与SDL结合,可以创建出一个简单的视频播放器。下面我们将详细讨论如何利用这两者来构建一个基本的视频播放器。 首先,我们需要理解FFmpeg的核心组件。FFmpeg主要由以下部分组成: 1. **解码器(Decoders)...
"最简单的FFMPEG+SDL播放器"项目,就是结合这两个强大的库,构建了一个基础的媒体播放器。对于初学者来说,这个项目具有极高的学习价值。通过阅读和理解代码,你可以了解如何使用FFmpeg进行音频和视频的解码,以及...
本项目结合 FFmpeg 和 SDL2 实现了一个简单的视频播放器,特别针对 Windows 平台进行了优化。 在 Windows 上使用 Visual Studio(VS2010 或 VS2015)进行开发时,首先需要安装 FFmpeg 和 SDL2 的开发库。确保下载的...
毕业设计基于Qt+FFmpeg+SDL实现的音视频播放器源码.zip毕业设计基于Qt+FFmpeg+SDL实现的音视频播放器源码.zip毕业设计基于Qt+FFmpeg+SDL实现的音视频播放器源码.zip毕业设计基于Qt+FFmpeg+SDL实现的音视频播放器源码...
QT + ffmpeg + SDL音频播放器是一种利用开源库组合来实现音频播放的应用程序。在这个项目中,QT是一个跨平台的C++应用程序开发框架,用于构建用户界面;ffmpeg是一个强大的多媒体处理库,负责音频和视频的解码;而...