百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

备忘清单:FFmpeg命令行工具的有用命令

zhezhongyun 2024-12-28 16:45 52 浏览


FFmpeg备忘清单

ffmpeg命令行工具的有用命令列表。

下载FFmpeg:https://www.ffmpeg.org/download.html

完整文档:https://www.ffmpeg.org/ffmpeg.html


基本转换

ffmpeg -i in.mp4 out.avi

将MKV文件重混入MP4

ffmpeg -i in.mkv -c:v copy -c:a copy out.mp4

高质量编码

使用crf(恒定速率因子)参数来控制输出质量。crf越低,质量越高(范围:0-51)。默认值为23,并且视觉无损压缩对应于-crf 18。使用preset参数控制压缩过程的速度。附加信息:https://trac.ffmpeg.org/wiki/Encode/H.264

ffmpeg -i in.mp4 -preset slower -crf 18 out.mp4

修整

无需重新编码:

ffmpeg -ss [start] -i in.mp4 -t [duration] -c copy out.mp4
  • -ss指定开始时间,例如00:01:23.000或83(以秒为单位)
  • -t 指定剪辑的持续时间(相同格式)。
  • 最新版本的ffmpeg也有一个标志来提供结束时间-to。
  • -c复制将第一个视频,音频和字幕比特流从输入复制到输出文件,而无需对其进行重新编码。这不会损害质量并使命令在几秒钟内运行。

使用重新编码:

如果不指定-c copy此选项,ffmpeg则会根据您选择的格式自动对输出的视频和音频重新编码。要获得高质量的视频和音频,请分别阅读《x264编码指南》和《AAC编码指南》。

https://ffmpeg.org/trac/ffmpeg/wiki/x264EncodingGuide

http://ffmpeg.org/trac/ffmpeg/wiki/AACEncodingGuide

例如:

ffmpeg -ss [start] -i in.mp4 -t [duration] -c:v libx264 -c:a aac -strict experimental -b:a 128k out.mp4

混合视频和其他视频的音频

要从in0.mp4复制视频并从in1.mp4复制音频,请执行以下操作:

ffmpeg -i in0.mp4 -i in1.mp4 -c copy -map 0:0 -map 1:1 -shortest out.mp4
  • 使用-c复制,将对流进行stream copied重新编码,而不会对其进行重新编码,因此不会造成质量损失。如果要重新编码,请参见FFmpeg Wiki:H.264编码指南。
  • 该-shortest选项将使输出持续时间与最短输入流的持续时间匹配。
  • 有关更多信息,请参阅-map文档。

合并视频

首先,制作一个文本文件

file 'in1.mp4'
file 'in2.mp4'
file 'in3.mp4'
file 'in4.mp4'

然后,运行ffmpeg:

ffmpeg -f concat -i list.txt -c copy out.mp4

延迟音频/视频

将影片延迟3.84秒:

ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 1:v -map 0:a -vcodec copy -acodec copy out.mp4

延迟音频3.84秒:

ffmpeg -i in.mp4 -itsoffset 3.84 -i in.mp4 -map 0:v -map 1:a -vcodec copy -acodec copy out.mp4

刻录字幕

使用libass库(确保ffmpeg安装在配置中具有该库--enable-libass)。

首先将字幕转换为.ass格式:

ffmpeg -i sub.srt sub.ass

然后使用视频过滤器添加它们:

ffmpeg -i in.mp4 -vf ass=sub.ass out.mp4

从视频中提取帧

要提取1到5秒之间以及11到15秒之间的所有帧,请执行以下操作:

ffmpeg -i in.mp4 -vf select='between(t,1,5)+between(t,11,15)' -vsync 0 out%d.png

仅每秒提取一帧:

ffmpeg -i in.mp4 -fps=1 -vsync 0 out%d.png

旋转视频

顺时针旋转90:

ffmpeg -i in.mov -vf "transpose=1" out.mov

对于transpose参数,您可以传递:

0 = 90CounterCLockwise and Vertical Flip (default)
1 = 90Clockwise
2 = 90CounterClockwise
3 = 90Clockwise and Vertical Flip

使用-vf "transpose=2,transpose=2"180度。


下载“传输流”视频流

  1. 找到播放列表文件,例如使用Chrome> F12>网络>过滤器:m3u8
  2. 下载并连接视频片段:
ffmpeg -i "path_to_playlist.m3u8" -c copy -bsf:a aac_adtstoasc out.mp4

如果收到“协议'https不在白名单'文件,密码'上!” 错误,请添加protocol_whitelist选项:

ffmpeg -protocol_whitelist "file,http,https,tcp,tls" -i "path_to_playlist.m3u8" -c copy -bsf:a aac_adtstoasc out.mp4

静音一些音频片段

要将音频的前90秒替换为静音,请执行以下操作:

ffmpeg -i in.mp4 -vcodec copy -af "volume=enable='lte(t,90)':volume=0" out.mp4

要将1'20“和1'30”之间的所有音频替换为静音,请执行以下操作:

ffmpeg -i in.mp4 -vcodec copy -af "volume=enable='between(t,80,90)':volume=0" out.mp4

Deinterlace

ffmpeg -i in.mp4 -vf yadif out.mp4

从图像创建视频幻灯片

