• 使用mediainfo工具统计每个视频文件(媒体文件)播放时长


    需求

    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:mytoolscorein;C:mytoolscurl;C:mytoolsgrepin;D:autossh-cygwin;D:sed-4.2.1-binin;C:mytoolsgawkin

    然后把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工具打开

     这就是我们想要的内容了

  • 相关阅读:
    使用git svn工具进行svn 到git仓库的同步[持续更新]
    解决Linux无法存储svn密码
    spring boot @ResponseBody 注解情况下返回自定义类报错406
    解决mysql密码正确的情况下而无法连接的问题
    react项目实现国际化i18n
    github clone加速
    Centos模板机配置
    Xshell终端连接服务器慢,问题解决方法
    佛祖保佑永无 BUG 代码注释
    本地代理web端口
  • 原文地址:https://www.cnblogs.com/nmap/p/8931485.html
Copyright © 2020-2023  润新知