常用 FFmpeg 命令

这篇具有很好参考价值的文章主要介绍了常用 FFmpeg 命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

字幕

视频添加字幕

ffmpeg -i input.mp4 -i subtitle.ass -c:v copy -c:a copy -c:s ass -y output.mkv

或:(烧录为 mp4,速度慢)

ffmpeg -i input.mp4 -vf ass=subtitle.ass -y output.mp4

视频提取字幕

ffmpeg -i video.mkv -map 0:s:0 out.ass

这将下载第一个字幕轨。如果有多个,则使用 0:s:1 下载第二个,0:s:2 下载第三个,以此类推。可以生成任意所需的格式,改一下扩展名即可。


图片

图片压缩

ffmpeg -i image.jpg -q 4 out.jpg
  • -q 4 为压缩级别,数字越大压缩级别越高

约束比例压缩

ffmpeg -i image.jpg -vf scale=-1:1000 out.jpg
  • scale=-1:1000 表示保持图片尺寸比,将高度缩减为 1000px
  • scale=1000:-1 表示保持图片尺寸比,将宽度缩减为 1000px
  • scale=1000:500 表示将宽度缩减为 1000px,高度缩减为 500px (图片可能会拉伸)

图片裁剪

ffmpeg -i image.jpg -vf crop=1000:800:0:0 out.jpg
  • crop=1000:800:0:0 表示裁剪后的图片大小为 1000x800 px,从 0,0 坐标位置开始裁剪,即左上角

添加文字水印

ffmpeg -i image.jpg -vf drawtext=fontfile="simkai.ttf":fontcolor="#D85840":fontsize=100:text="Hello World!你好,世界":x=1000:y=1000 out.jpg
  • fontfile=“simkai.ttf” 为字体路径(绝对路径好像不生效?只好把字体复制到当前目录)
  • 不支持中文的字体,中文会显示不正常
  • Windows 系统字体位置为 “C:/Windows/Fonts”
  • fontcolor=“#D85840” 为字体颜色,支持不透明度
  • fontsize=100 为字体大小
  • text=“Hello World!你好,世界!” 为要设置的文字
  • x=1000:y=1000 为文字起始坐标,图片左上角坐标为 (0,0)

图片旋转

ffmpeg -i image.jpg -vf rotate=90*PI/180 -y out.jpg
  • rotate=90*PI/180 指顺时针旋转 90 度

图片左右翻转

ffmpeg -i image.jpg -vf hflip out.jpg

图片上下翻转

ffmpeg -i image.jpg -vf vflip out.jpg

音频

导出视频中的音频

ffmpeg -i input.mp4 -vn -y -acodec copy output.m4a

去除视频中的音频

ffmpeg -i input.mp4 -an output.mp4

添加封面

ffmpeg -y -i audio.mp3 -i cover.jpg -map 0:0 -map 1:0 -c copy -id3v2_version 3 output.mp3

去除封面

ffmpeg -i audio.mp3 -vn -codec:a copy -map_metadata -1 output.mp3

m4a 转 mp3

ffmpeg -i audio.m4a -f mp3 output.mp3

音频增益

ffmpeg -i input.mp3 -af volume=-5dB -y output.mp3
  • volume=-5dB 表示将音量减少 5 dB,升高则不用加负号

音频压缩

ffmpeg -i input.mp3 -ab 128k output.mp3
  • -ab 128k 表示将音频压缩为 128kbps 比特率
    常用的比特率有 96k, 112k, 128k, 160k, 192k, 256k, 320k

视频

合并音视频

ffmpeg -i input.mp4 -i audio.mp3 -vcodec copy -acodec copy output.mp4

合并多个视频文件

  • 方法 1(直接指定文件名)

    ffmpeg -i "concat:1.ts|2.ts|3.ts" -c copy output.mp4
    
  • 方法 2(根据配置文件合并)

    file.txt:

    file '1.mp4'
    file '2.mp4'
    file '3.mp4'
    
    ffmpeg -f concat -i file.txt -c copy -y output.mp4
    

视频转为 gif

ffmpeg -ss 00:00:01 -i input.mp4 -s 1024x768 -r 15 output.gif
  • -ss 00:00:01 表示从第 00 小时 00 分钟 01 秒 开始制作 gif,也可以简写为 1,可以省略
  • -s 1024x768 表示 gif 分辨率,可以省略
  • -r 15 表示 gif 帧率,可以省略

视频截取

ffmpeg -ss 00:00:00 -i input.mp4 -vcodec copy -acodec copy -t 00:00:30 output.mp4
  • -ss 00:00:00 表示从第 00 小时 00 分钟 01 秒 秒开始截取
  • -t 00:00:30 表示向后截取 30 秒视频