参数:-r标记图像帧率(每个图像的倒数时间);-vf fps=25标记输出的真实帧率。

ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf fps=25 -pix_fmt yuv420p out.mp4

从视频中提取图像

  • 提取所有帧: ffmpeg -i input.mp4 thumb%04d.jpg -hide_banner
  • 每秒提取一帧: ffmpeg -i input.mp4 -vf fps=1 thumb%04d.jpg -hide_banner
  • 仅提取一帧: ffmpeg -i input.mp4 -ss 00:00:10.000 -vframes 1 thumb.jpg

元数据:更改标题

ffmpeg -i in.mp4 -map_metadata -1 -metadata title="My Title" -c:v copy -c:a copy out.mp4

相关推荐

不看必后悔!15个三星GoodLock隐藏小技巧~(上)

很多刚用三星手机的星粉们,一定对三星GoodLock这个宝藏App还不是很了解,今天就带大家一起详细去看看GoodLock这个大家族究竟有多少宝藏功能及成员呢?让我们一起来看看吧~由于Good...

惊魂幻象理智值监控WA!大字体+范围提示一目了然

一个WA助你轻松监控大幻象理智值,不再错过恢复时机这个WA用大字体实时同步我们的理智值下面的图标提示恢复宝珠的剩余次数上面的图标高亮则意味着我们在宝珠的恢复范围内我们可以将图标随意移动到适合自己观察的...

盘点十个超炫的jQuery插件(jquery插件是干什么的)

“DevExpress14.2新版发布会”即将推出。心动不如行动,赶快报名吧!我们期待与您相约。今天小编为大家搜罗了十个超酷的jQuery插件,这可以使你的网站界面更加友好。jQuery创造了令人难...

Google官方梳理,Android 多返回栈技术详解

用户通过系统返回按钮导航回去的一组页面,在开发中被称为返回栈(backstack)。多返回栈即一堆"返回栈",对多返回栈的支持是在Navigation2.4.0-alpha0...

说三星手机系统不好用,因为没有玩明白三星,三星Diy功能超强大

都说三星手机系统不好用,其实真正用起来,挺好用的三星手机系统像块没打磨的玉,默认设置是基础款,用着普通。但你要是肯花点时间,它能变得特别顺手。关键就在一个叫GoodLock的工具,它是三星自家出的...

Sam Helper三星手机用户必装神器(三星手机必装app)

SamHelper这款软件集合了三星手机主题工具当前主题o主题路径o主题安装系统设置屏幕模式o状态栏o文件o频段o暗码Lock&LabsGoodLockoGalaxyLa...

外卖套餐搭配的探索和应用(外卖套餐搭配技巧)

本文系外卖美食知识图谱系列的第三篇文章,从技术层面我们会介绍外卖套餐搭配的技术方案,包括离线、实时的套餐搭配的迭代,套餐质量评估方案,同时会介绍套餐搭配的业务应用。1.背景让用户更方便快捷地选购到满...

用几行原生JS就可以实现丝滑的元素过渡效果

作者:ConardLi大家可以看下下面这个应用的页面切换体验,是不是很丝滑~做过体验优化的朋友应该都清楚,如果用原生的CSS或者JS动画去实现,想要实现出类似的效果,不会特别简单,而且也要考...

速腾车主RNS315固件及2016年6月地图升级详细教程

本来打算买个大众原厂的地图卡,后来在网上看其实不需要原厂地图卡也可以升级,于是开始在网上收集资料,开始天真的以为只要有密匙文件修改一下就可以免费升级了,其实最主要的还是破解的固件,不知道为什么,网上找...

学习一个母词act,一次解析一串关联、复合、衍生词族

首先形义解读一下act的原始意象,A是力量与行动的开始C是范围的覆盖T是目标目的的接触与刻度合在一起,行动行为艺术力量的复合行为以下是关于act的复合词、词根词缀衍生词及其变形后的词根衍生词的详细...

优迈系统(一体化控制柜)快车调试(八)

逻辑故障和驱动故障分析段码管上显示警告码和故障码对照表警告码操作模式故障码操作模式或驱动故障AL000EPC(紧急电源管制模式)ER100DTC(门在设定时间内不能关到位)AL001COR(复位模式)...

Layui简单实现左侧菜单和Tab选项卡动态操作

<!DOCTYPEhtml><html><head><metacharset="utf-8">...

码农如何快速打造一个有设计感的网站

像我这样的程序员来说经常被“设计”这个词吓到,因为我是一名程序员而不是设计师,我拥有的是计算机学位证,另外我对ComicSans字体并不介意。(注:ComicSans字体是Win95附带...

vue3 新特性 computed、watch、watchEffect 看完就会

1、watchEffectwatchEffect侦听器是一个副作用函数,不需要指定监听的某个属性,监视的回调中用到哪个属性,就会监听哪个属性,一旦运行就会立即执行。watchEffect与com...

10个冷门但非常实用前端开发者很少用的CSS规则

许多开发者只学了基础——比如修改颜色、设置字体或创建弹性布局——就止步不前。但CSS是一门精深而多用途的语言,掌握后能帮你构建优雅、高效且无障碍的界面。无论你是从零搭建还是微调设计系统,掌握一些高...