基于ffmpeg不同编码方式转码后的psnr对比

摘要:
一、测试说明:源文件:1080psrc.mp4时长:900秒源文件信息:Video:h264(High)(avc1/0x31637661),yuv420p,1920x1080[SAR1:1DAR16:9],2960kb/s,23.98fps,23.98tbr,24ktbn,47.95tbc(default)编解码方式:CPU软解二、硬件环境CPU:Intel(R)Xeon(R)Silver4210

一、测试说明:

源文件: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

基于ffmpeg不同编码方式转码后的psnr对比第1张

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

基于ffmpeg不同编码方式转码后的psnr对比第2张

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

基于ffmpeg不同编码方式转码后的psnr对比第3张

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

序号文件名文件大小KB
11080psrc.mp4352,597
21080pdst_m.mp4258,825
31080pdst_f.mp4 258,950
41080pdst_l.mp4258,590

免责声明:文章转载自《基于ffmpeg不同编码方式转码后的psnr对比》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CodeMirror在线代码编辑器使用以及如何取值Unreal的控制台命令参数合集下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

开发ffmpeg/live555常见问题错误及解决方法

#include <iostream>using namespace std;extern "C" {#include <libavcodec/avcodec.h> // required headers#include <libavformat/avformat.h>}int main(int argc, cha...

模板jinja2常用方法

数学运算       +, -, *, /, **, //, %等数学运算符都支持. 逻辑运算       and, or, not也同样支持 1.   in 判断元素是否在集合中 2.   | 管道操作符, 默认使用Apply调用一个方法 3.   ~  字符串连接 4    ()  调用可调用对象 5.   . 和 [ ]获取属性 6.   三元操作:...

win10下安装FFmpeg步骤

1.官方下载地址:https://ffmpeg.zeranoe.com/builds/ # 下载方式一,太慢 # 下载方式二,推荐 2.解压到D:Program Files (x86),这个看个人喜欢 # 如果觉得文件名过长,可以重命名,我这改为ffmpeg 3.把bin文件添加到环境变量中 4.cmd中运行:ffmpeg -version...

开源代码Window下搭建rtmp流媒体服务器

合肥程序员群:49313181。 合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q Q:408365330 E-Mail:egojit@qq.com综合:有这样需求,将摄像头视屏发布出去,并且需要在web网页上通过Flash播放器播放。首先Flash被我所知道的所有浏览器所支持。如果是Activex控件。还需要被用户额外安装,而且...

ffmpeg综合应用示例(三)——安卓手机摄像头编码

本文的示例将实现:读取安卓手机摄像头数据并使用H.264编码格式实时编码保存为flv文件。示例包含了 1、编译适用于安卓平台的ffmpeg库 2、在java中通过JNI使用ffmpeg 3、读取安卓摄像头数据并在后台线程中使用ffmpeg进行编码的基本流程 具有较强的综合性。 编译适用于安卓平台的ffmpeg库 平时我们编译ffmpeg类库都是在x86平...

Linux下ffmpeg的完整安装

最近在做一个企业项目, 期间需要将用户上传的视频转成flv格式或mp4格式并用flash插件在前端播放, 我决定采用ffmpeg (http://www.ffmpeg.org/ )实现. 当然以前也用过ffmpeg, 但是没有安装额外的库, 只是源代码下简单地 ./configure, 最后发现好多功能都用不了, 比如最流行的x264编码器. 所以决心完整...