ffmpeg转换参数和对几种视频格式的转换分析
我们在将多种格式的视频转换成flv格式的时候,我们关注的就是转换后的flv视频的品质和大小。下面就自己的实践所得来和大家分享一下,主要针对 avi、3gp、mp4和wmv四种格式来进行分析。通常在使用ffmpeg进行视频转换的时候我们使用到的控制音视频的主要参数有如下:
-ab bitrate 设置音频码率
-acodec codec 使用codec编解码
-ac channels 设置通道,缺省为1
-ar freq 设置音频采样率
-r fps 设置帧频,缺省25
-b bitrate 设置比特率,缺省200kb/s
-qscale 6或4 使用动态码率来设置
对于其他诸如-i、-y、-s等参数基本上都是可以很好理解的了。我们上面提到的几个参数前四个主要是用来设置音频的,后三个主要是用来设置视频的。对于 音频的ar(采样率)可以指定为22050、24000、44100或48000,一般来将后两种比较常见;对于音频的ab(码率)一般是选择32、 64、96或128这几种;对音频的acodec则是指定编码方式,可以指定为libmp3lame或aac等,这两种分别是指使用mp3和aac格式的 音频。在实际的测试过程中我发现在使用mp3进行音频编码时指定ab为64或更高和指定ar为22050或更高对实际的视频音质没有什么大的影响,请参见 后面的测试结果。
对于视频的r用来指定帧频,一般设置为29.97;对于视频的b(视频的比特率)可以指定如128、314等数字,对于1500以上则没有效果;对于视频 的qscale,属于动态码率,可以设置为4或6,4的质量比6的要高。在测试的过程中我发现设置-b参数对视频的质量并没有过大的改变(指定大指定小都 差不多或是一样),而设置qscale则完全不一样,如果我们想获取高品质的话应该使用动态码率而不是指定-b参数,当然了,使用动态码率的坏处就是视频 的体积变大了。在使用动态码率的时候使用6的效果和4差不多,但是体积减少了,因此通常建议使用6来设置动态码率。
上面介绍了转换过程中的音视频的配置参数,综合上面,我们在转换的时候通常的命令如下:
高品质:ffmpeg -i infile -ab 128 -acodec libmp3lame -ac 1 -ar 22050 -r 29.97 -qscale 6 -y outfile
低品质:ffmpeg -i infile -ab 128 -acodec libmp3lame -ac 1 -ar 22050 -r 29.97 -b 512 -y outfile
使用这两个命令测试四种格式的视频结果如下,同时在测试的过程中会改变相应的参数进行测试,四个视频的信息如下:
AVI格式的:test.avi 14.1M
3GP格式的:test.3gp 4.30M
MP4格式的:test.mp4 16.4M
WMV格式的:test.wmv 15.0M
1.使用高品质的脚本测试结果如下:
AVI格式转换后的:-qscale 6结果=avi_01.flv 6.61M -qscale 4结果=avi_02.flv 9.30M
3GP格式转换后的:-qscale 6结果=3gp_01.flv 4.21M -qscale 4结果=3gp_02.flv 5.30M
MP4格式转换后的:-qscale 6结果=mp4_01.flv 13.1M -qscale 4结果=mp4_02.flv 17.5M
WMV格式转换后的:-qscale 6结果=wmv_01.flv 15.9M -qscale 4结果=wmv_02.flv 22.3M
2.使用低品质的脚本测试结果如下:
AVI格式转换后的:-b 512结果=avi_03.flv 2.87M -b 1000结果=avi_04.flv 2.87M
3GP格式转换后的:-b 512结果=3gp_03.flv 1.73M -b 1000结果=3gp_04.flv 1.73M
MP4格式转换后的:-b 512结果=mp4_03.flv 5.84M -b 1000结果=mp4_04.flv 5.84M
WMV格式转换后的:-b 512结果=wmv_03.flv 6.17M -b 1000结果=wmv_04.flv 6.17M
3.压缩率比较如下:
AVI格式转换后的:-qscale 6结果=53.12% -qscale 4结果=34.04% -b 512/1000结果=79.65%
3GP格式转换后的:-qscale 6结果=2.093% -qscale 4结果=123.1% -b 512/1000结果=59.77%
MP4格式转换后的:-qscale 6结果=20.12% -qscale 4结果=106.7% -b 512/1000结果=64.39%
WMV格式转换后的:-qscale 6结果=106.0% -qscale 4结果=148.7% -b 512/1000结果=58.87%
通过比较前后的压缩大小我们可以看到在音频保持一致的情况下,使用高品质的转换和使用低品质的转换的巨大差异,同时对于不同格式的视频在转换的过程中也会 出现比较大的差异。当然了,这些数据并不一定代表所有这些格式的视频都是如此,具体的要看大家的应用了。不过,我们可以确定的是AVI格式的视频在转换成 FLV格式后其压缩率最大,不过对于不同编码的AVI其结果就不一定了。同时我们也还看到,对于某些格式的视频在转换后其体积比原先的还大了,这个我们在 应用的时候就需要注意了。
这里没有测试RM和RMVB格式的,因为ffmpeg无法直接转换这两种格式的视频,下次我将使用mencoder来测试转换RM和RMVB格式的视频为FLV的分析。以下是转换前后截取的图片,可以参考看一下.
1.AVI格式截取前、使用-qscale 6和-b 512三个的截图分别如下:
2.3GP格式截取前、使用-qscale 6和-b 512三个的截图分别如下:
3.MP4格式截取前、使用-qscale 6和-b 512三个的截图分别如下:
4.WMV格式截取前、使用-qscale 6和-b 512三个的截图分别如下:
原文:http://ferreousbox.iteye.com/blog/163865
ffmpeg转换参数和对几种视频格式的转换分析相关推荐
- ffmpeg 转换flv压缩大小_ffmpeg转换参数和对几种视频格式的转换分析
对于其他诸如-i.-y.-s等参数基本上都是可以很好理解的了.我们上面提到的几个参数前四个主要是用来设置音频的,后三个主要是用来设置视频的.对于音频的ar(采样率)可以指定为22050.24000.4 ...
- 突击计划——两种温度格式的转换
题目:两种温度格式的转换 #include <stdio.h> //两种温度格式的转换 /* 根据华氏和摄氏温度定义,利用转换公式如下: C=(F-32)/1.8 F=C*1.8+32 * ...
- linux下ts转mp4,ffmpeg安装及实现视频格式的转换、分片(ts m3u8)
1.简介 FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.采用LGPL或GPL许可证.它提供了录制.转换以及流化音视频的完整解决方案 2.相关 系统版本:Cent ...
- 移动设备是一种口袋大小的计算机设备,移动设备视频格式如何转换?
移动设备,就是手机,很多人外出在旅途中都会观看事先下载好的视频电影,不同移动设备的视频格式间略有所不同,可以通过迅捷视频转换器来转换移动设备的视频格式. 移动设备:也被称为行动装置(英语:Mobile ...
- 电脑视频压缩软件哪个好?分享:一款支持上千种视频格式压缩神器
为了追求高清画质,现在的视频文件越来越大了.超大的文件虽然可以给人们带来更好的视觉效果,也给传输和发送带来了很大的麻烦.那有没有一款电脑视频压缩软件解决视频无损压缩问题呢?答案是肯定的! 当前, 视频 ...
- 电脑视频转换成mp4格式,视频格式转换器转换
怎么把电脑视频转换成mp4格式?使用视频转换器,可以转换来自各种设备的音视频格式,包括相机.手机.视频播放器.电视.平板电脑等.因此,音视频爱好者都可以使用它在各种设备上播放或在社交平台上分享. 主要 ...
- 铁血战士mkv视频格式如何转换mp4
铁血战士相信很多小伙伴们都看过这系列的电影,而且就在今年也推出了新的电影,小时候小编是很崇拜铁血战士这个角色的,感觉他们英勇,无畏.最重要的是帅啊,不过当他们把面具摘下来的时候就有点吓人了,不过还是有 ...
- java flv转mp3_如何使用java代码进行视频格式的转换(FLV)
一,前言 在给网页添加视频播放功能后,发现上传的视频有各种格式,那么就需要将他么转换成FLV,以很好的支持在线视频播放. 二,准备 drv43260.dll,ffmpeg.exe,mencoder.e ...
- 视频格式转换器之视频格式在线转换详细教程 1
视频格式转换器相信大家都是知道的,在日常工作和学习中,都是需要观看视频文件的,但是视频文件有众多的视频格式:MP4.MKV.MOV.AVI.SWF.FLV.WEBM等等,每个视频格式的画质以及设备兼容 ...
- ESP32驱动1.28寸GC9A01播放视频(一、视频分辨率的调整和视频格式的转换)
ESP32驱动1.28寸GC9A01播放视频(一.视频分辨率的调整和视频格式的转换) 播放前准备 转换视频分辨率 用FFmpeg将.MP4转换为.mjpeg格式 FFmpeg的win10环境搭建 FF ...
最新文章
- windows7 64位机上安装配置CUDA7.5(或8.0)+cudnn5.0操作步骤
- 看完王兴刷屏之后,你该学会建立属于自己的第一性原理
- 性能监控—spotlight监控mysql性能
- 2核4g服务器选啥系统好,云服务器2核4g可以做什么
- Cocos2d-x学习笔记(19)(TestCpp源代码分析-3)
- 通过Microsoft Learn进行学习以提升技能
- 博客教程中百度网盘地址
- Leetcode--221.最大正方形
- 使用Bochs调试Linux kernel 随笔 -- 准备
- pandas mysql insert_python – Pandas将数据插入MySQL
- docker镜像加速器
- 新版在线全网音乐搜索下载源码
- C++程序练习-1008:Maya Calendar-玛雅日历
- PyTorch: TORCHVISION.TRANSFORMS
- 编译项目时报出已经定义了构造器
- 99乘法表带颜色HTML隔行变色,javascript小实例,实现99乘法表及隔行变色
- IDEA2018版本相关配置
- How to set the Default Page in ASP.NET?
- 还要帮彬彬做课件,我苦啊
- TIA博途如何从DB数据块生成源文件或者源文件生成DB数据块?