最近在逛 GitHub 的时候,看到了一个用 FFmpeg 和 SDL 实现的视频播放器的项目,语言C ,代码量不大,难度系数也比较小,很适合有C/C 基础的同学。所以把环境搭建的过程共享出来,供有需要的同学学习使用。
项目描述
基于 FFmpeg(解码) 和 SDL2(播放) 的视频播放器,可以使用空格键控制暂停和继续。
语言
C/C
平台
Ubuntu 16.04
安装SDL2
SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。SDL内置了调用OpenGL的函数。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。
https://www.libsdl.org/download-2.0.php
编译安装:
apt-get install xorg-dev #安装SDL需要的视频驱动tar -xzf SDL2-2.0.14.tar.gzcd SDL2-2.0.14/./configure –enable-video-x11 –enable-x11-shared –enable-video-x11-vmmake -j4make install
安装FFmpeg
FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行。
https://github.com/FFmpeg/FFmpeg
编译安装:
apt-getinstallyasmunzip FFmpeg-master.zipcd FFmpeg-master./configuremake-j4make install
编译运行源码
https://github.com/pockethook/player
修改makefile文件,LDLIBS后面添加:
-lz-lm-lswresample
编译源码:
make
制作动态链接库:
ln -s /usr/local/lib/libSDL2-2.0.so.0.14.0 /usr/lib/libSDL2-2.0.so.0
运行程序:
./player test.mp4
暑期临近,学益得智能硬件暑期集训报名已经开启。如果你有提升需求,想在秋招中大展身手,欢迎扫码咨询。