您当前的位置:首页 > 电脑百科 > 软件技术 > 音/视频编辑

FFmpeg命令帮你实现音视频编辑

时间:2022-08-29 14:04:34  来源:今日头条  作者:移动Labs

FFmpeg是一个非常著名的多媒体框架开源项目,它可用于编码,解码,转码,音视频复用,音视频解复用,播放等重要功能。FFmpeg作为一个多媒体框架被各大音视频播放器软件使用于支持广泛的音视频格式,还有很多Android ROM为了提高音视频的兼容性也内置了ffmpeg。FFmpeg项目中的ffmpeg工具具有非常强大的功能,可以满足我们日常对视频裁剪,合并和编辑的需求。

作者:户锐

单位:中国移动智慧家庭运营中心

Part 01

● FFmpeg简介 

FFmpeg是一个非常著名的多媒体框架,它可用于编码,解码,转码,音视频复用,音视频解复用,播放等重要功能,ffmpeg采用LGPL V2.1, 其中部分可选组件采用GPL V2许可证,其官网地址:https://ffmpeg.org/。

FFmpeg作为一个多媒体框架被各大音视频播放器软件使用用于支持广泛的音视频格式,还有很多Android ROM为了提高音视频的兼容性也内置了ffmpeg,中国移动的AOS-RM操作系统也内置了ffmpeg用于提供强大的兼容性。另一方面FFmpeg项目还提供了几个重要工具,分别是ffmpeg, ffplay, ffprobe。其中ffmpeg主要用于视频编辑操作,比如转码,为视频添加背景音乐,添加特效等, ffplay工具主要用于播放音视频文件,ffprobe则用于查看音视频文件的详细信息。

Part 02

● FFmpeg工具下载和安装 

windows版本下载页面:

https://ffmpeg.org/download.html#build-windows

Windows版本5:

https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-5.0.1-full_build.7z

下载后解压到本地,并配置环境变量,将ffmpeg/bin路径加入到PATH中。

 

打开Windows命令行,输出ffmpeg%20-version,验证ffmpeg命令是否可以正常执行。

Part 03

● FFmpeg命令使用 

方式ffmpeg主要用于视频编辑操作,比如转码,为视频添加背景音乐,添加特效等

时间单位说明:-t 后面的时间单位为秒, -ss后面的时间格式是HH:MM:SS(时:分:秒)

3.1. 调整视频文件分辨率

命令:ffmpeg -i 输入文件名 -s 宽度*高度 输出文件名

示例:ffmpeg -i 1.mp4 -s 640*480 out.mp4

示例说明:将1.mp4文件的分辨率修改为640*480

3.2.视频文件容器格式转换

命令:ffmpeg -i 输入文件 输出文件

示例:ffmpeg -i 1.mp4 1.avi

示例说明:将mp4格式转换为avi格式

查看支持的格式:ffmpeg -formats

3.3.视频文件编码器格式转换

命令:ffmpeg -i 输入文件 -vcodec 视频格式 -acodec 音频格式输出文件

示例:ffmpeg -i 1.mp4 -vcodec hevc -acodec mp3 out.mp4

示例说明:将视频编码格式转为HEVC,音频编码格式转换为MP3

查看支持的格式:ffmpeg -codecs

3.4.多个视频合并

3.4.1.使用FFmpeg concat分离器

说明:要求编码格式一致。建议合并前将各个文件的分辨率转换为一致,否则会导致视频无法正常播放。另外使用此命令前需要先生成视频列表文件,可以手动创建也可以使用命令。

命令:ffmpeg -f concat -i 视频列表文件 -c copy 输出文件

示例:ffmpeg -f concat -i filelist.txt -c copy output.mp4

示例说明:将filelist.txt中指定的文件合并为output.mp4

在windows命令行生成filelist.txt(读取my开头的mp4文件):(for %i in (my*.mp4) do @echo file '%i') > filelist.txt

filelist.txt的内容

