0
点赞
收藏
分享

微信扫一扫

C++ QT结合FFmpeg实战开发视频播放器-17FFmpeg基本介绍


作者:虚坏叔叔

早餐店不会开到晚上,想吃的人早就来了!😄

一、FFmpeg基本介绍

本节介绍ffmpeg基本情况以及项目中怎么使用它。

打开官网ffmpeg.org。

他是一个能够跨平台的多媒体框架,它 包括​​编码​​​ ​​解码​​​ ​​转码​​​ ​​播放​​等功能。

它支持的格式非常多,可以跨越多个操作系统,解码效率非常高,很多的播放器都是基于​​ffmpeg​​​,它部分基于GPL协议,部分基于LGPL。GPL是开源社区非常流行的协议,包括​​Linux​​的版本也是这个,它要求你基于它开发的软件也必须是开源和免费的

​LGPL​​​协议相对宽泛一些 它可以在基于​​ffmpeg​​开发的软件的部分类库,可以不开源,更适用于商业软件开发,我们在这不需要纠结,我们是学习使用 并没有商业化, 一般商业软件使用LGPL协议。

二、ffmepg的基本使用

1. FFmpeg命令行工具获取

  • 下载地址
  • 访问​​FFmpeg​​​官网(​​http://ffmpeg.org​​​)选择Download选择Windows Package
  • 注意不要直接从​​FFmpeg​​官网下载源代码。
  • 版本说明
  • ​Zeranoe​​​网站中的​​FFmpeg​​分为3个版本:
  • ​Static​​:只包含3个体积很大的exe文件。
  • ​Shared​​:除了3个体积较小的exe文件外,还包含了dll动态库文件。
  • ​Dev​​:只包含了开发用的头文件(*.h)和导入库文件(*.lib)。(二次开发)
  • 一般使用命令行时下载​​Static​​​或者​​Shared​​​版本就可以了,二次开发就需要使用​​Dev​​版本了

2. 基本的DOS命令(Windows)

  • 最关键命令
  • 打开指定文件夹命令cd {文件路径}
  • 切换到上一级文件夹cd …
  • 切换到当前目录下名为xxx的文件夹 cd xxx
  • 改变当前盘符命令,如:c:
  • 其他命令
  • 查看目录内容命令 dir
  • 创建目录命令 md
  • 文件复制命令 copy
  • 删除文件命令 del
  • 清除屏幕命令 cls
  • Windows系统提供的额外命令
  • 例如ping,ipconfig等

3.ffmpeg.exe的使用

  • 命令格式
  • 功能
    ffmpeg.exe用于视频的转码。
  • 最简单的命令

ffmpeg -i  input.avi  -b:v  640k  output.ts

该命令将当前文件夹下的input.avi转换为ouput.ts文件,并将其文件视频的码率设置为640kbps。

  • 命令格式
    ffmpeg -i {输入文件路径} -b:v {输出视频码率} {输出文件路径}
  • 命令参数

参数

说明

-h

帮助

-i filename

输入文件

-t duration

设置处理时间,格式为hh:mm:ss

-ss position

设置起始时间,格式为hh:mm:ss

-b:v bitrate

设置视频码率

-b:a bitrate

设置音频码率

-r fps

设置帧率

-s wxh

设置分辨率,格式为WxH(用*也可以)

-c:v codec

设置视频编码器

-c:a codec

设置音频编码器

-ar freq

设置音频采样率

如:

ffmpeg -i video.mkv video.mp4           将video从MKV格式转码为MP4格式并另外保存

4.ffplay.exe的使用

  • 命令格式
  • 功能
  • 用于视频的播放
  • 最简单的命令

ffplay input.avi

该命令将播放当前文件夹下的input.avi文件。

  • 命令格式
    ffplay {输入文件路径}

快捷键

说明

q,ESC

退出

f

全屏

p,空格

暂停

鼠标右键屏幕

跳转到指定位置

实战:

找到你电脑上的ffMpeg.exe路径:

C++ QT结合FFmpeg实战开发视频播放器-17FFmpeg基本介绍_源码_04

运行:

C++ QT结合FFmpeg实战开发视频播放器-17FFmpeg基本介绍_源码_05

就可以实现视频的全局播放了。

三、总结

  • 本文主要讲解ffmpeg的基本使用 。

举报

相关推荐

0 条评论