怎样用ffmpeg 压缩视频

这里说的ffmpeg,是指ffmpeg命令行程序,而不是用ffmpeg的库来编程。
操作系统是ubuntu10.04,ffmpeg的版本是FFmpeg version git-N-28517-g19d82cb, Copyright (c) 2000-2011 the FFmpeg developers。

手机上主要是将分辨率降低,将编码格式转为h264或mpeg4(很多手机上有硬解码,比如我用的m8)。
目前源文件只能是mp4或avi,后续再尝试rmvb。

一.安装
ubuntu10.04下安装看这里 http://ubuntuforums.org/showpost.php?p=9868359&postcount=1289
ubuntu10.10下看这里,这篇还带了其他ubuntu版本的链接 http://ubuntuforums.org/showthread.php?t=786095

二.使用示例
ffmpeg -y -i in.mp4 -s 176x144 -vcodec libx264 -vpre fast -b 800000 out.mp4
in.mp4是960 x 540,H.264 / AVC,30fps,大小为149.3 MB。
转出来的out.mp4是176 x 144,H.264 / AVC,30fps,大小为21.0 MB。
ubuntu下,文件属性中可以看到上述信息。 

三.参数说明
-y: 当已存在out.mp4是,不提示是否覆盖。
-i in.mp4: 输入文件名。
-s 176x144: 输出分辨率。 
-vcodec -libx264: 输出文件使用的编解码器。
-vpre fast: 使用libx264做为编解码器时,需要带上这个参数。
-b 800000: 码率,单位是字节,不是k字节。
out.mp4: 输出文件名。
以上参数的使用细节,ffmpeg的help里有更详细的描述。 

四.注意事项
# 输出文件名out.mp4一定要放在最后,只有这之前的参数才会起作用。例如ffmpeg -i in.mp4 out.mp4 -s 320x240,最后的-s参数不会起作用。
# 用x264编码,要带上-vpre fast参数,否则会出错,除了fast,还有其他参数,参看x264 --help中preset参数的说明。
# 编解码器也可以用libxvid,但压出来是mpeg4。

五.网上流传的ffmpeg参数说明
ffmpeg -y -i in.out -vcodec xvid -s 176x144 -r 29.97 -b 1500 -acodec aac -ac 2 -ar 48000 -ab 128 -vol 100 -f mp4 out.mp4
-y 覆盖输出文件,即如果tt.mp4文件已经存在的话,不经提示就覆盖掉了
-i "tt.avi" 输入文件名,可以自己修改路径和名字
-vcodec xvid 使用XVID编码压缩视频,不能改的
-s 400x240 输出的分辨率,注意片源一定要是16:9的不然会变形
-r 29.97 帧数 (一般用25就可以了)
-b 1500 视频数据流量,用-b xxx表示使用固定码率,数字可更改;还可以用动态码率如:-qscale 4和-qscale 6,4的质量比6高(一般用800就可以了,否则文件会很大)
-acodec aac 音频编码用AAC
-ac 2 声道数1或2
-ar 48000 声音的采样频率
-ab 128 音频数据流量,一般选择32、64、96、128#-vol 200 200%的音量,可更改(如果源文件声音很小,可以提升10到20倍(1000%~2000%),我试过,效果还行!但不能太大,200000%我也试验过,但嘈杂声太大了)
-f mp4 输出mp4格式
"tt.mp4" 输出文件名,也可以修改路径和名称 


  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值