file 'my1.mp4'

file 'my2.mp4'

file 'my3.mp4'

3.4.2.使用FFmpeg concat协议

说明:只有特定格式的文件能连接-如:mpg或mpeg transport stream格式

命令:ffmpeg -i "concat:文件1|文件2|文件3" -c copy 输出文件

示例:ffmpeg -i "concat:1.mpg|2.mpg|3.mpg" -c copy output.mpg

ffmpeg -i "concat:1.ts|2.ts|3.ts" -c copy output.ts

示例说明:将1.mpg, 2.mpg, 3.mpg文件合并为output.mpg

3.5.多张图片转为视频

命令:ffmpeg -r 每秒图片张数 -i 图片文件名 视频文件名

示例:ffmpeg -r 3 -i %3d.jpg out.mp4

示例说明:将当前目录001.jpg到999.jpg的图片,以每秒3张图片的速度合成视频文件out.mp4

3.6.多张图片转为视频并添加背景音乐

命令:ffmpeg -r 每秒图片张数 -i 图片文件名 -i 音频文件 视频文件名

示例:ffmpeg -r 3 -i %3d.jpg -i test.mp3 out2.mp4

示例说明:将当前目录001.jpg到999.jpg的图片,以每秒3张图片的速度合成视频文件out.mp4,同时添加音频

补充:如果音频文件的长度大于视频的文件,则合成后的视频会停留在最后一个画面播放音频,此时可以加上-shortest参数,完整的命令ffmpeg -r 3 -i %3d.jpg -i test.mp3 -shortest out2.mp4

3.7.从视频中提取图片

命令:ffmpeg -i 原始视频文件 -ss 开始时间 -t 时间长度 -s 宽度*高度 -r 每秒图片张数 输出图片文件名

示例:ffmpeg -i 1.mp4 -ss 00:00:05 -t 5 -s 640*624 -r 3 %3d.jpg

示例说明:从1.mp4文件的5秒开始往后的5s内容获取640*624分辨率的图片,每秒获取3张图片,%3d.jpg表示图片的名字以001.jpg, 002,.jpg的形式存在。图片的分辨率最好和视频的分辨率一致,可以用ffproble -i 1.mp4的方式获取视频的分辨率信息。

3.8.视频文件去除音频

命令:ffmpeg -i 原始视频文件 -vcodec copy -an 去除音频后的视频文件

示例:ffmpeg -i 1.mp4 -vcodec copy -an out.mp4

示例说明:-vcodec copy表示视频编码格式不变, -an表示删除音频

3.9.视频文件添加背景音乐

命令1:ffmpeg -i 原始视频文件 -i 背景音乐文件 -filter_complex [1:a]aloop=loop=-1:size=2e+09[out];[out][0:a]amix -t 视频时间 添加背景音乐后的视频文件

示例:ffmpeg -i 1.mp4 -i test.mp3 -filter_complex [1:a]aloop=loop=-1:size=2e+09[out];[out][0:a]amix -t 10 out.mp4

示例说明:-filter_complex滤镜, [1:a]aloop=loop=-1:size=2e+09[out];将背景音无限循环, [out][0:a]amix将背景音和视频中的音频混合, -t 10文件时长,单位为秒,建议取值原始视频总时长

命令2:ffmpeg -i 原始视频文件 -stream_loop -1 -i 背景音乐文件 -filter_complex [0:a][1:a]amix -t 时长 添加背景音乐后的视频文件

示例:ffmpeg -i video.mp4 -stream_loop -1 -i test.mp3 -filter_complex [0:a][1:a]amix -t 10 out4.mp4

示例说明:-stream_loop -1 参数-1代表循环输入源(背景音乐),[0:a][1:a]amix 将0和1号的音频流进行混合, -t 10文件时长,单位为秒,建议取值原始视频总时长

3.10.视频文件替换音频

