高端营销型企业网站建设,论坛发帖,关于网站开发的销售,wordpress 链接 中文乱码说明#xff1a;ffmpeg是一款非常好用的媒体操作工具#xff0c;包含了许多对于视频、音频的操作#xff0c;有些视频播放器#xff0c;实际上就是套了一个ffmpeg的壳子。本文介绍ffmpeg的使用以及一些较为实用的命令。
安装
ffmpeg是命令行操作的#xff0c;不需要安装…说明ffmpeg是一款非常好用的媒体操作工具包含了许多对于视频、音频的操作有些视频播放器实际上就是套了一个ffmpeg的壳子。本文介绍ffmpeg的使用以及一些较为实用的命令。
安装
ffmpeg是命令行操作的不需要安装可在官网下载压缩包 解压到一个没有中文、没有数字的路径下配置一下环境变量这些都是基本操作不再详细介绍 打开CMD输入ffmepg出现以下信息表示环境变量配置成功 使用
命令1提取视频所有帧
有时我们需要对视频图像进行处理可以考虑把视频按帧提取出来成图片再使用代码对图像进行逐帧处理可使用以下命令
ffmpeg -i 视频文件名 -r 60(帧数) -qscale:v 2 out/%04d.jpg(图片路径及命令规则)参数介绍
out/%04d.jpg表示提取出来的图片放在当前目录下的out文件夹名称按照0001.jpg、0002.jpg……的方式命名
比如我这里有一个视频before.mp4 在当前目录创建一个out文件夹用于接收图片输入下面命令将视频按照24帧/秒转为图片。
需要注意哦帧数不是随意设置的一般视频帧数是24。如果你需要对手头上的视频按帧处理在提取帧之前应该要先了解这段视频文件的拍摄参数了解到视频的帧数是多少 可以感受到提取速度还是非常快的1分半的视频2090帧几秒钟就全部提取出来了这是因为ffmpeg工具是使用C系语言开发的 另外记住转换的解码率后面合并图片为视频时需要用 命令2图片合成视频
一般来说我们将上面提取出来的图片进行了一些处理后就可以将处理后的图片集合成视频使用下面这行命令
ffmpeg -f image2 -framerate 24(帧数) -i %04d.jpg -b:v 5626k(转码率) 生成视频名%04d.jpg表示输入的图片集合是以“0001.jpg、0002.jpg……”命名规则命名的
比如将上面提取出来的图片再合成一个视频如下 啊视频怎么这么小并且画质非常糟糕 因为上面的命令中解码率是7920k我少了一个k删掉视频重新合并 这会正常了而且画质也和原视频一样所以注意合并视频时解码率需要和提取视频帧时一致 命令3提取视频的音频
可使用下面的命令提取出视频中的音频
ffmpeg -i 视频文件 -f mp3 -vn 生成的音频文件比如把我这个视频before.mp4中的音频提取出来命名为audio.mp3 实际使用时可以灵活一点比如需要把某种音频类型转为另一种类型直接修改后缀名可能会造成文件损坏不可用就可以使用这种方式进行提取达到音频类型转换的目的 命令4音视频合并
可以使用下面这个命令把音频和视频进行合并
ffmpeg -i 视频文件名 -i 音频文件名 -c:v copy -c:a aac -strict experimental 生成视频名像上面使用命令2合成的视频当然是没有声音的想做成一个完整的视频还需要把音频进行合并如下 这样一个完整的视频抽取图片处理图片提取音频合成视频的制作流程就完成了 命令5分割视频
分割视频的命令有许多方式如下
ffmpeg -ss 01:00:00 -i 视频文件 -vcodec copy -acodec copy -t 00:06:00 生成视频文件ffmpeg -ss 00:00:00 -i 视频文件 -c copy -t 600 生成视频文件ffmpeg -i 视频文件 -ss 1 -c copy -to 75 生成视频文件我最喜欢用最后这种非常方便前面的数字表示起始秒后面表示末尾秒比如把上面的视频final.mp4截取第10~20秒如下 需要注意切割视频会有画面的丢失需要手动微调一下分割点比如从10秒开始画面有丢失稍微加一点比如10.5秒10.7秒可能丢失的画面会变少当然减一点也可以看自己的情况可通过微调达到画面基本不丢失 命令6合并视频
可输入以下命令合并两个视频
ffmpeg -f concat -safe 0 -i 合并视频列表.txt -c copy 生成视频名.mp4合并视频列表.txt指合并的视频清单如下表示合并part1.mp4part2.mp4这两个视频 我再分割出来一个视频part2.mp4然后把这两个视频进行合并如下 命令7播放视频
上面合成后的视频通过系统播放器可能无法播放这时可以通过ffmpeg自带的播放视频/音频的命令ffplay来打开视频/音频文件
ffplay 视频/音频文件打开上面合成的视频如下 总结
ffmpeg是一款非常方便功能强大的媒体操作工具本文介绍了ffmpeg较为常用的一些操作命令