作者:虚坏叔叔
博客:https://xuhss.com
早餐店不会开到晚上,想吃的人早就来了!
本节介绍ffmpeg基本情况以及项目中怎么使用它。
打开官网ffmpeg.org。
他是一个能够跨平台的多媒体框架,它 包括编码
解码
转码
播放
等功能。
它支持的格式非常多,可以跨越多个操作系统,解码效率非常高,很多的播放器都是基于ffmpeg
,它部分基于GPL协议,部分基于LGPL。GPL是开源社区非常流行的协议,包括Linux
的版本也是这个,它要求你基于它开发的软件也必须是开源和免费的。
LGPL
协议相对宽泛一些 它可以在基于ffmpeg
开发的软件的部分类库,可以不开源,更适用于商业软件开发,我们在这不需要纠结,我们是学习使用 并没有商业化, 一般商业软件使用LGPL协议。
FFmpeg
官网(http://ffmpeg.org) → \rightarrow → 选择Download → \rightarrow → 选择Windows Package → \rightarrow → 进入Zeranoe FFmpeg网站。FFmpeg
官网下载源代码。Zeranoe
网站中的FFmpeg
分为3个版本:
Static
:只包含3个体积很大的exe文件。Shared
:除了3个体积较小的exe文件外,还包含了dll动态库文件。Dev
:只包含了开发用的头文件(*.h)和导入库文件(*.lib)。(二次开发)Static
或者Shared
版本就可以了,二次开发就需要使用Dev
版本了最关键命令
其他命令
Windows系统提供的额外命令
命令格式
功能
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格式并另外保存
命令格式
功能
最简单的命令
ffplay input.avi
该命令将播放当前文件夹下的input.avi文件。
命令格式
ffplay {输入文件路径}
快捷键 | 说明 |
---|---|
q,ESC | 退出 |
f | 全屏 |
p,空格 | 暂停 |
鼠标右键屏幕 | 跳转到指定位置 |
实战:
运行:
就可以实现视频的全局播放了。
点赞
收藏
转发
一波哦哦~学习路线指引(点击解锁) | 知识定位 | 人群定位 |
---|---|---|
Python实战微信订餐小程序 | 进阶级 | 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。 |
Python量化交易实战 | 入门级 | 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 |
❤️ C++ QT结合FFmpeg实战开发视频播放器❤️ | 难度偏高 | 分享学习QT成品的视频播放器源码,需要有扎实的C++知识! |
游戏爱好者九万人社区 | 互助/吹水 | 九万人游戏爱好者社区,聊天互助,白嫖奖品 |
Python零基础到入门 | Python初学者 | 针对没有经过系统学习的小伙伴,核心目的就是让我们能够快速学习Python的知识以达到入门 |
关注下面卡片即刻获取更多编程知识,包括各种语言学习资料,上千套PPT模板和各种小程序、Web、客户端项目源码等等资料。更多内容可自行查看哦!