一、测试说明:

  源文件:1080psrc.mp4

  时长:900秒

  源文件信息:Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 2960 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)

  编解码方式:CPU软解

二、硬件环境

  CPU:Intel(R) Xeon(R) Silver 4210 CPU @ 2.20GHz

  MemTotal:263778192 kB 【256G】

  服务器型号:浪潮5280M5

三、测试记录

1、medium编码方式

转码命令:

ffmpeg -i 1080psrc.mp4 -vcodec libx264 -b:v 2000k -preset medium -s 1920x1080 1080pdst_m.mp4

目标文件信息:

frame=21580 fps= 74 q=-1.0 Lsize= 258825kB time=00:15:00.01 bitrate=2355.9kbits/s speed=3.07x
video:220710kB audio:37518kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.230992%

输出psnr信息表:

ffmpeg -i e:/1080psrc.mp4 -i e:/1080pdst_m.mp4 -lavfi psnr="stats_file=psnr_m.log" -f null -

psnr数据结果:

[Parsed_psnr_0 @ 000001cccfd5ee80] PSNR y:47.426978 u:52.260537 v:51.759605 average:48.489974 min:37.617117 max:58.609825

2、faster编码方式

转码命令:

ffmpeg -i 1080psrc.mp4 -vcodec libx264 -b:v 2000k -preset faster -s 1920x1080 1080pdst_f.mp4

目标文件信息:

frame=21580 fps=104 q=-1.0 Lsize= 258949kB time=00:15:00.01 bitrate=2357.0kbits/s speed=4.33x
video:220835kB audio:37518kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.230628%

输出psnr信息表:

ffmpeg -i e:/1080psrc.mp4 -i e:/1080pdst_f.mp4 -lavfi psnr="stats_file=psnr_f.log" -f null -

psnr数据结果:

[Parsed_psnr_0 @ 0000019020af1140] PSNR y:47.290942 u:51.524273 v:51.000436 average:48.257391 min:37.380386 max:57.120105

3、slower编码方式

转码命令:

ffmpeg -i 1080psrc.mp4 -vcodec libx264 -b:v 2000k -preset slower -s 1920x1080 1080pdst_l.mp4

目标文件信息:

frame=21580 fps= 36 q=-1.0 Lsize=  258589kB time=00:15:00.01 bitrate=2353.7kbits/s speed=1.51x
video:220475kB audio:37518kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.231152%

输出psnr信息表:

ffmpeg -i e:/1080psrc.mp4 -i e:/1080pdst_l.mp4 -lavfi psnr="stats_file=psnr_l.log" -f null -

psnr数据结果:

[Parsed_psnr_0 @ 000001a2cb391c80] PSNR y:47.778224 u:52.780825 v:52.265745 average:48.864826 min:37.681372 max:58.451310

4、文件转码前后大小对比

序号 文件名 文件大小KB
1 1080psrc.mp4 352,597
2 1080pdst_m.mp4 258,825
3 1080pdst_f.mp4  258,950
4 1080pdst_l.mp4 258,590

