C++---基于ffmpeg实现视频播放器(一)

ffmpeg.exe

  • 功能:
    ffmpeg.exe实现视频的转码。

  • 命令格式
    ffmpeg -i [输入文件的路径] -b:v [输出文件的码率] [输入文件的路径]

  • 简单命令

  • ffmpeg -i input.avi -b:v 640k output.ts
    命令的作用:将当前文件夹下的input.avi文件转换为output.ts文件,并将output.ts文件视频的码率设置为640kbps。

常见的ffmpeg参数
在这里插入图片描述
ffmpeg相关文档

ffmplay.exe

  • 功能
    ffmplay.exe用于视频的播放。
  • 命令格式
    ffmplay [输入文件的路径]
  • 简单命令
    ffmplay input.avi
    播放该文件路径下的input.avi文件

创建一个Win32程序

在这里插入图片描述在这里插入图片描述在这里插入图片描述
单击完成以后,并不能直接编写程序,由于我们是基于ffmpeg库的开发,所以还必当前Win32程序进行一个配置。

ffmpeg库的配置

  • 先将ffmpeg库所需要的文件拷贝到当前环境下。
    在这里插入图片描述在这里插入图片描述
    将选中的文件拷贝到当前项目中。
  • 解决方案—>项目—>属性—>C/C+±–>常规—>附加库目录
    在这里插入图片描述在这里插入图片描述- 配置静态库
    解决方案—>项目—>属性—>链接器—>常规—>附加库目录
    在这里插入图片描述
  • 添加动态库
    链接器—>输入—>附加库目录

在这里插入图片描述③:里面写的就是ffmpeg库的.dll程序名称。
avcodec.lib;avformat.lib; avutil.lib; avdevice.lib; avfilter.lib;postproc.lib; swresample.lib; swscale.lib
在这里插入图片描述
创建完成后,赶紧来测试一下,看环境是否配置成功。

#include "stdafx.h"
#define __STDC_CONSTANT_MACROS
extern "C"       
{
#include "libavcodec/avcodec.h "
}

int _tmain(int argc, _TCHAR* argv[])
{
	printf("%s", avcodec_configuration());
	return 0;
}

现在程序是一闪而过,我们可以通过打断点的方式,或者在return前加system("pause),来查看是否出现内容。这里我们使用打断点的方式。
在这里插入图片描述当出现上面的内容时,则表示环境配置成功。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要下载一个基于FFmpeg SDL的最简单的视频播放器,可以按照以下步骤进行: 1. 首先,需要下载和安装FFmpeg软件包。FFmpeg是一个开源的跨平台多媒体框架,可以用于处理音频和视频文件。可以上FFmpeg官网(https://www.ffmpeg.org/)找到相应的下载链接,并根据操作系统选择正确的版本进行下载和安装。 2. 下载SDL库。SDL是一个跨平台的开发库,可以用于创建多媒体应用程序。可以在SDL官网(https://www.libsdl.org/)上找到相应的下载链接,并选择适合自己操作系统的版本进行下载和安装。 3. 使用编程语言(如C/C++)编写一个基于FFmpeg和SDL的视频播放器。可以使用任何喜欢的集成开发环境(IDE),如Visual Studio、Dev-C++等。根据自己的需求,可以封装FFmpeg和SDL的相关函数,以方便播放视频文件。 4. 在编程中,需要包含FFmpeg和SDL所需的头文件,并链接FFmpeg和SDL的库文件。可以在编译选项中添加"-lffmpeg"和"-lsdl"等参数。 5. 编写代码来打开视频文件,读取视频流,将每一帧解码和渲染到屏幕上并进行播放。可以使用FFmpeg提供的函数来进行解码和渲染,使用SDL提供的函数来显示图像并进行窗口管理。 6. 编译和运行程序,即可实现最简单的基于FFmpeg SDL的视频播放器。可以通过命令行输入视频文件的路径进行播放。 需要注意的是,基于FFmpeg SDL的视频播放器可以根据个人需求来进行功能的扩展,如添加播放控制(播放、暂停、停止等)、全屏显示、音量调节等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值