需求

1、运营那边需要统计大量视频文件的播放时长,并汇总记录到excel表中,问我有什么方法搞定

这边搜索了很多统计媒体文件时长的,主要有以下几种

1、使用java获取

2、使用python获取

3、使用mediainfo工具获取

由于自己对java刚懂点基础,要琢磨几天才能写出来,而python代码下载的第三方模块运行时总是报错。一时半会无法解决

最终采用mediainfo工具

1、下载和安装mediainfo工具

这边下载使用的mediainfo工具是1.8版本的

2、简单使用此工具查看一些媒体文件

在安装目录下找到此软件入口(可以发送个快捷方式到桌面,方便以后使用)

可以打开文件或者文件夹

先查看一个电影文件。有一些输出信息

点击下面按钮

可以看到一些定义好的输出格式,选择不同的格式,显示的信息不一样

这里选择树状图,可以看到很多信息

由于这里我只想要文件名和文件的播放时长,因此需要自定义输出信息

选项--参数设置

找到自定义

点击新建,自定义个名字,随便定义

点击OK之后弹出如下

保持第一行内容如下

General : %FileNameExtension%,%PlayTime/String1%

如下,点击OK保存

保持当前自定义的是自己刚刚写的

点击确定

点击左边的查看方式

查看方式选择自定义

可以看到输出信息如下

可以看到第一行左边是文件名,右边是时间

其它信息是多出来的。我们没配置,但是仍然默认多出来了。目前已经做到输出信息最少了,同时我们需要的都在

如果不想看到毫秒等信息。可以编辑输出的信息把string1改成string2

再次查看自定义信息,就没有秒和毫秒了

经过我测试,如果文件没超过一分钟,会显示为分钟和秒

如果文件超过1小时,会显示小时和分钟。

3、使用mediainfo工具查看一批媒体文件

前提是媒体文件都在此文件夹下

视频文件信息都出来了

如果文件比较多,可能要等一小会才会出现。我曾经统计过800个小视频文件。软件卡了5到10分钟才显示

4、对文件输出信息进行处理加工

右键--全选

复制到一个文本里

复制到文本文件里

接下来就是对这些信息进行加工了。只保留文件名和时间

方式1

linux命令特别熟的可以选择使用awk以及grep工具处理

grep General med.txt| awk -F ‘:[ ]‘ ‘{print $2}‘ |awk -F ‘Video‘ ‘{print $1}‘

上面是把信息放在了med.txt文件里的

先根据General过滤出文件名和时间这行,然后根据规律去掉文件名前面的字符串,然后去掉Video以及之后的字符串

方式2

使用windows版本的awk和grep工具

这里下载了awk工具和grep工具,都是windows版本的

这些命令工具都是从gnu网站下载的

http://gnuwin32.sourceforge.net/packages/gawk.htm

http://gnuwin32.sourceforge.net/packages/grep.htm

因为平时也用到了别的工具,自己都统一放在了下面目录下,同时设置了环境变量,这样就可以在任意目录下使用了

很多windows版本的命令

添加工具目录到环境变量里

添加个mypath

内容如下

C:\mytools\core\bin;C:\mytools\curl;C:\mytools\grep\bin;D:\autossh-cygwin;D:\sed-4.2.1-bin\bin;C:\mytools\gawk\bin

然后把mypath假如到系统的path里面

确定之后

进入工具目录下,把mediainfo提取出的信息,保存到med.txt里面

创建个bat文件,里面内容如下

grep General med.txt| awk -F ":[ ]" "{print $2}" |awk -F "Video" "{print $1}" >2.csv

双击运行此bat文件,会出现一个2.csv文件。这就是处理后的文件,使用excel工具打开

这就是我们想要的内容了

原文:https://www.cnblogs.com/nmap/p/8931485.html

