首页 > 其他分享 >FFmpeg操作视频的命令:

FFmpeg操作视频的命令:

时间:2023-04-04 16:15:40浏览次数:40  
标签:视频 00 ffmpeg 命令 mp4 input output FFmpeg

FFmpeg操作视频的命令:


图片加水印测试:
D:\desktop\FFmpeg\bin\ffmpeg.exe -i "D:\desktop\重庆文旅摄影协会\视觉\AI设计\01.mp4"  -vf "movie=D\\:/favicon.png,scale= 60: 30 [watermark]; [in][watermark] overlay=main_w-overlay_w-10:main_h-overlay_h-10 [out]" -y "D:/desktop/3.mp4"

图片加水印测试:
D:\desktop\FFmpeg\bin\ffmpeg.exe -i "D:\desktop\重庆文旅摄影协会\视觉\AI设计\01.mp4" -i D\\:/favicon.png -filter_complex "overlay=10:10:alpha=0.5,scale=200:-1" -codec:a copy "D:/desktop/777.mp4"

1.压缩视频命令:

ffmpeg -i input.mp4 -c:v libx264 -crf 23 -c:a aac -b:a 128k output.mp4

说明:

  • -i input.mp4:输入视频文件名
  • -c:v libx264:使用libx264编码器压缩视频
  • -crf 23:视频质量,数值越小,质量越高,一般取值范围是18-28,推荐使用23
  • -c:a aac:使用aac编码器压缩音频
  • -b:a 128k:音频比特率,128k是常用的音频码率
  • output.mp4:输出视频文件名

2.添加水印命令:

ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10" -codec:a copy output.mp4

说明:

  • -i input.mp4:输入视频文件名
  • -i watermark.png:输入水印图片
  • -filter_complex "overlay=10:10":设置水印位置,10:10表示水印在视频左上角,可以根据需要调整位置,如:overlay=main_w-overlay_w-10:10 表示水印在视频右上角
  • -codec:a copy:音频不需要重新编码,直接复制到输出文件中,节省时间和质量
  • output.mp4:输出视频文件名

3.调整水印大小和透明度命令:

ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10:alpha=0.5,scale=200:-1" -codec:a copy output.mp4

说明:

  • -filter_complex "overlay=10:10:alpha=0.5,scale=200:-1":在原有的水印位置基础上增加alpha透明度为0.5,然后将水印缩放到宽度为200,高度等比例缩放,可以根据需要调整大小和透明度
  • output.mp4:输出视频文件名

注意:以上命令仅供参考,具体参数需要根据实际情况调整。

字幕

视频添加字幕

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)

图片旋转

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 倍速播放,以此类推

同时调整视频音频速度
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
————————————————
版权声明:本文为CSDN博主「luxiu-yuruyan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/KYuruyan/article/details/124518983

标签:视频,00,ffmpeg,命令,mp4,input,output,FFmpeg
From: https://www.cnblogs.com/wufaxiang/p/17286737.html

相关文章

  • 利用bat文件在命令行进行代理切换
    命令行里,用python也好,用scoop也好,用git也好,总是需要用代理搞一下。看到有篇博客写了一个简单的函数,用来做命令行的开关,于是我也仿着人家写了一个bat,用来做cmd的代理开关。其中遇到了一些小坑,稍微趟了一下,哎,可能powershell就没这么多破事了吧。批处理的语法实在是太原始了,脑壳......
  • 阿西莫夫机器人 用 ChatGPT 开发一个能听懂人话的命令行工具
    小结:1、3种角色2、设立榜样ChatGPT会将整个聊天记录作为输入,因此我们可以通过提供一些“榜样”来让ChatGPT更好地理解我们的意图。这意味着我们可以在界面上将ASSISTANT原先错误的回答修改为正确的,也就是给出了正确回答的“好榜样”。   用ChatGPT开发一个能听......
  • 运维高端命令汇总(持续更新中)
    1.aureport \\登陆系统信息审计说明:https://deepinout.com/linux-cmd/linux-audit-system-related-cmd/linux-cmd-aureport.html 2.rpm-Va\\校验所有的RPM软件包,查找丢失的文件说明:S表示文件长度发生了变化M表示文件的访问权限或文件类型发生了变化5表示MD5......
  • mvn的简介、安装、使用及常用命令
    一、简介nvm是一个node的版本管理工具,可以简单操作node版本的切换、安装、查看等,与npm不同的是,npm是依赖包的管理工具,nvm是nodejs的版本管理工具,通过它可以安装和切换不同版本的nodejs。 二、安装可以在GitHub上下载最新版本。nvm-noinstall.zip:绿色免安装版,但......
  • windbg调试命令8(bp、bu、bm、bl、bc、ba、be、bd)
    以下以skinhgy为例,windbg附加运行1.bp命令是在某个地址下断点,可以bp0x7783FEB也可以bpMyApp!SomeFunction对于后者,WinDBG会自动找到MyApp!SomeFunction1)当代码修改之后,函数地址改变,该断点仍然保持在相同位置,不一定继续有效; 2)WinDBG不会把bp断点保存工作空间中bp Addre......
  • ITtools平台中通过<mp4>标签插入的视频无法播放的问题
    首先检查视频资源链接等信息,确保不是代码的问题经检查后发现,具体的原因是因为IIS中没有MP4的映射,解决方案如下:win7:控制面板–查看方式(右上角)–小图标–管理工具–Internet信息服务(IIS)管理器–左侧单击自己的网站名称–右边双击“MIME类型”–最右边点击添加–文件扩展名填......
  • Lecture 5 命令行环境
    课后练习任务控制我们可以使用类似psaux|grep这样的命令来获取任务的pid,然后您可以基于pid来结束这些进程。但我们其实有更好的方法来做这件事。在终端中执行sleep10000这个任务。然后用Ctrl-Z将其切换到后台并使用bg来继续允许它。现在,使用pgrep来查找pid并......
  • 视频相关概念
    码率:数据传输时单位时间传送的数据位数,单位是kbps(千位每秒),可以将码率理解为取样率,单位时间内取样率越大精度越高,处理出来的文件就越接近原始文件。帧率:以帧为单位的位图图像连续出现在显示器上的频率,单位为赫兹(Hz。FPS:画面每秒传输帧数,测量用于保存、显示动态视频的信息数量。......
  • #docker基础命令
    一、镜像命令1、拉取镜像从镜像仓库中下载镜像到本地,一般是保存在/var/lib/docker目录(分层下载)#拉取最新版本的镜像dockerpullubuntu#拉取指定版本镜像dockerpullubuntu:14.042、查看本地镜像列表同一个仓库源可以有多个TAG,代表这个仓库源的不同版本,使用REPOSITO......
  • maven项目构建命令
    使用cmd进入到项目目录,进行构建。  ......