所有QTKit示例都使用秒來製作範圍。不幸的是,我有幀數,需要幀準確。如果我能弄清楚如何從我的電影中解脫出來,我想我可以乘以幀頻。是否可以從兩個幀號創建一個QTTimeRange?
2
A
回答
1
您應該能夠通過查詢QTMedia
以下mediaAttributes
計算給定視頻媒體的幀速率:
QTMediaDurationAttribute
QTMediaSampleCountAttribute
(他們在QTKit文檔here)
和使用的計算公式如下:
QTTime duration = ... // value get from mediaAttribute
NSNumber sample_count = ... // value get from mediaAttribute
double fps = (sample_count.longValue * duration.timeScale)/duration.timeValue;
免責聲明:
請注意,我還沒有試過,如果這個工程,但它是我多麼希望它根據我的經驗,以工作QuickTime C API和QuickTime文件格式。
祝你好運!
0
乘以幀速率並不準確,因爲Quicktime使用的許多文件容器和編解碼器使用variable frame rates可以獲得更好的壓縮效果。你會注意到這在任何類型的電影凍結框架的任何時間長度。以macbreak的The Road to 1080p, part1爲例。
您可以使用OSX 10.6中引入的QTMovie方法frameStartTime:atTime和frameEndTime:atTime進行幀精確範圍。這些將分別給出幀的開始和結束,而不進行幀解碼。
例如計算所有幀的電影:
// Initialize QTMovie object called 'movie', disable looping, etc
[movie gotoEnd];
QTTime endTime = [movie currentTime];
[movie gotoBeginning];
QTTime curTime = [movie currentTime];
unsigned long numFrames = 0;
while (true)
{
% get the end time of the current frame
[movie frameEndTime:&curTime];
numFrames++;
% If we get to the last frame, stop counting
if (QTTimeCompare(curTime, endTime) == NSOrderedSame)
{
break;
}
}
相關問題
- 1. 是否可以用「星號java」創建兩個「星號」實例?
- 2. 是否可以從兩個上下文創建單個類?
- 3. 是否可以爲一個位置創建兩個標記?
- 4. 是否可以從NodeJs中的一個腳本創建兩個服務器?
- 5. 是否可以使用LINQ從兩個數組創建一個維數組?
- 6. 是否可以使用符號鍵創建一個const對象?
- 7. 如果兩個字段都不唯一,是否可以創建一個外鍵?
- 8. 是否有可能在一個表中創建兩個主鍵
- 9. 是否可以從訪問表單中創建一個EXE?
- 10. 是否可以從base64字符串創建一個pdf文件?
- 11. 是否可以從我的dbml文件創建一個腳本?
- 12. 使用streamwriter,是否可以從word.doc創建一個html文件?
- 13. 是否可以從另一個視圖創建視圖?
- 14. 是否可以從Pascal中的數組創建一個數組?
- 15. 創建兩個數據幀
- 16. 是否可以創建一個Web服務來創建一個XML文件?
- 17. 是否可以用兩個相同的模塊創建一個複合模塊?
- 18. 是否可以在HTML中創建一個鏈接來執行兩個腳本?
- 19. 從兩個數據幀中創建一個-1,0,1矩陣
- 20. 是否可以組合兩個範圍來創建字典?
- 21. 是否可以爲多個列創建一個索引? hiberanate
- 22. 如何從兩個不同的數據幀中取出一個列,以創建一個新的數據幀
- 23. Clojure:是否可以創建一個宏來在單個condp子句中創建這兩個元素?
- 24. 是否可以在一個視圖中從兩種形式創建兩個對象並讓它們相關?
- 25. 創建一個從星號
- 26. 是否可以從另一個數據框中分割一個數據幀?
- 27. 是否可以創建一個可擴展列表AlertDialog?
- 28. R:如何從兩個其他數據幀創建一個新的數據幀
- 29. Python:是否可以從多個外部庫中創建一個包?
D'呃投票太早: 我找不到'框架的任何引用(開始|完)時間:atTime:'無論是在頭文件或QTMovie類參考。谷歌只指向這個帖子,並且指向QTMovie上的一個類別,該類別定位於定義這些方法的Google代碼上。然而,你的反對意見應該是站得住腳的:爲了達到幀精度,簡單地將電影的幀率乘以一段時間是不安全的。 – danyowdee 2010-10-01 08:44:46
由於某些原因,這些方法不再是QTKit的一部分。 – 2011-04-24 17:44:38