命令:ffmpeg -an -i 原始视频文件 -stream_loop -1 -i 背景音乐文件 -t 时长 输出视频文件

示例:ffmpeg -an -i 1.mp4 -stream_loop -1 -i test.mp3 -t 11 out.mp4

示例说明:将test.mp3文件添加到1.mp4中,并替换1.mp4中的原始音频

3.11.视频剪辑:保留部分片段

3.11.1.去除片头

命令:ffmpeg -ss 开始时间 -i 原始视频文件 剪辑后的视频文件

示例:ffmpeg -ss 5 -t 10 -i 1.mp4 out.mp4

示例说明:去除片头5秒的内容,保存到out.mp4

3.11.2.保留中间区域

命令:ffmpeg -ss 开始时间 -t 剪辑后的时间总长度 -i 原始视频文件 剪辑后的视频文件 时间单位为秒

示例:ffmpeg -ss 5 -t 10 -i 1.mp4 out.mp4

示例说明:获取1.mp4文件的5s开始保留10s长度的内容,保存到out.mp4

3.11.3.保留中间区域

命令:fmpeg -ss 开始时间 -i 原始视频文件 -to 结束时间 -c 剪辑后的视频文

示例:fmpeg -ss 00:00:05 -i 1.mp4 -to 00:00:10 -c copy out.mp4

示例说明:获取1.mp4文件的00:00:05到00:00:10的内容,保存到out.mp4

3.12.加快播放速度

3.12.1.视频加速

命令:ffmpeg -i 原始视频文件 -filter:v "setpts=倍速的倒数*PTS" 编辑后的视频文件

示例:ffmpeg -i test.mp4 -filter:v "setpts=0.5*PTS" output.mp4

示例说明:-filter:v "setpts=0.5*PTS"表示2倍速,0.5=1/2,取值0.25表示4倍速,取值为2时表示0.5倍慢速播放。倍速的倒数范围[0.25, 4]

3.12.2.音频加速

命令:ffmpeg -i 原始视频文件 -filter:"atempo = 倍速" -vn 编辑后的视频文件

示例:ffmpeg -i test.mp4 -filter:"atempo = 2.0" -vn output.mp4

示例说明:--filter:"atempo = 2.0"表示2倍速atempo配置区间在0.5和2.0之间, -vn表示移除视频

3.12.3.音视频同时加速

命令:ffmpeg -i 原始视频文件 -filter:v "setpts=倍速的倒数*PTS" 编辑后的视频文件

示例:ffmpeg -i test.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output2.mp4

示例说明:音频和视频都2倍速

示例2:ffmpeg -i test.mp4 -filter_complex "[0:v]setpts=0.25*PTS[v];[0:a]atempo=2.0,atempo=2.0[a]" -map "[v]" -map "[a]" output3.mp4

示例2说明:音频和视频都4倍速,由于atempo最大值为2,因此设置了两次

3.13.图片转场特效

命令:ffmpeg -loop 1 -t 时长 -i 图片文件名 -loop 1 -t 时长 -i 图片文件名 -filter_complex "xfade=transition=特效名:duration=特效时长:offset=视频做转场的起始位置,format=yuv420p" 编辑后的视频文件

示例:ffmpeg -loop 1 -t 3 -i 1.jpg -loop 1 -t 3 -i 2.jpg -filter_complex "xfade=transition=rectcrop:duration=1:offset=2,format=yuv420p" out.mp4

示例说明:要求图片1.jpg和2.jpg的分辨率一致,duration=1:offset=2表示转场效果从第2秒开始持续1秒。transition=rectcrop是转场效果,rectcrop可以修改为其他转场效果

可以用的特效参考:

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

3.14.命令常用选项介绍

参考:

https://ffmpeg.org/ffmpeg.html

 