修改分辨率

  • 方法 1(直接设置分辨率)

    ffmpeg -i input.mp4 -s 640x480 output.mp4
    
  • 方法 2(设置缩放比)

    ffmpeg -i input.mp4 -vf scale=-1:480 output.mp4
    

调整视频帧率

ffmpeg -i input.mp4 -r 20 output.mp4
  • -r 20 表示调整视频帧率为 20 帧/s

调整视频播放速度

只调整视频速度

ffmpeg -i input.mp4 -vf "setpts=0.5*PTS" output.mp4
  • 0.5 表示 2 倍速播放,2 表示 0.5 倍速播放,以此类推

同时调整视频音频速度文章来源地址https://www.toymoban.com/news/detail-402030.html

ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mp4
  • 0.5*PTS[v] 表示 视频 2 倍速播放,2.0[a] 表示音频 2 倍速播放

视频截图

ffmpeg -i input.mp4 -r 30 image-%3d.jpg
  • -r 30 表示每秒提取 30 帧
  • image-%3d 文件命名格式是 image-001.jpg
ffmpeg -i input.mp4 -r 30 -t 4 image-%3d.jpg
  • -t 4 表示取第 4 秒的帧
ffmpeg -i input.mp4 -r 30 -t 4 -vframes 1 image-%3d.jpg
  • -vframes 1 表示取 1 帧

裁剪视频

ffmpeg -i input.mp4 -vf crop=w=1500:h=600:x=0:y=200 output.mp4
  • w=1500 表示输出视频宽度 1500 px
  • h=600 表示输出视频高度 600 px
  • x=0 y=200 表示从坐标(0, 200)开始裁剪

视频旋转

ffmpeg -i input.mp4 -metadata:s:v rotate="-90" -codec copy outut.mp4
  • rotate=“-90” 表示将视频顺时针旋转 90°

视频镜像

ffmpeg -i input.mp4 -vf "hflip" outut.mp4
  • -vf “hflip” 表示将视频水平镜像,vflip 则是垂直镜像

参考链接:

  • FFmpeg----图片处理 https://www.jianshu.com/p/b53943fc3819
  • ffmpeg 从视频中提取图片 https://blog.csdn.net/lovelovelovelovelo/article/details/101443618
  • ffmpeg 设置视频帧率 https://blog.csdn.net/ss00_2012/article/details/74937447
  • 使用 ffmpeg 合并多个视频文件 https://blog.csdn.net/winniezhang/article/details/89260841
  • FFmpeg 音视频简单合并 https://blog.csdn.net/u012725623/article/details/104008263
  • 使用 ffmpeg 将音频文件转换为 mp3 https://cloud.tencent.com/developer/ask/sof/48924
  • [FFmpeg] Windows 下使用 ffmpeg 为视频添加字幕 https://blog.csdn.net/u013699869/article/details/48162417/
  • FFmpeg 命令行 视频转为 GIF 动图 https://www.cnblogs.com/yibinboy/p/12751659.html
  • 使用 ffmpeg 裁剪和合并视频 https://www.cnblogs.com/sn-dnv-aps/p/10832852.html
  • ffmpeg 调节视频声音大小 https://www.cnblogs.com/shaosks/p/15010686.html
  • ffmpeg 对视频进行缩放和裁剪操作 https://www.cnblogs.com/xuguangzong/p/15775177.html
  • FFmpeg之视频/图片镜像旋转(十三) https://blog.csdn.net/u010164190/article/details/112689804
  • 30分钟带你入门,20个 FFmpeg操作命令,包你学会 https://zhuanlan.zhihu.com/p/455572544

