回答
我最近也想這樣做。我做了很多研究,並且在php中沒有本地方式。一個建議是ffmpeg-php,但它似乎沒有爲我工作。另一種方法是使用命令行的ffmpeg:通過使用php-reader庫
exec("ffmpeg -i \"{$videofile}\" 2>&1");
$search='/Duration: (.*?),/';
$duration=preg_match($search, $duration, $matches, PREG_OFFSET_CAPTURE, 3);
我創建了一個基於這種方法的PHP類:https://github.com/bfanger/sledgehammer_ffmpeg/blob/ master/classes/FFVideo.php –
這可以以純PHP來完成。這個庫是純PHP中的ISO Base Media File Format, or ISO/IEC 14496-12
的完整實現。然後,您可以在該持續時間內信任元數據標題,也可以基於stbl框自行計算它。
我無法獲得tandu的解決方案。
下面是最終爲我工作:
$ffmpeg_output = shell_exec("ffmpeg -i \"$file\" 2>&1");
if(preg_match('/.*Duration: ([0-9:]+).*/', $ffmpeg_output, $matches)) {
echo $matches[1];
} else {
echo "$file failed\n";
}
希望這可以幫助別人。
簡單而完美。感謝發佈@Henno – Radhakrishna
這可能導致0秒的持續時間。由於ffmpeg也會返回毫秒。所以輸出是這樣的:** 00:00:05.66 **和上面的正則表達式將忽略十進制** 00:00:05 **。你需要的是:'/.*Duration:((\ d +)(?:\:)(\ d +)(?:\:)(\ d +))*/i'。 –
- 1. 用於HTML 5視頻的MP4持續時間的HTTP標頭
- 2. 最長持續時間HTML5視頻
- 3. 如何計算以PHP計算的持續時間
- 4. 佈局計算持續時間太長
- 5. 如何剪切視頻長度(Mp4)?
- 6. 如何計算XQuery中的最長持續時間?
- 7. javascript長度持續時間
- 8. 直播視頻持續時間/長度限制
- 9. HTML5視頻持續時間
- 10. PHP:計算持續時間[秒/分鐘]
- 11. 如果視頻持續時間長於音頻持續時間,如何重複播放音軌
- 12. 如何計算持續時間?
- 13. 如何計算持續時間?
- 14. 如何使用python獲得Youtube視頻的持續時間?
- 15. 如何使用API獲取視頻的持續時間Metacafe
- 16. 如何使用C#獲得視頻文件的持續時間?
- 17. 使用PHP獲取(mp4/flv)視頻的時長(m:s)?
- 18. 計算持續時間
- 19. SQL持續時間計算
- 20. 持續時間計算
- 21. 如何使用HTML5音頻計算一組曲目的總持續時間?
- 22. 計算最長的不間斷語音持續時間
- 23. 如何在PHP中獲取視頻的持續時間,維度和大小?
- 24. 如何顯示視頻的總時間和持續時間
- 25. 如何使用時間跨度顯示歌曲的最長持續時間?
- 26. 獲取AVFoundation視頻的持續時間
- 27. 獲取視頻的持續時間
- 28. html5視頻的當前/持續時間?
- 29. 在Express.js視頻的持續時間:NaN
- 30. 如何計算hook_block緩存時間的持續時間?
谷歌的一些命令行實用程序,並調用它使用PHP –
看看http://ffmpeg-php.sourceforge.net/ –
可能重複[如何提取持續時間從ffmpeg輸出?](http:///stackoverflow.com/questions/6239350/how-to-extract-duration-time-from-ffmpeg-output) – MondKin