Tags:FFmpeg   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
iOS使用FFmpeg命令行
官方文档 FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案。 FFmpeg的代码是包括两部分...【详细内容】
2023-03-23  Search: FFmpeg  点击:(223)  评论:(0)  加入收藏
Android中使用ffmpeg编码进行rtmp推流
要理解RTMP推流,我们就要知道详细原理。本文将详细的来给大家介绍RTMP推流原理以及如何推送到服务器,首先我们了解一下推流的全过程: 我们将会分为几个小节来展开:一. 本文用到...【详细内容】
2022-09-27  Search: FFmpeg  点击:(521)  评论:(0)  加入收藏
FFmpeg命令帮你实现音视频编辑
FFmpeg是一个非常著名的多媒体框架开源项目,它可用于编码,解码,转码,音视频复用,音视频解复用,播放等重要功能。FFmpeg作为一个多媒体框架被各大音视频播放器软件使用于支持广泛的...【详细内容】
2022-08-29  Search: FFmpeg  点击:(538)  评论:(0)  加入收藏
linux系统中Nginx+FFmPeg+vlc实现网页视频播放配置过程
linux系统中Nginx+FFmPeg实现网页监控视频播放配置过程1.安装好的nginx上添加模块nginx-http-fiv-module-master此模块是rtmp模块的升级版,有它所有的功能,因此安装它(1)从Git...【详细内容】
2022-07-24  Search: FFmpeg  点击:(351)  评论:(0)  加入收藏
简单的视频推流测试(ffmpeg+nginx)
这两天需要做一个视频推流测试,在网上找了一圈资料,使用ffmpeg+nginx是比较快捷和通用的方法,于是就开始动手开整!推流测试一 测试环境推流:ubuntu18.04,ffmpeg。服务器+拉流:win7,n...【详细内容】
2022-07-22  Search: FFmpeg  点击:(758)  评论:(0)  加入收藏
完美解决Linux环境编译ffmpeg库
背景说明项目功能实现需要在Linux下编译出可用的FFmpeg库。FFmpeg在编译过程中是需要链接其它三方库的,比如x265 x265等,否则可能会造成功能不全(如程序接口返回找不到H264编码...【详细内容】
2022-07-08  Search: FFmpeg  点击:(642)  评论:(0)  加入收藏
音视频开源基础 - ffmpeg命令
一、ffmpeg、ffplay、ffprobe区别ffmpeg:超快音视频编码器(类似爱剪辑)ffplay:简单媒体播放器ffprobe:简单多媒体流分析器二、帮助文档查看2.1 ffmpeg查看帮助文档基本信息:ffmpeg...【详细内容】
2022-06-22  Search: FFmpeg  点击:(659)  评论:(0)  加入收藏
FFmpeg 视频解码
摘要这篇文章介绍怎么实现视频解码,具体步骤为读取Sample.mkv视频文件,从中提取视频流,然后解码为YUV图像数据,把YUV数据存储为PGM灰度图像,或者存储为YUV420p RAW格式视频。初始...【详细内容】
2022-06-01  Search: FFmpeg  点击:(364)  评论:(0)  加入收藏
使用ffmpeg转换flv视频为MP4格式
网上有很多转换工具软件,如格式工厂、迅捷视频转换器等,但都不是很纯净,很多带有广告。FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用...【详细内容】
2022-05-07  Search: FFmpeg  点击:(504)  评论:(0)  加入收藏
如何用FFMpeg生成视频
前言FFMpeg读做“FF Mpeg”,“FF”指的是“Fast Forward”,而“Mpeg”指的是Moving Picture Experts Group(动态图像专家组)。根据官方介绍,FFMpeg是一个完整的、跨平台的音频和...【详细内容】
2022-02-11  Search: FFmpeg  点击:(654)  评论:(0)  加入收藏
▌简易百科推荐
视频杂音怎么消除只留人声?简单方法快来学
视频杂音怎么消除只留人声?在家看视频时,你是否经常被背景噪音所困扰,导致听不清人物对话?今天,我们就来介绍几个能帮我们消除视频中杂音的软件,让我们能享受清晰纯净的视听体验!一...【详细内容】
2024-01-31  译言工具集    Tags:视频杂音   点击:(49)  评论:(0)  加入收藏
如何将两个视频无缝拼接成一个视频?几种简单易行的方法推荐
怎么把两个视频拼接成一个视频?将两个视频拼接成一个视频是一种常见的视频编辑需求,特别是在需要制作长视频或合集时。拼接后的视频可以更加流畅自然,便于观看和分享。若是拼接...【详细内容】
2024-01-17  技术小蚂蚁    Tags:视频   点击:(69)  评论:(0)  加入收藏
初学者如何开始学习视频剪辑?新手如何利用剪辑技术赚钱?
想提升自身专业技术技能,我建议报名一个培训班去进行学习。今天我给亲们网罗了几家正规且口碑不错的职业教育学校,可以参考一下王氏教育开办多年几乎零负面,而且全国校区都是实...【详细内容】
2024-01-09  利娇少女    Tags:视频剪辑   点击:(82)  评论:(0)  加入收藏
剪辑师怎么学?剪辑师一个月收入多少?
剪辑师的月收入因地区、经验、技能水平等因素而异。一般来说,初级剪辑师的月收入在几千元左右,中级剪辑师的月收入在一万元左右,高级剪辑师的月收入则可能超过一万元。当然,这只...【详细内容】
2023-12-16  王氏动漫学习训练    Tags:剪辑师   点击:(103)  评论:(0)  加入收藏
ev剪辑如何消音?视频消音方法全都在这!
EV剪辑是一款视频制作软件,支持全格式精准剪辑,可以实现水印添加、配音、字幕、多轨道剪辑、转场等功能。ev剪辑支持消音操作,同时需要注意的地方还是很多的,在进行消音处理时,需...【详细内容】
2023-12-12  温暖如初的生活    Tags:剪辑   点击:(114)  评论:(0)  加入收藏
视频合并怎么制作?
听说你想了解一些视频合并方法?我能告诉你,这可是个有趣的活儿!你知道吗,合并视频不仅可以让你的作品更具创意,还能让你成为朋友圈里的视频剪辑高手!在这里,我将为大家介绍视频合并...【详细内容】
2023-12-12  王旭妍爱生活    Tags:视频合并   点击:(106)  评论:(0)  加入收藏
视频剪辑怎么剪?
在这个数字时代,我们对社交媒体上的视频编辑越来越感兴趣。你可能已经看到了各种专业水平的视频,从搞笑的猫咪视频到惊险刺激的极限运动镜头。而你可能也梦想着自己成为一个视...【详细内容】
2023-12-10  叮当猫的颜色    Tags:视频剪辑   点击:(102)  评论:(0)  加入收藏
新手做短视频用哪个软件好
新手做短视频用哪个软件好?随着短视频的兴起,越来越多的人开始接触短视频制作。对于新手来说,选择一个合适的短视频制作软件非常重要。本文将从以下5个步骤,教新手宝子快速制作...【详细内容】
2023-12-05  短视频    Tags:短视频   点击:(137)  评论:(0)  加入收藏
机器配音和真人配音有什么区别?
今天我要跟你聊聊机器配音和真人配音有什么区别。你知道吗,这个话题可不简单,因为这关乎到我们日常生活中的声音体验,听起来有点高大上,但实际上离我们并不遥远。首先,咱们得来说...【详细内容】
2023-11-30  叮当猫的颜色    Tags:配音   点击:(163)  评论:(0)  加入收藏
视频裁剪后清晰度下降用什么软件?
你是否曾经遇到过这样的场景——想要裁剪一段视频,但却苦于没有合适的工具来实现?别着急!视频裁剪软件就是你的好帮手。这些软件充分利用了先进的视频处理技术,通过直...【详细内容】
2023-11-27  数码小风向    Tags:视频   点击:(162)  评论:(0)  加入收藏
站内最新
站内热门
站内头条