到了这里,关于常用 FFmpeg 命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • FFMPEG使用DrawText滤镜添加字幕,包含ndk编译freetype

    FFMPEG使用DrawText滤镜添加字幕,包含ndk编译freetype

            ffmpeg使用drawtext滤镜需要在编译的时候使能drawtext,要想成功使能必须要先集成编译freetype库,并通知到ffmpeg(交叉编译没有安装到系统库路径)。         也有看到有的文章说需要集成fribidi,笔者也交叉编译了,但是最终没有用到,可能是ffmpeg版本的原因。 freety

    2024年01月17日
    浏览(15)
  • [FFmpeg] 常用ffmpeg命令

    去水印  ffmpeg -i water.jpeg -strict -2 -vf delogo=x=300:y=250:w=56:h=18:show=0 no_water.jpeg 打时间戳 ffmpeg -i perf_60Hz_Raw.mp4 -vf \\\"drawtext=fontsize=160:fontcolor=red:text=\\\'%{pts:hms}\\\'\\\" -c:v libx264 -an -f mp4 perf_output.mp4 -y ffmpeg -i perf_8k.mp4 -vf \\\"drawtext=fontsize=160:fontcolor=red:text=\\\'%{pts:hms}\\\'\\\" -c:v libx264 -an -f mp4 perf_outpu

    2024年02月10日
    浏览(8)
  • Vue 3 + ffmpeg + wasm 实现前端视频剪辑、音频剪辑、音波展示、视频抽帧、gif抽帧、帧播放器、字幕、贴图、时间轴、素材轨道

    预览 www.bilibili.com/video/BV1YT411Y7YJ 技术栈: 💪 Vue 3、Vue-Router 4、Vite、pnpm、esbuild、TypeScript ☀️ Pinia 状态管理 🌪 Tailwind 原子css集成 💥 ffmpeg、wasm 底层音视频处理集成 功能 多轨道时间轴,支持帧缩放,时间缩放 支持多种类型轨道的添加删除 多功能轨道调节,支持音视频轨

    2024年02月11日
    浏览(17)
  • FFmpeg进阶-给视频添加马赛克效果

    FFmpeg进阶-给视频添加马赛克效果

    很多时候为了隐藏视频中的敏感信息如人脸、身份证号、车牌号等,我们会采用马赛克算法对视频帧中的一部分内容进行处理。这里介绍一下如何采用FFmpeg实现马赛克效果。 马赛克效果算法的原理如下: 1.分块处理:首先将图像划分为多个小块或区域 2.像素替换:对于每个小块,

    2024年02月21日
    浏览(11)
  • 使用ffmpeg实现给音频,视频添加水印的操作

    使用ffmpeg实现给音频,视频添加水印的操作

    本文主要针对ffmpeg进行整理,从而解决在现实中可能存在的问题。 这里参考的是 Java后台用ffmpeg命令给视频添加水印 - ^身后有尾巴^ - 博客园 (cnblogs.com) 1:先去ffmpeg官网下载其压缩包  Download FFmpeg 下载,解压到指定位置  2.将压缩包拷贝到你想的任意位置并解压,正常解压出

    2023年04月08日
    浏览(11)
  • 【FFmpeg】音视频录制 ① ( 查询系统中 ffmpeg 可录制的音视频输入设备 | 使用 ffmpeg 命令录制音视频数据 | 录制视频数据命令 |录制音频数据| 同时录制音频和视频数据命令 )

    【FFmpeg】音视频录制 ① ( 查询系统中 ffmpeg 可录制的音视频输入设备 | 使用 ffmpeg 命令录制音视频数据 | 录制视频数据命令 |录制音频数据| 同时录制音频和视频数据命令 )

    在 Windows 系统中 , 使用 ffmpeg 命令 录制 音视频 , 需要先获取 系统的 音视频设备 信息 , 录制 音视频 本质上是从 系统音视频设备 中获取数据 ; 执行 命令 , 可以获取 系统中 ffmpeg 可用的 DirectShow 音视频输入设备 ; 命令参数解析 : -list_devices true : 列出所有 ffmpeg 的 指定类型的可

    2024年04月25日
    浏览(19)
  • ffmpeg简介及常用命令

    ffmpeg即使一款音视频编解码工具,同时也是一组音视频编解码开发套件,作为编解码开发套件,它为开发者提供了丰富的音视频处理的调用接口。 ffmpeg提供了多种媒体格式的封装和解封装,包括多种音视频编码、多种协议的流媒体、多种色彩格式转换、多种采样率转换、多种

    2024年02月11日
    浏览(11)
  • 常用 FFmpeg 命令

    视频添加字幕 或:(烧录为 mp4,速度慢) 视频提取字幕 这将下载第一个字幕轨。如果有多个,则使用 0:s:1 下载第二个, 0:s:2 下载第三个,以此类推。可以生成任意所需的格式,改一下扩展名即可。 图片压缩 -q 4 为压缩级别,数字越大压缩级别越高 约束比例压缩 scale=-1:

    2023年04月08日
    浏览(26)
  • ffmpeg 常用命令行详解

    ffmpeg 常用命令行详解

    ffmpeg 是一个命令行音视频后期处理软件 参数说明 -i 文件,orgin.mp3 为待处理源文件 -ss 裁剪时间,后跟裁剪开始时间,或者开始的秒数 -t 裁剪时间 output.mp3 为处理结果文件 2. 合成命令 2.1 混合合成 参数说明 -i 文件 1.mp3 和 2.mp3 为待合成的两个源文件 -filter_complex 过滤器参数

    2024年01月20日
    浏览(9)
  • FFMPEG小白常用命令行

    序列帧转H264视频 ffmpeg -r 60 -f image2 -s 1920x1080 -i fram%d.jpg -vcodec libx264 -crf 25  -pix_fmt yuv420p test.mp4 -vcodec h264  .ffmpeg -r 60 -f image2 -s 1920x1080 -i %04d.jpeg -vcodec h264 test.mp4 %04d 表示用零来填充直到长度为4,i.e 0001…0020…0030…2000 and so on. 如果没有填充,需要相应更改,如 pic%d.png or %d

    2024年02月11日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包