亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        根據(jù)元數(shù)據(jù)確定MP4文件時間的方法

        2020-03-17 05:21:12石穗東劉寧朱桂生
        廣東公安科技 2020年4期
        關(guān)鍵詞:信息

        石穗東 劉寧 朱桂生

        (1.中山市公安局刑科所,廣東中山 528403;2.廣東省公安廳物證鑒定中心,廣東廣州 510000)

        MP4 是一種常見的多媒體封裝格式,對應(yīng)的標(biāo)準(zhǔn)為ISO/IEC 14496-12:ISO Base Media File Format 及ISO/IEC 14496-14:MP4 File Format。MP4格式幾乎可以用來描述所有的媒體結(jié)構(gòu),可以在其中嵌入任何形式的數(shù)據(jù),以及各種編碼的音視頻,常用于網(wǎng)上流、光盤、語音發(fā)送(視頻電話),以及電視廣播。MP4目前被廣泛用于封裝h.264 視頻和AAC 音頻,是高清視頻的代表。

        1 MP4文件簡介

        1.1 基本概念

        MP4 文件由一系列box 組成(QuickTime 中為atom)。Box由header和body組成,其中header 指明box 的size(32 位)和type;size 指明了整個box所占用的大小,包括header部分,這樣就可以在文件中定位各個box;如果size 為1,表示該box 的大小為large size,真正的size 值要在large size 域上得到(實際上只有“mdat”類型的box 才有可能用到large size);如果size 為0,則表示該box 為文件的最后一個box,文件結(jié)尾即為該box結(jié)尾(同樣只存在于“mdat”類型的box中)。size后面是32位的box type,一般是4 個字符,如“ftyp”“moov”“trak”等等,這些box type都是已經(jīng)預(yù)定義好的,分別表示固定的意義[2]。Box 中可以包含一系列子box,這種box 被稱為container box。在子box 中,header box 作為首個子box 緊隨container box 出現(xiàn)。Fullbox 是box 的擴(kuò)展,box 結(jié)構(gòu)的基礎(chǔ)上在header 中增加8 位version 和24 位flags。sample:video sample即為一幀視頻,或一組連續(xù)視頻幀,audio sample 即為一段連續(xù)的壓縮音頻,它們統(tǒng)稱sample。MP4 文件數(shù)據(jù)存儲使用大端字節(jié)序。MP4 格式的官方文件后綴名是“.MP4”,還有其他以MP4 為基礎(chǔ)的格式,包括:m4v、m4a、m4p、m4b 等等。限于篇幅,本文只講解常見的MP4文件結(jié)構(gòu)。

        1.2 幾個重要box

        File Type Box(ftyp)。在MP4文件頭部,首先會有且只有一個“ftyp”類型的box,作為MP4 格式的標(biāo)志并包含關(guān)于文件的一些信息,主要描述文件的版本、兼容協(xié)議等內(nèi)容。

        Movie Box(moov)?!癿oov”類型box 有且只有1 個,一般情況下會緊隨ftyp box 出現(xiàn),但也有放在文件末尾的。該box 包含本文件中所有媒體數(shù)據(jù)的宏觀描述信息,但不包含具體的媒體數(shù)據(jù)。該box 是一個container box,包含的一系列子box中存儲著媒體播放所需的metadata(元數(shù)據(jù))。Moov box 中包含1 個“mvhd”和若干個“trak”等box。

        Media Data Box(mdat)。MP4 文件中的媒體數(shù)據(jù)和媒體信息是分開存放的,媒體數(shù)據(jù)保存在“mdat”類型的box中,由文件的元數(shù)據(jù)進(jìn)行描述。媒體數(shù)據(jù)的組織很自由,不一定要按照時間順序排列,甚至媒體數(shù)據(jù)可以直接引用其他文件。因此,mdat box 可以有多個,也可以沒有(當(dāng)媒體數(shù)據(jù)全部引用其他文件時)。

        1.3 包含時間戳的box

        Movie Header Box(mvhd)。“Mvhd”是movie box 的首個子box,存放MP4 文件總體聲明,對整個文件所包含的媒體數(shù)據(jù)作全面的全局的描述,包括創(chuàng)建時間、修改時間、時間刻度、默認(rèn)音量、時長等信息。mvhd 是一個fullbox,其結(jié)構(gòu)如圖1所示。

        圖1 mvhd box結(jié)構(gòu)

        Track Box(trak)。描述單個track(軌道)或流信息的容器。MP4 文件中必須有一個或多個track,這些track之間彼此獨(dú)立,有自己的時間和空間信息。每個trak box都包含與之對應(yīng)的media box。該box 是一個container box,必須包含一個“tkhd”和一個“mdia”,此外還有很多可選的box(略)。Trak box的子box包含了該track的媒體數(shù)據(jù)引用和描述[3]。

        Track Header Box(tkhd)?!癟khd”是track box的首個子box,存放該track的特性和總體信息,如時長、寬高等。該box是一個fullbox,其結(jié)構(gòu)中關(guān)于修改時間、創(chuàng)建時間的定義與mvhd相同。

        Media Box(mdia)。“Mdia”類型box 定義了所屬track 中的媒體數(shù)據(jù)信息。該box 是一個container box,一般情況下包含一個“mdhd”、一個“hdlr”和一個“minf”。

        Media Header Box(mdhd)?!癕dhd”是media box 的首個子box,描述media box 的總體信息。該box 也是fullbox,其結(jié)構(gòu)中關(guān)于修改時間、創(chuàng)建時間的定義與mvhd相同。

        1.4 示例分析

        以手機(jī)中拍攝的“VID_20190828_133158.MP4”為例進(jìn)行分析,在手機(jī)中查看該文件的詳情,修改時間為2019 年8 月28 日13 時31 分57秒。根據(jù)mvhd box、tkhd box、mdhd box分別是moov box、trak box、mdia box的首個子box的特點(diǎn),在該文件中搜索“moov????mvhd”

        (“?”用作通配符)、“trak????tkhd”和“mdia????mdhd”,搜索結(jié)果分別為1 個、2 個、2 個。如圖2 所示,mvhd box、tkhd box、mdhd box 的version 均為0,因此創(chuàng)建時間、修改時間均為4個字節(jié)。搜索結(jié)果(高亮部分)往后第5至8 個字節(jié)是創(chuàng)建時間,第9 至12 個字節(jié)是修改時間,均是“D98BC24D”,共10個(紅色框部分)。Winhex數(shù)據(jù)解釋器的“HFS+Date+Time(32bit)”選項用于對1904 年1 月1 日0 時、長度為4 個字節(jié)的時間戳進(jìn)行解析。將光標(biāo)定位在時間戳的第1個字節(jié)“D9”,可知mvhd box中的創(chuàng)建時間為2019年8月28日13時31分57秒。

        圖2 元數(shù)據(jù)中的時間戳

        在文件屬性中,可以方便地對MP4 文件創(chuàng)建日期進(jìn)行修改。創(chuàng)建副本文件“VID_20190828_133158-副本.MP4”,將該文件屬性中的“創(chuàng)建媒體日期”修改為2020 年1 月1日,見圖3。

        圖3 修改時間屬性

        圖4 修改時間屬性后的比較

        比 較“VID_20190828_133158.MP4”和“VID_20190828_133158-副本.MP4”不同之處,由圖4可知,只有偏移量2C至2E的3個字節(jié)被修改了,由原來的“D98BC2”改變?yōu)椤癉A31DF”?!癡ID_20190828_133158-副本.MP4”被修改的3 個字節(jié)(紅色框),如圖5 所示,mvhd box中的創(chuàng)建時間改變?yōu)?020年1月1日13時31分57秒。

        圖5 時間戳的變化

        由上述操作可知,在文件屬性中修改“創(chuàng)建媒體日期”,改變的只是mvhd box中的創(chuàng)建時間,而該box 中的修改時間,以及tkhd box、mdhd box 中的創(chuàng)建時間、修改時間都沒有被改變。因此,不能只根據(jù)文件屬性中的“創(chuàng)建媒體日期”作出判斷,還要對mvhd box 中的修改時間,以及tkhd box、mdhd box 中的創(chuàng)建時間、修改時間進(jìn)行分析。由于數(shù)據(jù)存儲過程中延時等原因,創(chuàng)建時間與修改時間不一定相同;另外,每個trak box有自己的時間信息,創(chuàng)建時間之間、修改時間之間也可能不完全相同,但應(yīng)該都在合理范圍內(nèi)。如果某些時間戳與其它時間戳相比不正常,則有可能是被蓄意修改所致。

        2 案例分析

        某猥褻兒童案,在嫌疑人電腦硬盤中,通過恢復(fù)軟件文件簽名方法得到的MP4 文件沒有創(chuàng)建時間、修改時間,需要確定文件的創(chuàng)建時間。

        由于恢復(fù)出來的涉案MP4 文件很多,編寫腳本遍歷當(dāng)前目錄所有MP4 文件獲取創(chuàng)建時間、修改時間。思路如下:根據(jù)前面的分析,搜索所有mvhd box、tkhd box、mdhd box中的時間戳后進(jìn)行轉(zhuǎn)換。Python 中沒有相對1904 年1月1日0時進(jìn)行轉(zhuǎn)換的函數(shù),可以將時間戳先轉(zhuǎn)換為十進(jìn)制,減去2082844800(1904 年1 月1日0 時至1970 年1 月1 日0 點(diǎn)的總秒數(shù))得到Unix 時間戳,再使用Unix 時間轉(zhuǎn)換函數(shù)得到創(chuàng)建時間、修改時間。

        研究發(fā)現(xiàn):一些MP4文件的時間戳可能全是0,也可能是Unix時間戳(相對1970年1月1日0時)。因此要對獲取到的時間戳進(jìn)行判斷再進(jìn)行轉(zhuǎn)換。判斷條件:(1)如果時間戳大于2082844800,說明相對1904 年而不是1970 年。因為如果相對1970年,那么時間應(yīng)該大于1970年+2082844800秒(約等于66年)>2036年,但當(dāng)前日期還未到達(dá)2036年。因此需要將時間戳減去2082844800再進(jìn)行Unix時間轉(zhuǎn)換;(2)如果時間戳為0,則不用計算,說明文件中并沒有記錄時間;(3)如果上述條件都不符合(時間戳≤2082844800),說明時間戳不是相對1904 年的,而是Unix時間戳,相對1970年進(jìn)行轉(zhuǎn)換即可。

        為精確搜索,構(gòu)建正則表達(dá)式:container_box+b′[x00-xFF]{4}′+Timestamp_box,其中“container_box”為容器box(如moov、trak、mdia),“[x00-xFF]{4}”為任意4 個字節(jié)(即Timestamp_box的大?。?,“Timestamp_box”為包含時間戳的子box(如mvhd、tkhd、mdhd box)。限于篇幅,只展示了獲取創(chuàng)建時間的函數(shù)(見圖6),腳本運(yùn)行結(jié)果如圖7所示。

        圖6 獲取創(chuàng)建時間的函數(shù)

        圖7 腳本運(yùn)行結(jié)果

        3 結(jié)束語

        本文介紹了MP4 文件格式,以及根據(jù)文件元數(shù)據(jù)中的時間戳確定文件創(chuàng)建時間、修改時間的方法。由于MP4文件起源于QuickTime,本文的方法亦適用于MOV 文件。需要指出的是:1)時間戳依據(jù)拍攝設(shè)備產(chǎn)生,如果設(shè)備時間本身就錯誤,那么文件中的時間戳也是錯誤的。2)時區(qū)問題。如果分析軟件中的時區(qū)設(shè)置與拍攝設(shè)備中的不一致,則分析結(jié)果因此會產(chǎn)生誤差。3)通過微信以視頻方式(非文件方式)發(fā)送的MP4 文件,在接收時文件名被改變,文件被壓縮,其包含的所有時間戳也相應(yīng)被修改接收文件時的時間,或修改為0。因此,針對時間的調(diào)查取證,往往要形成一條完整的證據(jù)鏈才能證明事件的發(fā)生或者發(fā)展,必要時還需輔以文件內(nèi)容或其他證據(jù)。

        猜你喜歡
        信息
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        信息超市
        展會信息
        展會信息
        展會信息
        展會信息
        展會信息
        信息
        健康信息
        祝您健康(1987年3期)1987-12-30 09:52:32
        热热久久超碰精品中文字幕 | 一区二区韩国福利网站| 日韩成精品视频在线观看| 亚洲精品一区三区三区在线| 国产精品免费av片在线观看| 九九视频在线观看视频6| 久久久久综合一本久道| 国产三级不卡在线观看视频| 天天摸天天做天天爽水多| 亚洲乱码av中文一区二区| 成人国产永久福利看片| 好看的中文字幕中文在线| 精品亚洲成a人在线观看| 中文字幕久无码免费久久| 国产美女高潮流白浆在线观看| 中文字幕丰满人妻被公强| 天堂一区二区三区在线观看视频| 无码午夜成人1000部免费视频| 国产精品久久久久久久久免费观看| 日韩激情av不卡在线| 激情内射人妻1区2区3区| 日韩在线一区二区三区免费视频 | 极品粉嫩嫩模大尺度视频在线播放| 国产97色在线 | 国产| 成人小说亚洲一区二区三区| 2021久久精品国产99国产| 日韩av天堂一区二区三区在线| 国产亚洲精品美女久久久| 热99re久久精品这里都是免费| 久久中文字幕av第二页| 中文字幕在线乱码一区| 激情综合一区二区三区| 在线看片国产免费不卡| 国产成人亚洲系列毛片| 狠狠躁日日躁夜夜躁2020| 国产一区二区三区在线观看精品| 三级黄色片一区二区三区| 亚洲 另类 小说 国产精品| 亚洲av综合av国产av| 欧美日韩亚洲国产无线码| 日韩有码在线观看视频|