ffmpeg将视频流转化成图片帧,将图片帧转化为视频(基本无损)

ffmpeg将视频流转化成图片帧,将图片帧转化为视频(基本无损)

官方文档
其中-r 和-framerate 都是代表帧率(这个属性属于图片的属性,需要放在图片之前)
-s 控制输出格式大小

本人在一个视频稳定的项目中用需要将视频分解为图片帧,图片帧经过稳定扭曲之后需要再次合成视频。
于是按照官方文档中的例子来操作了一遍:

ffmpeg -i 13.avi %04d.png

 

这里将视频转化为图片帧,默认的帧率为30,得到的图片质量和视频质量差别基本不大可以忽略。

ffmpeg -f image2 -framerate 30 -i %04d.png 13stbself.avi

 

在用默认参数将图片转换为视频的过程中,合成的视频质量却大打折扣,肉眼可以见的像素块,感觉是被压缩了很多。

下面查阅了很多文档资料后才解决这个问题!
影像视频质量的最重要因素是视频码率
在上述两步的转化过程信息中可以查到
视频转化为图片
图片转化为视频
可以看出原视频码率是5626kbits/s,而在图片转化为视频的过程中,输出视频的码率是默认的,只有200kbits/s,所以导致了转化前后视频质量相差巨大的问题。
解决方法是修改默认的视频码率属性-b:v

ffmpeg -f image2 -framerate 30 -i %04d.png -b:v 5626k 13stbself2.avi 

 

修改后的信息
这样转化前后的视频质量几乎没有差别(基本无损)。

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值