[FFmpeg] 常用命令记录

一、合并两个视频

假设需要将 视频 01.Overall_Shallow_sea_out.mp4 复制几次达到重复播放的效果,可以使用如下ffmpeg命令。

ffmpeg.exe -f concat -safe 0 -i .\test.txt -c copy -y o1.mp4

test.txt里面的内容为:

file '01.Overall_Shallow_sea_out.mp4'

file '01.Overall_Shallow_sea_out.mp4'

file '01.Overall_Shallow_sea_out.mp4'

当然,如果需要合并两个不一样的视频,只需要修改file后面的名称即可

二、合并不同帧率的视频

.\ffmpeg.exe -i "concat:50fps.ts|30fps.ts|" -c copy all.ts

该命令可以实现将50fps和30fps的视频进行合并。目前测试只能成功实现 ts 视频格式的合并。

三、计算PSNR

ffmpeg -s 1920x1080 -pix_fmt bgra -i .\TextOnTreeInField_1920x1080_8bit_444p_src.rgb -s 1920x1080 -pix_fmt bgra -i .\TextOnTreeInField_1920x1080_8bit_444p_decompressed.rgb -lavfi psnr="stats_file=psnr.log"  -f null  -

ffmpeg可以计算两幅图像的psnr和mse,通过上面的命令可以实现,过滤器里面的东西后面解析。执行之后会得到psnr.log的文件

四、将一帧/几帧图片合成视频

-loop为ffmpeg中一个选项,表示的是循环输入一帧图像

ffmpeg -loop 1 -i photo.jpg -t 10 photo.mp4

下面是将几张图片合成视频的操作:

ffmpeg -f image2 -i img%d.jpg -r 25 video.mp4

格式化名称为:

ffmpeg -f image2 -i img%3d.jpg -r 25 video.mp4

五、修改视频码率

 ffmpeg -i .\memc_search_range_test_3840x2160_24hz.mp4  -b:v 5M  .\memc_search_range_test_3840x2160_24hz_5M.mp4

一般10M左右已经无损了,没必要更大的码率了
5M码率也可接受,码率代表每秒视频是多大的
码率越大最后体积也越大,视频质量相对较好

六、截取感兴趣区域

ffmpeg -i img -vf crop=960:0:960:2160 crop_out.png

其中,crop的四个参数分别代表: crop_w : crop_h : start_x : start_y,即截取宽、截取高、起点x坐标、起点y坐标
该命令可以截取视频和图片。

七、拼接两幅图片

直接拼接两幅图像的指令:

ffmpeg -i img1 -i img2 -filter_complex hstack out.png

如果需要拼接图像中的感兴趣区域则可使用如下指令:

ffmpeg -i cat.jpg -i dog.jpg -filter_complex "[0:v]crop=960:1920:0:0[img1];[1:v]crop=960:1920:0:0[img2];[img1][img2]hstack" phoutput.jpg
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值