基于ffmpeg不同编码方式转码后的psnr对比的更多相关文章

  1. 刨根究底字符编码之十——Unicode字符集的编码方式以及码点、码元

    Unicode字符集的编码方式以及码点.码元 一.字符编码方式CEF的选择 1. 由于Unicode字符集非常大,有些字符的编号(码点值)需要两个或两个以上字节来表示,而要对这样的编号进行编码,也必须 ...

  2. 基于FFMPEG SDK流媒体开发1---解码媒体文件流信息

    近期项目涉及到流媒体等开发,因为有过开发经验深知其难度所在,没办法仅仅能又一次拾起,最新版的SDK被改的一塌糊涂,只是大体的开发思路都是一样的,看多少书查多少资料都无用,一步一步的编写代码 才是学好的 ...

  3. 最简单的基于FFmpeg的视频编码器-更新版(YUV编码为HEVC(H.265))

    ===================================================== 最简单的基于FFmpeg的视频编码器文章列表: 最简单的基于FFMPEG的视频编码器(YUV ...

  4. 最简单的基于FFMPEG的转码程序

    本文介绍一个简单的基于FFmpeg的转码器.它可以将一种视频格式(包括封转格式和编码格式)转换为另一种视频格式.转码器在视音频编解码处理的程序中,属于一个比较复杂的东西.因为它结合了视频的解码和编码. ...

  5. 最简单的基于FFMPEG的音频编码器(PCM编码为AAC)

    http://blog.csdn.net/leixiaohua1020/article/details/25430449 本文介绍一个最简单的基于FFMPEG的音频编码器.该编码器实现了PCM音频采样 ...

  6. 最简单的基于FFMPEG的视频编码器(YUV编码为H.264)

    本文介绍一个最简单的基于FFMPEG的视频编码器.该编码器实现了YUV420P的像素数据编码为H.264的压缩编码数据.编码器代码十分简单,可是每一行代码都非常重要,适合好好研究一下.弄清楚了本代码也 ...

  7. 最简单的基于FFmpeg的内存读写的例子:内存转码器

    ===================================================== 最简单的基于FFmpeg的内存读写的例子系列文章列表: 最简单的基于FFmpeg的内存读写的 ...

  8. 最简单的基于FFmpeg的移动端样例:IOS 视频转码器

    ===================================================== 最简单的基于FFmpeg的移动端样例系列文章列表: 最简单的基于FFmpeg的移动端样例:A ...

  9. 最简单的基于FFmpeg的移动端样例:Android 视频转码器

    ===================================================== 最简单的基于FFmpeg的移动端样例系列文章列表: 最简单的基于FFmpeg的移动端样例:A ...

随机推荐

  1. eclipse操作快捷键

    Eclipse最全快捷键,熟悉快捷键可以帮助开发事半功倍,节省更多的时间来用于做有意义的事情. Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ ...

  2. CSRF和XSS区别和预防

    名词解释 CSRF(Cross-site request forgery)跨站请求伪造 XSS (Cross-site scripting)跨站脚本攻击,这里缩写css被前端层叠样式表(Cascadi ...

  3. Java后台面试记录

    腾讯一面: 总结:考基础和代码(网址A是不是网址B的子域) + SQL(选出重复邮箱)(以下是没回答上来的) 逻辑回归公式(简历上写了协同过滤) 详见:https://blog.csdn.net/ma ...

  4. wxPython4.0.4关于我们

    源码地址:https://download.csdn.net/download/zy0412326/12154342 wxPython4改版后将AboutBox方特到adv包里面.如果想快速实现GUI ...

  5. [转载]-虚拟键值表-virtual key code

    转载  虚拟键值表, virtual key code Virtual-Key Codes VK_LBUTTON (01)Left mouse button VK_RBUTTON (02)Right ...

  6. Django配置站点

    一 修改hosts文件 """ hosts文件涉及的dns解析 1.找到hosts文件 windows: C:\Windows\System32\drivers\etc\ ...

  7. JDBC(二)

    ##  详解JDBC各个对象 1.DriverManager对象:驱动管理对象 *  功能: 1.注册驱动:告诉程序该使用哪个数据jar包 static  void  registerDriver(D ...

  8. 项目脚手架 - 《Spring Boot + MyBatis + MyBatis Generator》

    前言 最近启动了一个新的项目发现,每当一个新项目的启动往往需要从头搭建一个"框架",其中虽然很多基础代码可以Copy,但也会浪费不少时间. 基于这个情况,我打算在GitHub上创建 ...

  9. sql数据库(更新)

    安装postgreSQL,遇到的bug:不要选择默认路径,安装到program files,否则连接数据库的时候会出现问题 如图显示数据库连接成功. 1.创建数据库——执行创建数据库的SQL 语句 C ...

  10. 图像的特征工程:HOG特征描述子的介绍

    介绍 在机器学习算法的世界里,特征工程是非常重要的.实际上,作为一名数据科学家,这是我最喜欢的方面之一!从现有特征中设计新特征并改进模型的性能,这就是我们进行最多实验的地方. 世界上一些顶级数据科学家 ...