视频特性TI(时间信息)和SI(空间信息)的计算工具:TIandSI-压缩码流版
=====================================================
TI(时间信息)和SI(空间信息)计算工具文章列表:
视频特性TI(时间信息)和SI(空间信息)的计算工具:TIandSI
视频特性TI(时间信息)和SI(空间信息)的计算工具:TIandSI-压缩码流版
=====================================================
此前在文章《视频特性TI(时间信息)和SI(空间信息)的计算工具:TIandSI》中记录过两个基于YUV视频数据的TI和SI计算工具:一个图形界面工具和一个命令行工具。由于近期正在研究视频内容复杂度方面的东西,所以顺手将原来的TIandSI工具进行了升级,添加了另外两个支持压缩码流的TI和SI的工具,并将版本改为3.0。
目前的TIandSI项目中一共包含4个项目:
TIandSI : 计算YUV数据的TI和SI-图形界面版。
TIandSIcmd : 计算YUV数据的TI和SI-命令行版。
TIandSIpro : 计算压缩码流数据的TI和SI-图形界面版。
TIandSIprocmd : 计算压缩码流数据的TI和SI-命令行版。
其中后两个“pro”版用于计算压缩码流的TI和SI。
项目主页
SourceForge:https://sourceforge.net/projects/tiandsi/Github:https://github.com/leixiaohua1020/TIandSI开源中国:http://git.oschina.net/leixiaohua1020/TIandSI
CSDN下载
源代码:http://download.csdn.net/detail/leixiaohua1020/8754819
windows可执行程序:http://download.csdn.net/detail/leixiaohua1020/8755215
使用方法
TIandSIprocmd
TIandSIprocmd是用于计算压缩码流的TI和SI的命令行工具。该工具有如下选项。
-i 输入文件
-o 输出包含TI和SI的*.csv 文件 [默认是 {input name}.csv]
-l 计算的帧数
-g 图形化显示计算的中间图像 [可以是 'ti' 或者 'si']
-n 中间图像显示的间隔 [默认是 5]
-h 打开帮助
下面举几条示例命令。
计算“test.avi”的TI和SI,结果保存在“test.csv”。
TISIprogCmd -i test.avi
计算“test.avi”的TI和SI,结果保存在“test_cal.csv”。
TISIprogCmd -i test.avi -o test_cal.csv
计算“test.avi”的TI和SI,计算过程中显示TI的中间图像。
TISIprogCmd -i test.avi -g ti
程序在运行过程中会在屏幕上打印出TI和SI,并将结果保存成“.csv”文件。程序运行截图如下所示。
显示的SI中间信息如下所示(Sobel滤波)。
显示的TI中间信息如下所示(帧差)。
TIandSIpro
TIandSIprocmd是用于计算压缩码流的TI和SI的图形界面工具。该工具的界面如下所示。
该工具的使用可以分成三步:
(1)选择视频文件
(2)点击“添加”将视频文件添加到“视频处理列表”
(3)点击“开始”进行计算
计算的过程中可以选择输出TI或者SI中间信息,如下图所示。
输入的视频为H264裸流,如下图所示。此外也支持mp4、mkv、avi等容器中的视频码流。
计算的结果保存成了“.csv”文件,TI和SI分成两列进行记录。
|
TI |
SI |
|
5.091792 |
96.63046 |
|
4.006694 |
97.14991 |
|
4.047168 |
95.78278 |
|
4.016123 |
96.68823 |
|
5.111005 |
95.08357 |
|
4.308331 |
95.99482 |
|
4.231775 |
94.96137 |
|
4.243418 |
96.51315 |
|
4.777538 |
94.69438 |
|
4.63109 |
95.99242 |
|
4.442572 |
95.27241 |
|
5.958293 |
94.07044 |
|
4.802421 |
93.54437 |
|
3.626003 |
94.44892 |
|
67.47028 |
55.96951 |
|
4.859533 |
55.73122 |
|
2.576851 |
55.94511 |
|
3.537802 |
55.95005 |
|
3.136736 |
56.02485 |
|
2.776622 |
55.88079 |
|
5.21654 |
56.21251 |
|
4.816776 |
56.34703 |
|
2.113539 |
56.39521 |
|
2.463277 |
56.54902 |
|
3.58151 |
56.62169 |
|
4.281242 |
56.89031 |
|
2.611747 |
56.9627 |
|
2.134903 |
56.98027 |
|
2.935039 |
56.72913 |
|
2.607401 |
56.88178 |
|
1.745702 |
56.99831 |
|
2.356833 |
57.06902 |
|
3.137143 |
56.77847 |
|
3.540902 |
56.97581 |
|
2.897511 |
56.95166 |
|
2.958283 |
56.95023 |
|
3.18626 |
56.48377 |
|
3.212861 |
56.56799 |
|
3.140944 |
56.53749 |
|
3.214078 |
56.51278 |
|
3.40129 |
56.14477 |
|
3.60599 |
56.56562 |
|
4.518811 |
56.72331 |
|
7.05519 |
56.32037 |
|
6.418852 |
56.10862 |
|
3.521006 |
56.34639 |
|
3.380948 |
56.21924 |
|
4.811128 |
56.01251 |
|
5.344801 |
56.30534 |
|
5.112007 |
56.1002 |
|
4.340466 |
55.77702 |
|
4.603604 |
55.81942 |
|
5.183671 |
55.94553 |
|
5.25707 |
55.90999 |
|
6.184795 |
55.43008 |
|
6.549098 |
55.66671 |
|
7.301097 |
55.66413 |
|
6.839081 |
55.41397 |
|
6.012524 |
55.64191 |
|
6.21944 |
55.88689 |
|
7.074984 |
54.75292 |
|
7.934908 |
55.05619 |
|
6.990477 |
55.15948 |
|
6.806325 |
54.92125 |
|
7.230724 |
54.62891 |
|
5.788167 |
54.68493 |
|
5.61761 |
54.06684 |
|
5.728929 |
54.35502 |
|
5.711939 |
54.16241 |
|
5.219654 |
54.27668 |
|
5.367257 |
54.10954 |
|
5.890024 |
54.08825 |
|
7.249853 |
53.98721 |
|
6.442775 |
54.22794 |
|
6.254034 |
53.70972 |
|
6.627275 |
54.26056 |
|
6.446436 |
54.10505 |
|
6.364463 |
54.14791 |
|
6.606837 |
54.38265 |
|
7.350156 |
55.03591 |
|
6.401467 |
54.62808 |
|
4.030468 |
54.80471 |
|
4.21936 |
54.94787 |
|
3.748936 |
54.91839 |
|
3.503878 |
54.6622 |
|
4.081355 |
54.84961 |
|
3.576916 |
54.7182 |
|
3.589109 |
54.85014 |
|
3.072421 |
54.54525 |
|
3.071072 |
54.48639 |
|
3.125489 |
54.22224 |
|
3.183908 |
54.37459 |
|
3.93243 |
54.0887 |
|
TI_AVG |
SI_AVG |
|
5.308657 |
61.55853 |
输入Excel之后可以得到以下结果。图中TI的峰值处出现了画面的突变。SI发生变化的地方视频的场景发生了变化。
雷霄骅
leixiaohua1020@126.com
http://blog.csdn.net/leixiaohua1020
视频特性TI(时间信息)和SI(空间信息)的计算工具:TIandSI-压缩码流版的更多相关文章
- Oracle日期查询:季度、月份、星期等时间信息
--oracle有关时间信息 Select to_char(sysdate,'Q') from dual;--指定日期的季度 Select to_char(sysdate,'MM') from dua ...
- PHP获取日期时间信息
getdate函数 描述:可以获取日期/时间信息 语法:array getdate( [ int timestamp ] ) 返回一个数组 例: Array ( [seconds] => 30 ...
- iOS - 获取音视频文件的Metadata信息
// // MusicInfoArray.h // LocationMusic // // Created by Wengrp on 2017/6/22. // Copyright © 2017年 W ...
- Lucene4.6 把时间信息写入倒排索引的Offset偏移量中,并实现按时间位置查询
有个新的技术需求,需要对Lucene4.x的源码进行扩展,把如下的有时间位置的文本写入倒排索引,为此,我扩展了一个TimeTokenizer分词器,在这个分词器里将时间信息写入 偏移量Offset中. ...
- Java8新特性 - 新时间和日期 API
本地时间和时间戳 主要方法: now:静态方法,根据当前时间创建对象 of:静态方法,根据指定日期/时间创建对象 plusDays,plusWeeks,plusMonths,plusYears:向当前 ...
- ping加上时间信息
一.linux系统ping加时间戳信息 1.ping 加时间信息,然后还要实时保存到一个文件中,那么就与awk结合 ping 115.239.211.112 -c 10 | awk '{ print ...
- 从H264码流中获取视频宽高 (SPS帧) 升级篇
之前写过 <从H264码流中获取视频宽高 (SPS帧)> . 但发现很多局限性,而且有时解出来是错误的. 所以重新去研究了. 用了 官方提供的代码库来解析. 花了点时间,从代码库里单独把解 ...
- 直接将视频文件原码流转换成YUV,输出到屏幕显示
#include "stdafx.h" #define inline _inline#ifndef INT64_C#define INT64_C(c) (c ## LL)#defi ...
- go http 下载视频(TS码流文件)(推荐一个网站学习 go example)
视频 http下载代码 dn.go(注意:代码很ugly,没怎么花时间) 总体感觉特别简单,网上看了下 net/http ,io这2个库的使用, 几分钟就写完了,感觉cpp 在做工具这块 开发效率的 ...
随机推荐
- 【BZOJ4003】【JLOI2015】城池攻占
Description 小铭铭最近获得了一副新的桌游,游戏中需要用 m 个骑士攻占 n 个城池.这 n 个城池用 1 到 n 的整数表示.除 1 号城池外,城池 i 会受到另一座城池 fi 的管辖,其 ...
- ubuntu Linux下C语言open函数打开或创建文件与read,write函数详细讲解
open(打开文件) 相关函数 read,write,fcntl,close,link,stat,umask,unlink,fopen 表头文件 #include<sys/types.h> ...
- C++ 二分法求解方程的解
二分法是一种求解方程近似根的方法.对于一个函数 f(x)f(x),使用二分法求 f(x)f(x) 近似解的时候,我们先设定一个迭代区间(在这个题目上,我们之后给出了的两个初值决定的区间 [-20,20 ...
- Python中模块之random的功能介绍
random的功能介绍 random模块的方法如下: betavariate 获取一个range(0,1)之前的随机浮点数 方法:random.betavariate(alpha,beta) 返回值: ...
- cocos2d-x-3.x 学习总结(一)
这周学习了<cocos2d-x 3.x 游戏开发之旅>的第三章,做如下总结: 1.关于创建标签对象 书中是 Label* label = Label::create(); 可是总是提示出错 ...
- 谷歌发布 TensorFlow Lite [官方网站,文档]
机器学习社区:http://tensorflow123.com/ 简介 TensorFlow Lite TensorFlow Lite 是 TensorFlow 针对移动和嵌入式设备的轻量级解决方案. ...
- box-sizing position
box-sizing 属性 用于更改用于计算元素宽度和高度的默认的 CSS 盒子模型.可以使用此属性来模拟不正确支持CSS盒子模型规范的浏览器的行为. /* 关键字 值 */ box-sizing: ...
- SpringMVC 教程 - URI 链接
原文链接:https://www.codemore.top/cates/Backend/post/2018-04-22/spring-mvc-uri-links 这一节主要讲的是Spring Fram ...
- redis分布式锁-SETNX实现
Redis有一系列的命令,特点是以NX结尾,NX是Not eXists的缩写,如SETNX命令就应该理解为:SET if Not eXists.这系列的命令非常有用,这里讲使用SETNX来实现分布式锁 ...
- pupeteer初体验
官方文档: https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#pagescreenshotoptions puppet ...