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

网站建设4年前发布
36 0 0

作者|户锐,单位:中国移动智慧家庭运营中心,FFmpeg是一个非常著名的多媒体框架开源项目,它可用于编码,解码,转码,音视频复用,音视频解复用,播放等重要功能。FFmpeg作为一个多媒体框架被各大音视频播放器软件使用于支持广泛的音视频格式,还有很多Android ROM为了提高音视频的兼容性也内置了ffmpeg。FFmpeg项目中的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则用于查看音视频文件的详细信息。,​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中。,2023030610030006a79896633382d70a551066bf7bdeeae87cf6349,打开Windows命令行,输出ffmpeg -version,验证ffmpeg命令是否可以正常执行。,20230306100301421dec126cff09db86d9227cd8559b5714abe1501,方式ffmpeg主要用于视频编辑操作,比如转码,为视频添加背景音乐,添加特效等,时间单位说明:-t 后面的时间单位为秒, -ss后面的时间格式是HH:MM:SS(时:分:秒),命令:ffmpeg -i 输入文件名 -s 宽度*高度 输出文件名,命令:ffmpeg -i 输入文件 输出文件,命令:ffmpeg -i 输入文件 -vcodec 视频格式 -acodec 音频格式输出文件,说明:要求编码格式一致。建议合并前将各个文件的分辨率转换为一致,否则会导致视频无法正常播放。另外使用此命令前需要先生成视频列表文件,可以手动创建也可以使用命令。,命令:ffmpeg -f concat -i 视频列表文件 -c copy 输出文件,在windows命令行生成filelist.txt(读取my开头的mp4文件):(for %i in (my*.mp4) do @echo file '%i') > filelist.txt,说明:只有特定格式的文件能连接-如:mpg或mpeg transport stream格式,命令:ffmpeg -i "concat:文件1|文件2|文件3" -c copy 输出文件,ffmpeg -i "concat:1.ts|2.ts|3.ts" -c copy output.ts,命令:ffmpeg -r 每秒图片张数 -i  图片文件名 视频文件名,命令:ffmpeg -r 每秒图片张数 -i 图片文件名 -i 音频文件 视频文件名,命令:ffmpeg -i 原始视频文件 -ss 开始时间 -t 时间长度 -s  宽度*高度 -r 每秒图片张数 输出图片文件名,命令:ffmpeg -i 原始视频文件 -vcodec copy -an 去除音频后的视频文件,命令1:ffmpeg -i 原始视频文件 -i 背景音乐文件 -filter_complex [1:a]aloop=loop=-1:size=2e+09[out];[out][0:a]amix -t 视频时间 添加背景音乐后的视频文件,命令2:ffmpeg -i 原始视频文件 -stream_loop -1 -i 背景音乐文件 -filter_complex [0:a][1:a]amix -t 时长 添加背景音乐后的视频文件,命令:ffmpeg -an -i 原始视频文件 -stream_loop -1 -i 背景音乐文件 -t 时长 输出视频文件,命令:ffmpeg -ss 开始时间  -i 原始视频文件  剪辑后的视频文件,命令:ffmpeg -ss 开始时间 -t 剪辑后的时间总长度 -i 原始视频文件  剪辑后的视频文件  时间单位为秒,命令:fmpeg -ss 开始时间 -i 原始视频文件 -to 结束时间 -c 剪辑后的视频文,命令:ffmpeg -i 原始视频文件  -filter:v "setpts=倍速的倒数*PTS"  编辑后的视频文件,命令:ffmpeg -i 原始视频文件 -filter:"atempo = 倍速" -vn 编辑后的视频文件,3.12.3.音视频同时加速,命令:ffmpeg -i 原始视频文件  -filter:v "setpts=倍速的倒数*PTS"  编辑后的视频文件,命令:ffmpeg -loop 1 -t 时长 -i 图片文件名 -loop 1 -t 时长 -i 图片文件名 -filter_complex "xfade=transition=特效名:duration=特效时长:offset=视频做转场的起始位置,format=yuv420p" 编辑后的视频文件,可以用的特效参考:https://trac.ffmpeg.org/wiki/Xfade,参考:https://ffmpeg.org/ffmpeg.html,20230306100302c1d2fb249c32f5683ab6054cc2b262810625c3964,20230306100303218217b445498b11dd99643fe3b37ee15f0abe671

© 版权声明

相关文章