java 使用mediainfo_使用mediainfo工具统计每个视频文件(媒体文件)播放时长
需求
1、運(yùn)營那邊需要統(tǒng)計大量視頻文件的播放時長,并匯總記錄到excel表中,問我有什么方法搞定
這邊搜索了很多統(tǒng)計媒體文件時長的,主要有以下幾種
1、使用java獲取
2、使用python獲取
3、使用mediainfo工具獲取
由于自己對java剛懂點(diǎn)基礎(chǔ),要琢磨幾天才能寫出來,而python代碼下載的第三方模塊運(yùn)行時總是報錯。一時半會無法解決
最終采用mediainfo工具
1、下載和安裝mediainfo工具
這邊下載使用的mediainfo工具是1.8版本的
2、簡單使用此工具查看一些媒體文件
在安裝目錄下找到此軟件入口(可以發(fā)送個快捷方式到桌面,方便以后使用)
可以打開文件或者文件夾
先查看一個電影文件。有一些輸出信息
點(diǎn)擊下面按鈕
可以看到一些定義好的輸出格式,選擇不同的格式,顯示的信息不一樣
這里選擇樹狀圖,可以看到很多信息
由于這里我只想要文件名和文件的播放時長,因此需要自定義輸出信息
選項--參數(shù)設(shè)置
找到自定義
點(diǎn)擊新建,自定義個名字,隨便定義
點(diǎn)擊OK之后彈出如下
保持第一行內(nèi)容如下
General : %FileNameExtension%,%PlayTime/String1%
如下,點(diǎn)擊OK保存
保持當(dāng)前自定義的是自己剛剛寫的
點(diǎn)擊確定
點(diǎn)擊左邊的查看方式
查看方式選擇自定義
可以看到輸出信息如下
可以看到第一行左邊是文件名,右邊是時間
其它信息是多出來的。我們沒配置,但是仍然默認(rèn)多出來了。目前已經(jīng)做到輸出信息最少了,同時我們需要的都在
如果不想看到毫秒等信息。可以編輯輸出的信息把string1改成string2
再次查看自定義信息,就沒有秒和毫秒了
經(jīng)過我測試,如果文件沒超過一分鐘,會顯示為分鐘和秒
如果文件超過1小時,會顯示小時和分鐘。
3、使用mediainfo工具查看一批媒體文件
前提是媒體文件都在此文件夾下
視頻文件信息都出來了
如果文件比較多,可能要等一小會才會出現(xiàn)。我曾經(jīng)統(tǒng)計過800個小視頻文件。軟件卡了5到10分鐘才顯示
4、對文件輸出信息進(jìn)行處理加工
右鍵--全選
復(fù)制到一個文本里
復(fù)制到文本文件里
接下來就是對這些信息進(jìn)行加工了。只保留文件名和時間
方式1
linux命令特別熟的可以選擇使用awk以及grep工具處理
grep General med.txt| awk -F ‘:[ ]‘ ‘{print $2}‘ |awk -F ‘Video‘ ‘{print $1}‘
上面是把信息放在了med.txt文件里的
先根據(jù)General過濾出文件名和時間這行,然后根據(jù)規(guī)律去掉文件名前面的字符串,然后去掉Video以及之后的字符串
方式2
使用windows版本的awk和grep工具
這里下載了awk工具和grep工具,都是windows版本的
這些命令工具都是從gnu網(wǎng)站下載的
http://gnuwin32.sourceforge.net/packages/gawk.htm
http://gnuwin32.sourceforge.net/packages/grep.htm
因為平時也用到了別的工具,自己都統(tǒng)一放在了下面目錄下,同時設(shè)置了環(huán)境變量,這樣就可以在任意目錄下使用了
很多windows版本的命令
添加工具目錄到環(huán)境變量里
添加個mypath
內(nèi)容如下
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假如到系統(tǒng)的path里面
確定之后
進(jìn)入工具目錄下,把mediainfo提取出的信息,保存到med.txt里面
創(chuàng)建個bat文件,里面內(nèi)容如下
grep General med.txt| awk -F ":[ ]" "{print $2}" |awk -F "Video" "{print $1}" >2.csv
雙擊運(yùn)行此bat文件,會出現(xiàn)一個2.csv文件。這就是處理后的文件,使用excel工具打開
這就是我們想要的內(nèi)容了
原文:https://www.cnblogs.com/nmap/p/8931485.html
總結(jié)
以上是生活随笔為你收集整理的java 使用mediainfo_使用mediainfo工具统计每个视频文件(媒体文件)播放时长的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 绘制3维人体模型的matlab代码
- 下一篇: 公式编辑器Axmath+公式识别器Sim