求助:使用ffmpeg将视频压缩成指定的大小

Totem,mplayer,sopcast,realplayer,bmp
回复
头像
chinaz
帖子: 238
注册时间: 2007-02-07 9:23

求助:使用ffmpeg将视频压缩成指定的大小

#1

帖子 chinaz » 2016-03-24 21:42

近日需要将一些视频压缩成不超过300M一个文件,上网查了一个ffmpeg的参数是-fs
但是执行了下面的命令发现不对
ffmpeg -i a.mp4 -fs 300M b.mp4
结果发现如果a.mp4是400M大小,执行以上命令后,b.mp4就只是将a.mp4截取到300M大小处。

So,现在需要的是在视频时间长度不变的情况下,将视频的输出大小控制在某个容量(当然一定的质量损失是可以容忍的),应该怎么做呢?
宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒。
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 求助:使用ffmpeg将视频压缩成指定的大小

#2

帖子 vickycq » 2016-03-24 22:07

根据目标文件尺寸计算目标比特率,然后指定目标比特率
目标比特率 = 目标文件尺寸 / 视频时长

具体参考:
http://stackoverflow.com/questions/2908 ... -file-size
http://superuser.com/questions/980174/h ... ing-ffmpeg
http://unix.stackexchange.com/questions ... ith-ffmpeg
http://superuser.com/questions/4244/how ... -mp4-video
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
chinaz
帖子: 238
注册时间: 2007-02-07 9:23

Re: 求助:使用ffmpeg将视频压缩成指定的大小

#3

帖子 chinaz » 2016-03-24 22:10

多谢楼上, 这就研究一下。。。
宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒。
头像
nyfair
帖子: 1067
注册时间: 2007-12-07 12:49
系统: winnux10
来自: Tree New Bee

Re: 求助:使用ffmpeg将视频压缩成指定的大小

#4

帖子 nyfair » 2016-03-30 15:47

卧槽,这年头自己一知半解google了点答案随便都上啊,就这需求还搞出2pass出来了,况且哪怕你上3pass都没法精准控制,剩下3个答案更是无厘头
本人在此论坛仅负责吐槽,问题急需解决请支付宝转账5毛至{我的id@qq.com},将会竭诚为您服务

linux常见多媒体问题处理指南

1. 视频播放有问题->卸载gstreamer
2. 音频播放有问题->卸载pulseaudio
3. 远程播放有问题->卸载avahi
4. 系统全都有问题->卸载systemd,远离Lennart这傻逼让你从此轻松自在

⇩自由网络⇩
https://github.com/nyfair/freeweb
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 求助:使用ffmpeg将视频压缩成指定的大小

#5

帖子 vickycq » 2016-03-31 15:20

nyfair 写了:卧槽,这年头自己一知半解google了点答案随便都上啊,就这需求还搞出2pass出来了,况且哪怕你上3pass都没法精准控制,剩下3个答案更是无厘头
感谢指正 ;)

简易测试,并不精确:
输入文件 843 MiB, 3455 kbps,目标尺寸 400 MiB
粗略计算 目标比特率 = 3455*400/843. = 1639

代码: 全选

ffmpeg -i F1_2015_01Avril_GP_Malaisie_OnBoard_720p.mp4 -b 1639k -strict -2 output.mp4
实际生成的 output.mp4 尺寸为 419.4 MiB
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
回复