代码改变世界

ffmpeg 压缩 sony MTS 格式视频

2011-06-06 13:59  sunblackshine  阅读(1573)  评论(0编辑  收藏  举报

其实本人非常懒,所以碰到屁大点事情解决了还得记下来

今天翻看移动硬盘,看到上一年聚会的视频,因为这个视频比较宝贵所以一直放在移动硬盘中。

因为视频比较大 MTS 格式的 16' 20'' 的视频就2个G,又因为一直懒得用软件去处理所以一直留着。

D版软件中还没找到比较好的处理 MTS 视频的软件,搜索了很久也没有看到满意的,所以找找开源的工具来处理一下。

在 Windows 使用 Miro 处理了一下感觉速度慢,不灵活,其原理也就是用 ffmpeg 来压缩。

所以就来到 Gentoo 下 Miro 没有 emerge 成功,于是直接操作 ffmpeg。

ffmpeg -threads 4 -i 00780.MTS -r 29.97 -vcodec libx264 -s 480x272 -flags +loop -cmp +chroma -deblockalpha 0 -deblockbeta 0 -crf 24 -bt 256k -refs 1 -coder 0 -me_method umh -me_range 16 -subq 5 -partitions +parti4x4+parti8x8+partp8x8 -g 250 -keyint_min 25 -level 30 -qmin 10 -qmax 51 -trellis 2 -sc_threshold 40 -i_qfactor 0.71 -acodec aac -strict experimental -ab 128k -ar 48000 -ac 2 00780_convert.avi



-ar freq : audio sampling frequency 音频采样率  48000 HZ  模拟信号转为数字信号的采样频率,周期为 freq
-ab bitrate : audio bitrate in bit/s 比特率 每秒音频数据存储需要的空间大小

-acodec aac -strict experimental 使用 aac 编码解码

-qmax q  : maximum video quantizer scale (VBR)  VBR(Variable Bitrate) 视频动态比特率的最大值

-s 480x272 : set frame size 设置画面高度宽度

-threads 4 : 4线程处理

参考资料[1]

2G 的视频文件压缩后在 40MB 左右,效果还不错。

其实业余人士对视频压缩把握好几个参数就ok了,

图像的参数上有:

每一个画面的长宽(frame size),

每秒钟显示画面数(fps frame per second),

画面比特率(bitrate) ,单位为(单位bps)。一般用 VBR(Variable Bitrate)动态比特率方法处理。

声音的参数有:

音频采样率(audio sampling frequency)

音频比特率(audio bitrate)

注:本人理解比特率就是模拟信号转化为数字信号每秒钟获得的信息量,信息量用 bit 表示,模拟信号-->数字信号的转换其实就是高信息量-->低信息量的转换。每秒音频数据存储需要的空间大小。

音频采样率 每隔多长周期获取一次数据,是频率,频率越小声音越容易失真。

[1] http://www.ffmpeg.com.cn/index.php/Ffmpeg%E5%BF%AB%E9%80%9F%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8