ffmpeg操作视频的常用指令

该博客主要介绍了视频处理的相关操作,包括视频拆帧、切帧、图片合成视频、截取视频片段、拼接视频(两个视频左右拼接、四个视频拼接)、调整视频分辨率以及剪切视频等内容,还给出了部分操作的参数含义和参考链接。

视频拆帧

ffmpeg  -i demo.mp4 -r 24 ./%06d.png

切帧(一段时间,从600s开始 持续60s):

ffmpeg -i input.mp4 -ss 600 -t 60 -r 25 raw/%06d.png

图片合成视频

ffmpeg -f image2 -start_number 2935  -r 24  -i raw/%06d.png  -c:v libx264 -preset slow -crf 15 -pix_fmt yuv420p -an -y output.mp4

截取视频片段

ffmpeg -y -ss start -t duration -i filename -c:v libx264 -crf 10 -preset superfast -an outfile

其中“-an”表示去掉音频

拼接视频

两个视频左右拼接
ffmpeg -i video1.mp4 -i video2.mp4 -filter_complex "[0:v]pad=iw*2:ih[a];[a][1:v]overlay=w*1[b]" -map [b] -r 24 -c:v libx264  -preset slow -crf 16   -pix_fmt yuv420p  result.mp4
四个视频拼接
ffmpeg -i ori.mp4 -i color4.mp4 -i color7.mp4 -i xiaomi.mp4 -filter_complex "[0:v]pad=iw*2:ih*2[a];[a][1:v]overlay=w[b];[b][2:v]overlay=0:h[c];[c][3:v]overlay=w:h[d]" -map "[d]" -r 25 -c:v libx264 -preset slow -crf 16 -pix_fmt yuv420p result.mp4

其中pad=iw2:ih2表示拼接后视频大小,第一个视频默认放置在左上角,[a]用来代表该视频的占位符,[1:v]表示第几个视频,下表从0开始,[1:v]overlay=w则表示第二个视频放在坐标(w,0)的位置上。

调整视频分辨率

ffmpeg -i xxx.mp4 -vf scale=iw*0.5:ih*0.5 -sws_flags fast_bilinear -c:v libx264 -c:a copy xxx_bli.mp4

剪切视频

ffmpeg -i in.mp4 -filter:v "crop=in_w/2:in_h/2:in_w/2:in_h/2" -c:a copy out.mp4

w : h : x : y 分别表示输出视频的尺寸,剪切视频的位置

参考链接:https://www.yukapril.com/2020/05/31/mp4-combine.html

png图像与yuv444 10bit互转

png2yuv

ffmpeg -i input.png -pix_fmt yuv444p10le output.yuv

yuv2png

ffmpeg -s 3840x2160 -pix_fmt nv21 -i .\001_w3840_h2160.yuv .\001_w3840_h2160.png
fmt格式注意一下,如果是I420就改成yuv420p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值