正在加载图片...
中国科学技术大学电子工程与信息科学系©2020 实验十九SDL+ffmpeg播放mp4 实验目的 (1)学习Visual Studio中SDL编程的流程。 (2)了解ffmpeg工具包作用。 (3) 学习ffmpeg工具包中命令行的使用。 (4)学习Visual Studio中基于ffmpeg库编程的流程。 二、 实验原理 1、SDL SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库, 使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者 只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、.Mac OS X等)的应用软件。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体 应用领域。 官网:http://libsdl..org 官方文档:http:wiki.libsdl.org/FrontPage 在SDL2.0中,提供了如下不同类别的函数[1]:Basics、Video、Input Events、 Force Feedback、Audio、Threads、Timers、File Abstraction、Shared Object Support、. Platform and CPU Information,Power Management,Additional Functionality 2、ffmpeg FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用 LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。 FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行, 包括Windows、Mac OS X等。FFmpeg有非常强大的功能包括视频采集功能、视 频格式转换、视频抓图、给视频加水印等。 FFmpeg有三种版本。静态库(static)版本里面有3个exe:ffmpeg,exe, ffplay.exe,ffprobe.exe,每个exe体积很大,因为相关的dl已经被编译到exe 里面去了。作为工具而言此版本就可以满足一般应用的需求。动态库(shared) 版本,里面有3个exe:ffmpeg.exe,ffplay..exe,ffprobe.exe,还有一些dl。Shared 版本里面的exe体积很小,这些exe在运行的时候,到相应的dl中调用功能。 程序运行过程必须依赖于提供的dl文件。开发者(dv)版本,是用于开发的, 里面包含了库文件xxx.lib以及头文件xxx.h,这个版本不包含exe文件。 三、 示例说明 实验示例由[2]例子改编而来。在Visual Studio2017环境测试通过。代码中 如果您在阅读过程中发现疏漏和错误,请联系《多媒体技术基础》课程组{network,cxh}@ustc.edu.cn中国科学技术大学电子工程与信息科学系© 2020 如果您在阅读过程中发现疏漏和错误,请联系《多媒体技术基础》课程组{network,cxh}@ustc.edu.cn 实验十九 SDL+ffmpeg 播放 mp4 一、 实验目的 (1) 学习 Visual Studio 中 SDL 编程的流程。 (2) 了解 ffmpeg 工具包作用。 (3) 学习 ffmpeg 工具包中命令行的使用。 (4) 学习 Visual Studio 中基于 ffmpeg 库编程的流程。 二、 实验原理 1、SDL SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库, 使用 C 语言写成。SDL 提供了数种控制图像、声音、输出入的函数,让开发者 只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X 等)的应用软件。目前 SDL 多用于开发游戏、模拟器、媒体播放器等多媒体 应用领域。 官网:http://libsdl.org/ 官方文档:http://wiki.libsdl.org/FrontPage 在 SDL2.0 中,提供了如下不同类别的函数[1]:Basics、Video、Input Events、 Force Feedback、Audio、Threads、Timers、File Abstraction、Shared Object Support、 Platform and CPU Information、Power Management、Additional Functionality。 2、ffmpeg FFmpeg 是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用 LGPL 或 GPL 许可证。它提供了录制、转换以及流化音视频的完整解决方案。 FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行, 包括 Windows、Mac OS X 等。FFmpeg 有非常强大的功能包括视频采集功能、视 频格式转换、视频抓图、给视频加水印等。 FFmpeg 有三种版本。静态库(static)版本里面有 3 个 exe: ffmpeg.exe, ffplay.exe, ffprobe.exe,每个 exe 体积很大,因为相关的 dll 已经被编译到 exe 里面去了。作为工具而言此版本就可以满足一般应用的需求。动态库(shared) 版本,里面有 3 个 exe:ffmpeg.exe,ffplay.exe,ffprobe.exe,还有一些 dll。Shared 版本里面的 exe 体积很小,这些 exe 在运行的时候,到相应的 dll 中调用功能。 程序运行过程必须依赖于提供的 dll 文件。开发者(dev)版本,是用于开发的, 里面包含了库文件 xxx.lib 以及头文件 xxx.h,这个版本不包含 exe 文件。 三、 示例说明 实验示例由[2]例子改编而来。在 Visual Studio 2017 环境测试通过。代码中
向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有