- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用 FFmpeg 和 Qt 制作
转码工具
by 捉不住的鼬鼠
2017-09-18
目 录
1 开始 3
2 Qt 3
2.1 安装 3
2.2 乱码解决 5
3 FFmpeg 6
3.1 下载 6
3.2 FFmpeg 命令 7
3.2.1 调整分辨率 7
3.2.2 转格式 7
3.2.3 查看视频信息 7
3.2.4 Hap 和 Hapq 编码 8
3.2.5 HLS 协议 10
3.2.6 从图片帧序列合成视频 11
3.2.7 截取指定长度 12
3.2.8 硬件加速 12
3.2.9 查看帮助 18
3.3 ffplay 命令 19
3.4 ffprob 命令 20
4 开发记录 20
4.1 寻找 ffmpeg.exe 20
4.2 指定分辨率转码 22
4.3 多线程解决 UI 线程阻塞问题 24
4.4 Qt 编译 Release 版 27
1 开始
以前就使用过 Qt,其 Linux/Windows 配置、MinGW 编译以及 GUI 控件的使用都比较了
解。在不久之前,我想过一个问题,就是面对许许多多的新技术和新框架,如何选择合适的
作为长期学习和不断深入的首选。比如网站后台框架的选择,结合以前实习积累的经验,选
定继续使用 Django 作为长期使用和不断学习的网站后台框架首选。也就是说,在非极特殊
情况下,就选定 Django 来进行。毕竟 Django 项目开发历史悠久,版本迭代很快,作为一
个大而全的Python网站框架,可谓长盛不衰。另外鉴于 MySQL自身的一些不足以及被Oracle
收购后的种种情况,选定 PostgreSQL 作为开源数据库使用首选。扯得有点远,回到图形化
界面的选择上,选定 Qt 作为长期学习的目标。其实本科毕设的时候经过查询资料比较已经
选定了 Qt,其跨平台及不断新添加的特性等能满足我们日常开发使用所需。这里做转码的
GUI 选择 Qt 来搭建,且作为开源里面首屈一指的视频编解码库,FFmpeg 也自然成为以后
长期研究的视频处理库首选。
啰嗦了这么多,主要是因为感觉到了自己的长进,因为知道选择长期目标了。这样对于
新出现的各种框架和技术方案不必感到迷茫或者感觉选择困惑,且借助于长期积累的技术经
验可以很快开展工作并不断推进。所有这些接触和学习过程的经验及文档记录都不会浪费,
而且事实证明确实是比较可取的。
这里选择的 Qt 为 5.9 LTS,相当应景,因为我的技术方案选择 Qt 和 FFmpeg 也是 LTS
的。所以,开始吧。
2 Qt
2.1 安装
Qt5.9 可以支持 VS2017,这点是比较好的。以前也就是本科毕设的时候刚接触 Qt,其
不同 VS 和 MinGW 版本,x86 和 x64 等区别和 debug 及 release 的事情真的搞得人怀疑人
生。现在 Qt5.9 作为 LTS 版,各方面的支持会很完善,所以有对 VS2017 的支持就不用自己
搞编译了。
下面是 Qt5.9 安装的选择组件界面:
文档评论(0)