前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FFmpeg视频播放器开发简介与项目环境搭建(一)

FFmpeg视频播放器开发简介与项目环境搭建(一)

原创
作者头像
嵌入式音视频
发布2022-09-24 15:53:14
1.3K0
发布2022-09-24 15:53:14
举报

前言:视频开发库有很多,例如微软的DirectShow;开源库OpenCV,当然OpenCV主要是图像处理,视频部分还是用的ffmpeg, 而且无法解码音频;SDL;大华和海康都有自己的库等等。音视频属于流媒体领域,学习和应用难度大,周期长,容易出现人才断层,公司对应聘者的要求都比较高,让很多人望而却步。很多软件都使用了FFmpeg, 比如:迅雷,腾讯视频,QQ, 微信,QQ音乐,暴风影音,爱奇艺,优酷,格式工厂等。放几张软件目录图大家看看。 QQ客户端

腾讯视频

爱奇艺客户端

事实上,FFMPEG的流媒体视音频编解码功能太强大了,几乎囊括了现存所有的视音频编码标准,因此只要做视音频开发,几乎离不开它。

关于ffmpeg的博客很多,源码讲解,实例Demo等等,太多了,最有名气的应该是雷神了,斯人已去,对技术界是一大损失。本系列教程在讲解时也会引用到别人现有的研究内容,毕竟我们是ffmpeg的使用者,需要站到巨人的肩膀上。有不当或者错误的地方,请各位朋友及时提示斧正。

本教程是在Windows下的VS2015 + Qt中开发,如果是linux或mac,可以借鉴部分代码,但是环境配置会不同。

一、配置windows下ffmpeg开发环境

1.1 ffmpeg的下载

官网链接 https://ffmpeg.zeranoe.com/builds/

可以下载最新版本或者以前的版本,如下所示的4.0版本

例如选择4.0版本,依次下载Static, Share, Dev三个文件。例如32位版本的是如下三个文件

Dev文件夹下是include和lib文件

Shared文件的Bin目录是ffmpeg的dll

1.2 在VS中配置FFmpeg

FFmpeg在VS中的配置很简单,就是普通的SDK配置方式,开发时只需要include, lib,bin里的文件,例如,创建一个C++的控制台程序,右键项目名 -- 属性。

(1)添加头文件目录

(2)添加lib目录

(3)在附加依赖项写上lib的名字

附上各个lib的名字,方便大家粘贴。

代码语言:javascript
复制
1.avcodec.lib
2.avdevice.lib
3.avfilter.lib
4.avformat.lib
5.avutil.lib
6.postproc.lib
7.swresample.lib
8.swscale.lib

如果不想这样做也可以在程序中用代码添加也可以,如下所示:

代码语言:javascript
复制
#pragma comment(lib, "avformat.lib")

(4)把ffmpeg bin目录下的dll放到生成的exe所在的目录,为了方便,我把所有的dll文件都放进去好了。至于是32/64的版本,可以自己选择。

二.VS2015和Qt的安装

本教程做播放器,需要用界面库,关于界面库的选择与学习,各家公司,学校都不同。C++的界面库有MFC,Qt,DuiLib,SOUI等等,该播放器用Qt来做界面开发,Qt学起来比MFC稍微容易些,还可以跨平台,可以开发Linux,Mac的程序。

我是选择把Qt装到VS2015中,VS调试比较容易,功能强大。如果Qt和VS都安装好的,看下一篇博客继续学习。

Qt没安装好的,可以参考网上的安装方法。

三 软件界面与主要功能

本地视频播放

网络拉流

菜单项

播放器的基本功能都有,双击放大全屏,视频进度拖拽,音量调整等。其它功能慢慢更新吧.

源码大概会在第五六篇左右上传到github。

工欲善其事必先利其器,环境配好后,下一篇开始ffmpeg开发之旅

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.2 在VS中配置FFmpeg
  • 二.VS2015和Qt的安装
  • 三 软件界面与主要功能
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档