java 使用mediainfo_使用mediainfo工具统计每个视频文件(媒体文件)播放时长相关推荐

  1. java 上传mp3文件大小,Java获取音频文件(MP3)的播放时长

    最近的一个项目需要按照时间播放mp3文件,例如,播放10分钟的不同音乐. 这就意味着我得事先知道mp3文件的播放时长,以决定播放几遍这个文件. 方案一:Java的方式 找第三方的库,真的感谢这些提供j ...

  2. 统计多个wav文件的总音频时长

    最近需要做一件事,统计一个文件夹下多个wav文件的总音频文件. 应该有多种途径,我这里就只说我的做法. 主要工作分成了两步:1.提取单个文件的音频时长信息   2.累加音频时长 1.提取单个文件的音频 ...

  3. java获取音频_java获取音频文件播放时长

    方法一: 在项目开发过程中,需要获取音视频文件时长.查询资料后发现 JAVE能够完美得到想要的结果,JAVE项目简介如下: The JAVE (Java Audio Video Encoder) li ...

  4. 文件内音频的时长统计并生成csv文件

    目录 一.需求 二.相关库 三.完整代码 四.一些问题 一.需求 请编写 Python 脚本,统计附属压缩文件"wav.zip"中音频的时长,并将统计结果保存在与 "wa ...

  5. Java使用JAVE获取MP4播放时长

  6. 视频剪辑工具,巧用分割视频批量改变视频的播放时长

    如何通过分割视频来改变视频的播放时长,比如:将一个视频平均或者随机分成几小段,这样时长就变短了.至于如何实现呢?下面随小编一起来试试. 导入多段视频 进入媒体梦工厂,在"分割视频" ...

  7. java 使用mediainfo_音视频文件编码分析软件MediaInfo使用简介

    MediaInfo用来分析视频和音频文件的编码和属性内容信息,是一款是自由软件 (免费使用.免费获得源代码).他除了提供DLL之外,本身也提供GUI工具用于查看视频信息.新版本的MediaInfo还支 ...

  8. 获取MP3音频时长 | Java工具类

    获取mp3格式音频时长. Maven依赖 <dependency><groupId>org</groupId><artifactId>jaudiotag ...

  9. Java Mission Control-Java 性能分析工具

    引言 本文为 Java 性能分析工具系列文章第三篇,这里将介绍如何使用 Java 任务控制器 Java Mission Control 深入分析 Java 应用程序的性能,为程序开发人员在使用 Jav ...

最新文章

  1. office文档、图片、音/视频格式转换工具
  2. 关于System Volume Information占用的大量磁盘空间
  3. python爬虫获取的网页数据为什么要加[0-Python爬虫实战1-解决需要爬取网页N秒后的内容的需求...
  4. docker显示镜像的摘要信息
  5. 【js拾遗】名称空间
  6. Java文件流的原理与应用
  7. Solidworks如何在零件表面贴图
  8. java生产消费线程小例子
  9. 浏览器兼容性问题汇总
  10. mysql C where语句_mysql – 在WHERE子句中使用substr的SELECT语句
  11. c++11 数值类型和字符串的相互转换
  12. 你技术很强但薪资不涨?这门技术远比你想的更重要!
  13. 写笔记插件_如何构建自己的笔记知识体系?
  14. 机器学习基础算法29-EM实践
  15. 【Java web 项目】医院药品管理系统
  16. 扫雷win10_windows扫雷游戏原来是一道数学难题!
  17. 欧姆龙Fins协议(FinsUDP/FinsTCP)
  18. CST — 电磁及EMC仿真工具
  19. 项目四:学生信息管理系统
  20. 撩人飙新意,美汁源首次转战“AR微电影”,要你变身当“导演”

热门文章

  1. flink定时读取mysql数据_flink时间系统系列之实例讲解:如何做定时输出
  2. 数据集成-7-大数据数据集成
  3. mpp动态新增和删除分区的定时任务创建
  4. c语言读取词法并显示坐标,完整版)词法分析器(c语言实现
  5. PyCharm 使用简介
  6. 廉洁文化 计算机学院,计算机学院“廉洁在志·系列作品”征集活动评选结果
  7. python peewee库 和 sqlite3的使用
  8. 基于Android的航班查询系统的设计与实现
  9. JavaScript验证字符串中是否含有中文汉字
  10. 厦门科技馆摆木块问题