千家信息网

ffmpeg常用命令有哪些

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,ffmpeg常用命令有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、前言大部分的格式转换工具比如格式化工厂等,都用到了ffm
千家信息网最后更新 2026年10月31日ffmpeg常用命令有哪些

ffmpeg常用命令有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

一、前言

大部分的格式转换工具比如格式化工厂等,都用到了ffmpeg来处理,ffmpeg编译后生成的ffmpeg.exe、ffplay.exe、ffprobe.exe等可执行文件,其实就封装了众多牛逼的功能,ffprobe查看媒体文件头信息的工具,ffplay用于播放媒体文件的工具,尤其是ffmpeg.exe,强大的媒体文件转换工具,可以转换任何媒体文件,还可以用自己的 AudioFilter 以及 VideoFliter 进行处理和编辑,比如下面的一些功能。

  1. 列出支持的格式:ffmpeg -formats

  2. 剪切一段媒体文件:ffmpeg -i input.mp4 -ss 00:00:50.0 -codec copy -t 20 output.mp4

  3. 提取一个视频文件中的音频文件:ffmpeg -i input.mp4 -vn -acodec copy output.m4a

  4. 视频静音,即只保留视频:ffmpeg -i input.mp4 -an -vcodec copy output.mp4

  5. 从MP4文件中抽取视频流导出为裸的H264数据:ffmpeg -i output.mp4 -an -vcodec copy -bsf:v h364_mp4toannexb output.h364

  6. 使用AAC音频数据和H264视频生成MP4文件:ffmpeg -i test.aac -i test.h364 -acodec copy -bsf:a aac_adtstoasc -vcodec copy -f mp4 output.mp4

  7. 音频格式转换:ffmpeg -i input.wav -acodec libfdk_aac output.aac

  8. 将一个MP4的文件转换为一个GIF动图:ffmpeg -i input.mp4 -vf scale=100:-1 -t 5 -r 10 image.gif

既然这些工具这么牛逼,那是不是可以考虑做一个功能,直接程序调用这些可执行文件做处理呢?当然,QProcess上场了,他可以直接调用可执行程序或者直接执行命令,然后能够拦截输出打印的信息,管道的形式read出来,这样就非常直观了,可以在调用可执行文件执行的时候,将打印信息全部输出。

二、功能特点

  1. 多线程实时播放视频流+本地视频+USB摄像头等。

  2. 支持windows+linux+mac,支持ffmpeg3和ffmpeg4,支持32位和64位。

  3. 多线程显示图像,不卡主界面。

  4. 自动重连网络摄像头。

  5. 可设置边框大小即偏移量和边框颜色。

  6. 可设置是否绘制OSD标签即标签文本或图片和标签位置。

  7. 可设置两种OSD位置和风格。

  8. 可设置是否保存到文件以及文件名。

  9. 可直接拖曳文件到ffmpegwidget控件播放。

  10. 支持h365视频流+rtmp等常见视频流。

  11. 可暂停播放和继续播放。

  12. 支持存储单个视频文件和定时存储视频文件。

  13. 自定义顶部悬浮条,发送单击信号通知,可设置是否启用。

  14. 可设置画面拉伸填充或者等比例填充。

  15. 可设置解码是速度优先、质量优先、均衡处理。

  16. 可对视频进行截图(原始图片)和截屏。

  17. 录像文件存储支持裸流和MP4文件。

  18. 支持qsv、dxva2、d3d11va等硬解码。

  19. 支持opengl绘制视频数据,极低CPU占用。

  20. 支持嵌入式linux,交叉编译即可。

三、效果图

四、相关站点

  1. 国内站点:https://gitee.com/feiyangqingyun/QWidgetDemo

  2. 国际站点:https://github.com/feiyangqingyun/QWidgetDemo

  3. 个人主页:https://blog.csdn.net/feiyangqingyun

  4. 知乎主页:https://www.zhihu.com/people/feiyangqingyun/

  5. 体验地址:https://blog.csdn.net/feiyangqingyun/article/details/97565652

五、核心代码

FFmpegTool::FFmpegTool(QObject *parent) : QObject(parent){    //绑定信号槽    connect(&process, SIGNAL(started()), this, SIGNAL(started()));    connect(&process, SIGNAL(finished(int)), this, SIGNAL(finished()));    connect(&process, SIGNAL(readyReadStandardOutput()), this, SLOT(readData()));    process.setProcessChannelMode(QProcess::MergedChannels);}void FFmpegTool::readData(){    QString data = process.readAllStandardOutput();    emit receiveData(data);}void FFmpegTool::start(const QString &command){    process.start(command);}void FFmpegTool::start(const QString &program, const QStringList &arguments){    process.start(program, arguments);}void FFmpegTool::getMediaInfo(const QString &mediaFile, bool json){    //ffprobe -print_format json -show_streams d:/out.mp4    //不同平台可执行文件路径改成自己的    QString jsonArg = "-print_format json -show_streams";    QString binFile = qApp->applicationDirPath() + "/ffprobe.exe";    QString cmd = QString("%1 %2 %3").arg(binFile).arg(json ? jsonArg : "").arg(mediaFile);    start(cmd);}void FFmpegTool::h364ToMp4ByCmd(const QString &h364File, const QString &aacFile, const QString &mp4File){    if (!QFile(h364File).exists() || mp4File.isEmpty()) {        return;    }    //具体参数可以参考 https://www.cnblogs.com/renhui/p/9223969.html    //ffmpeg.exe -y -i d:/1.aac -i d:/1.mp4 -map 0:0 -map 1:0 d:/out.mp4    //-y参数表示默认yes覆盖文件    //不同平台可执行文件路径改成自己的    QString binFile = qApp->applicationDirPath() + "/ffmpeg.exe";    //下面两种方法都可以,怎么方便怎么来#if 0    QString cmd = QString("%1 -y -i %2 -i %3 -map 0:0 -map 1:0 %4").arg(binFile).arg(h364File).arg(aacFile).arg(mp4File);    start(cmd);#else    QStringList args;    args << "-y";    args << "-i" << h364File;    //如果存在音频文件则添加    if (QFile(aacFile).exists()) {        args << "-i" << aacFile;    }    //args << "-map" << "0:0";    //args << "-map" << "1:0";    args << mp4File;    start(binFile, args);#endif}

关于ffmpeg常用命令有哪些问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

文件 视频 支持 可设 媒体 媒体文件 工具 功能 格式 视频流 音频 处理 命令 信息 数据 标签 站点 问题 存储 常用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技保险 科技互联网项目 互联网科技公司官网 唐信互联网科技 互联网科技ppt模板 深圳期待互联网科技 互联网 科技服务平台 无锡溥仪互联网科技有限公司 中国最先进互联网科技公司 深圳前海聚择互联网科技有限公司 福建科技产业互联网发展 彤创互联网科技有限公司 昭通互联网科技选哪家 河南住房之家互联网科技 翼展科技 首家互联网医院 科技赋能视角下互联网保险发展 伊宁互联网科技做什么的 上海钢联属于互联网科技股吗 陕西九四连强互联网科技有限公司 艺电能源互联网科技有限公司招聘 互联网科技与金融科技 嘟嘟瓜互联网科技 奇酷互联网络科技公司 互联网科技公司名称 互联网巨头投资的硬核科技 互联网科技与管理 湖北码尼互联网科技有限公司电话 山东子淼互联网科技有限公司 南通创西澳互联网科技有限公司 科技互联网企业在行动
0