ffmpeg 命令_Qt音视频开发11-ffmpeg常用命令
![](/assets/blank.gif)
一、前言
大部分的格式转换工具比如格式化工厂等,都用到了ffmpeg来处理,ffmpeg编译后生成的ffmpeg.exe、ffplay.exe、ffprobe.exe等可执行文件,其实就封装了众多牛逼的功能,ffprobe查看媒体文件头信息的工具,ffplay用于播放媒体文件的工具,尤其是ffmpeg.exe,强大的媒体文件转换工具,可以转换任何媒体文件,还可以用自己的 AudioFilter 以及 VideoFliter 进行处理和编辑,比如下面的一些功能。
- 列出支持的格式:ffmpeg -formats
- 剪切一段媒体文件:ffmpeg -i input.mp4 -ss 00:00:50.0 -codec copy -t 20 output.mp4
- 提取一个视频文件中的音频文件:ffmpeg -i input.mp4 -vn -acodec copy output.m4a
- 视频静音,即只保留视频:ffmpeg -i input.mp4 -an -vcodec copy output.mp4
- 从MP4文件中抽取视频流导出为裸的H264数据:ffmpeg -i output.mp4 -an -vcodec copy -bsf:v h264_mp4toannexb output.h264
- 使用AAC音频数据和H264视频生成MP4文件:ffmpeg -i test.aac -i test.h264 -acodec copy -bsf:a aac_adtstoasc -vcodec copy -f mp4 output.mp4
- 音频格式转换:ffmpeg -i input.wav -acodec libfdk_aac output.aac
- 将一个MP4的文件转换为一个GIF动图:ffmpeg -i input.mp4 -vf scale=100:-1 -t 5 -r 10 image.gif
既然这些工具这么牛逼,那是不是可以考虑做一个功能,直接程序调用这些可执行文件做处理呢?当然,QProcess上场了,他可以直接调用可执行程序或者直接执行命令,然后能够拦截输出打印的信息,管道的形式read出来,这样就非常直观了,可以在调用可执行文件执行的时候,将打印信息全部输出。
二、功能特点
- 多线程实时播放视频流+本地视频+USB摄像头等。
- 支持windows+linux+mac,支持ffmpeg3和ffmpeg4,支持32位和64位。
- 多线程显示图像,不卡主界面。
- 自动重连网络摄像头。
- 可设置边框大小即偏移量和边框颜色。
- 可设置是否绘制OSD标签即标签文本或图片和标签位置。
- 可设置两种OSD位置和风格。
- 可设置是否保存到文件以及文件名。
- 可直接拖曳文件到ffmpegwidget控件播放。
- 支持h265视频流+rtmp等常见视频流。
- 可暂停播放和继续播放。
- 支持存储单个视频文件和定时存储视频文件。
- 自定义顶部悬浮条,发送单击信号通知,可设置是否启用。
- 可设置画面拉伸填充或者等比例填充。
- 可设置解码是速度优先、质量优先、均衡处理。
- 可对视频进行截图(原始图片)和截屏。
- 录像文件存储支持裸流和MP4文件。
- 支持qsv、dxva2、d3d11va等硬解码。
- 支持opengl绘制视频数据,极低CPU占用。
- 支持嵌入式linux,交叉编译即可。
三、效果图
![](/assets/blank.gif)
四、相关站点
- 国内站点:https://gitee.com/feiyangqingyun/QWidgetDemo
- 国际站点:https://github.com/feiyangqingyun/QWidgetDemo
- 个人主页:https://blog.csdn.net/feiyangqingyun
- 知乎主页:https://www.zhihu.com/people/feiyangqingyun/
- 体验地址:https://blog.csdn.net/feiyangqingyun/article/details/97565652
五、核心代码
FFmpegTool
ffmpeg 命令_Qt音视频开发11-ffmpeg常用命令相关推荐
- 流媒体服务器开发——SRS 4.0与WebRTC音视频通话丨音视频开发丨嵌入式开发丨FFmpeg丨iOS音视频开发
SRS 4.0与WebRTC音视频通话 1. 音视频高薪岗位都需要什么技能点 2. WebRTC的技术点分析 3. SRS 4.0如何使用WebRTC 视频讲解如下,点击观看: 流媒体服务器开发--S ...
- ffmpeg获取设备支持的分辨率_Qt音视频开发6-ffmpeg解码处理
一.前言 采用ffmpeg解码,是所有视频监控开发人员必备的技能,绕不过去的一个玩意,甚至可以说是所有音视频开发人员的必备技能.FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开 ...
- FFmpeg 工具:音视频开发都用它,快@你兄弟来看丨音视频工具
(本文基本逻辑:ffmpeg 常用命令介绍 → ffplay 常用命令介绍 → ffprobe 常用命令介绍) 从事音视频开发的程序员几乎都应该知道或使用过 FFmpeg.FFmpeg 是一个开源软件 ...
- c++ vlc读取摄像头_Qt音视频开发1-vlc解码播放
## 一.前言 最开始接触视频监控这块的时候,用的就是vlc作为解码的内核,主要是因为vlc使用简单方便,直接传入一个句柄即可,简单几行代码就可以实现一个视频流播放,很适合初学者使用,也推荐初学者用q ...
- mega2560电脑识别不到端口后_Qt音视频开发41-人脸识别嵌入式
一.前言 大概几年前搞过一套嵌入式linux上的人脸识别程序,当然人脸识别的核心算法并不是自己开发的,关于人脸识别算法这一块,虽然有众多的开源库可以用,甚至还可以用opencv搞算法训练深度学习之类的 ...
- 【音视频开发技术概要】技术背景、学习路线、业界大拿、岗位行业分析
音视频的知识纷繁复杂,自学非常困难,既需要非常扎实的基础知识,又需要有很多的工程经验:本文就从音视频开发,开源框架,视频,业界大神,书籍推荐,就业方向分析,为广大开发者学习音视频技术提供便利. 首先我 ...
- 一文搞懂音视频开发技术点及职业发展方向
音视频的知识纷繁复杂,自学非常困难,既需要非常扎实的基础知识,又需要有很多的工程经验:本文就从音视频开发,开源框架,视频,业界大神,书籍推荐,就业方向分析,为广大开发者学习音视频技术提供便利. 首先我 ...
- 一个强大好用的音视频工具,ffmpeg
列出设备 /usr/local/bin/ffmpeg -list_devices true -f dshow -i dummy 保存文件 /usr/local/bin/ffmpeg -f dshow ...
- java音视频开发技术_FFmpeg音视频核心技术精讲与实战
百度网盘2 D2 h2 i; n# o0 D# M* C! [: B1 M 第1章 学习指南[课程提供200+问题与答案库]4 a# t% { h6 ^: E# O [你遇到的坑,别人已经出坑了,课 ...
最新文章
- cmd命令简单别木马的蛛丝马迹
- ESFramework网络通信框架 4.0 性能测试
- matlab-等高线图-三维曲线的绘制
- vue 引入swiper4,在有些手机Dom7会有问题
- 微软技术直通车(第三期) 之 人工智能
- 安装flash-----纠结
- Servlet 自动刷新页面
- maven 下载源码eclipse的配置
- java打字训练课程设计_Java打字训练课程设计
- 新华三模拟器Telnet/远程登录
- 二进制流 最后一段数据是最后一次读取的byte数组没填满造成的
- nginx服务器设置url的优雅链接
- Atitit redis使用场合总结 使用场景 目录 1.1. 3. Session 存储	1 1、 配置数据查询	1 2. 排行榜应用,取TOP N操作	1 1.2. 1、查找最
- chrome-推荐13个插件
- Camera 数据通路
- mqtt压力测试工具emqtt
- Spark API 之subtract(差集)
- 我的非计算机科班好友,斩获了十几个 offer
- [WDS] Disconnected解决方法
- Python函数(西安加油!!!)
热门文章
- CRC32爆破解密脚本工具(三)
- Python变量的作用域的使用
- python去掉txt文件行尾换行
- python设计模式整理
- 修改labelImg软件的yolo标注写入格式(.txt文件不换行的解决办法)(将换行符'\n'替换成'\r\n')
- 分布式事务原理及实战seata(转自微信公众号 终码一生 )
- Java进阶:@FunctionalInterface函数式接口使用说明
- Nginx教程系列四:实现反向代理配置
- 如何正确刷题计算机考研,2020考研:4个方法教你数学如何正确刷题!
- 超级计算机 红皇后,阿丽塔诺瓦不是最大反派 幕后大boss超级计算机黑化AI