[請問] MP4時間計算公式的單位問題

看板AVEncode作者 (xsoameix)時間12年前 (2012/04/05 23:20), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
我在查詢MP4的時間計算公式時 找到這張網頁 :http://wiki.multimedia.cx/index.php?title=QuickTime_container#stts 這個wiki在介紹stts這個box的下面寫下了這條公式: duration = (sample_count1*sample_time_delta1+...+sample_countN*sample_time_deltaN)/timescale 我馬上翻譯成自己較能理解的形式: 該trak的實際時間長度=(第一個群組的sample數量*第一個群組裡一個sample所佔的時間 單位+...+第N個群組的sample數量*第N個群組裡一個sample所佔的時間單位)/採樣率 接下來問題來了,我標上它們的單位後覺得不合理: seconds=(samples*(seconds/sample)+...+samples*(seconds/sample))/(samples/sec) 簡化變成 seconds=seconds^2/sample 左右兩邊的單位不符 我苦思許久,在網路上找到了兩個文獻: http://developer.longtailvideo.com/trac/export/1522/branches/adaptive/doc/f4v.pdf 裡面解釋SampleDelta這個詞是「Sample duration in TimeScale units defined in the mdhd box」 http://jaadec.sourceforge.net/specs/ISO_14496-12_ISOBMFF.pdf 這裡則是解釋成「sample_delta - is an integer that gives the delta of these samples in the time-scale of the media.」 以下是我自己推論的: 所以說sample_time_delta的單位不是seconds/sample 而是特別創造出來的TimeScale單位/sample; timescale的單位不是我們熟知的採樣率單位:samples/sec 而是TimeScales/sec 這兩個地方修改後就合理了 小弟剛接觸這些,不確定自己猜測的是否正確,還請高手賜教,謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.233.204
文章代碼(AID): #1FVRWgE9 (AVEncode)