视频主观质量对比工具(Visual comparision tool based on ffplay)

***********************************************************************************

* ffplay系列博客:                                                                                      *

ffplay播放器原理剖析                                                                                *

ffplay播放器音视频同步原理                                                                      *

ffplay播放控制代码分析                                                                             *

视频主观质量对比工具(Visual comparision tool based on ffplay)              *

*************************************************************************************

 

   做编码器优化的过程中,经常需要对视频进行主观质量对比。之前用过一个工具觉得挺不错,叫Vanguard Visual Comparision Tool,网址https://beamr.com/h264-hevc-video-comparison-player/。它可以在一个窗口中播放两个对比文件,窗口用一条线分成左右两部分,分别播放两个视频的画面,可以用鼠标移动这条分割线,可以直观看到两个文件同一帧画面的质量(线划过去的时候看到明显的质量变化)。这个软件的界面如下:

 

    

    但是这个软件有使用期限的,半年后需要买licence了,。所以心血来潮决定用ffmpeg来实现一个类似的主观视频对比工具,经过几天的努力终于做了一个可用的版本,软件叫VCmpTool,基于ffplay,下载链接 https://download.csdn.net/download/lrzkd/11986087

    VCmpTool与ffplay一样,没有做控制界面,播放控制都是通过键盘和鼠标来控制的,通过cmd运行。

    命令形式:VCmpTool  input1 input2  [ -loop N ]  [ -m ]

    -loop N和-m 是可选参数,-loop N 用来控制循环播放的次数, -m 可以让分割线自动移动。

    播放时的控制键:

    q, ESC                       退出

    f                                 全屏

    p, space                    暂停

    s                                播放下一帧

    F1                             左边的画面播放到下一帧

    F2                             右边的画面播放到下一帧

    左键                          回退10秒

    右键                          快进10秒

    上键                          快进60秒

    下键                          回退60秒

    鼠标左键单击          移动分割线到鼠标位置

    按住鼠标左键          移动分割线

    

    下面是两个gif演示软件的效果

 

版本更新(2019/11/20)

更新内容:

1、支持纯视频流(ES流)的质量对比。

2、支持两个不同分辨率的视频的对比

3、两个文件对比时,播放主文件音频。

4、支持分割线自动移动(在命令最后,加入-m选项)

5、支持循环播放(命令最后,加入-loop N,N为整数)

版本地址:https://pan.baidu.com/s/1zSx-LmM1kuRC3Ob8u774iw

https://download.csdn.net/download/lrzkd/11986087

版本更新(2020/12/22)

更新内容:

1、基于ffmpeg 4.1版本编译。

2、播放中按Tab键显示文件信息,及每一帧的具体信息。

3、支持av1视频文件对比。

链接:https://pan.baidu.com/s/1fYhaNDDtdnvxlYNIGbxCRQ
提取码:1111 

版本更新(2021/01/05)

更新内容:

1、支持长按鼠标右键/左键 移动播放窗口,方便对比4K、8K文件。

2、修复seek问题,支持双击全屏等。

链接:https://pan.baidu.com/s/1pnmtcmWThK9szZLKwPVDsg 
提取码:1111 

版本更新(2021/01/08)

更新内容:

1、支持滚动鼠标进行窗口缩放,方便对比画面细节。

链接:https://pan.baidu.com/s/1vFPuaeoJz4k_fVMGP5pPcQ 
提取码:1111 

https://download.csdn.net/download/lrzkd/14047478

版权声明:本文为博主原创文章,未经博主允许不得转载

  • 15
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 62
    评论
### 回答1: 指针之间的比较可以使用关系运算符进行比较。如果两个指针指向的是同一个地址,则它们相等;否则它们不相等。需要注意的是,指针的比较只有在指向同一数组或同一对象时才有意义,否则比较的结果是未定义的。此外,指针的比较还可以用于判断指针是否为NULL,即指向空地址。 ### 回答2: 指针是C语言中非常重要的概念,它们可以用于在程序中存储内存地址。指针可以用于比较和操作不同变量之间的关系。下面将对指针的比较进行详细分析。 首先,指针可以用于比较两个变量的值是否相等。当两个指针变量指向相同的内存地址时,它们的值是相等的。例如,假设有两个int类型的指针变量p和q,当它们指向同一个int类型的变量时,即*p == *q为真,则p == q也为真。 其次,指针还可以用于比较两个指针变量的大小关系。指针变量的大小取决于它所指向的内存地址。当两个指针变量指向相同的数组或相邻的内存位置时,可以通过比较它们的值来确定它们之间的大小关系。例如,假设有两个int类型的指针变量p和q,指向同一个数组中的不同元素。如果p指向数组的前一个元素,q指向数组的后一个元素,那么p < q为真。 另外,指针还可以用于比较指针变量和NULL之间的关系。当指针变量未被初始化或已被释放时,它的值可能为NULL。通过将指针与NULL进行比较,可以确定指针是否为空。例如,如果指针变量p的值等于NULL,那么p == NULL为真。 总结而言,指针的比较在C语言中是非常常见和重要的操作。它可以用于比较指针的值是否相等、判断指针的大小关系,以及判断指针是否为空。通过合理使用指针的比较,我们可以更好地管理和操作程序中的内存地址。 ### 回答3: 指针是一种非常重要的数据类型,在编程中有着广泛的应用。下面是指针之间的比较: 1. 比较两个指针的值:可以使用比较运算符(如==、!=、<、>、<=、>=)来比较两个指针的值。如果两个指针指向同一个内存地址,则它们的值相等;如果指向不同的地址,则它们的值不相等。这可以用于判断指针是否为空或两个指针是否指向同一对象。 2. 比较两个指针的地址:可以使用取址运算符(&)获取一个指针的地址,然后用比较运算符进行比较。这可以用于判断两个指针是否指向相邻的内存地址或者它们之间的距离。 3. 比较两个指针所指向的内容:可以使用解引用运算符(*)来比较两个指针所指向的内容。如果两个指针指向的内容相等,则它们所指向的对象或变量的值相等。这可以用于判断两个指针指向的对象是否相等。 需要注意的是,在比较指针时,要确保两个指针指向的对象类型相同,否则比较的结果可能不准确。 总结起来,指针之间的比较主要涉及值的比较、地址的比较和内容的比较。通过比较指针,我们可以判断指针是否为空、指向同一对象、指向相邻的内存地址,以及判断两个指针所指向的内容是否相等。这些比较对于编程中的逻辑判断和操作都非常有用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ITRonnie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值