摘要:定義的路徑,最好在網站的全局配置文件里定義好另外,重定向符號在等系統中為通過使用輸出緩沖,獲取到所有輸出的內容。提取出播放時間轉換為秒開始時間碼率單位編碼格式視頻格式分辨率音頻編碼音頻采樣頻率實際播放時間文件大小調用方法輸出的結果
&
define("KC_FFMPEG_PATH", "/usr/local/ffmpeg/bin/ffmpeg -i "%s" 2>&1");
function video_info($file) {
ob_start();
passthru(sprintf(KC_FFMPEG_PATH, $file));
$info = ob_get_contents();
ob_end_clean();
// 通過使用輸出緩沖,獲取到ffmpeg所有輸出的內容。
$ret = array();
// Duration: 01:24:12.73, start: 0.000000, bitrate: 456 kb/s
if (preg_match("/Duration: (.*?), start: (.*?), bitrate: (d*) kb/s/", $info, $match)) {
$ret["duration"] = $match[1]; // 提取出播放時間
$da = explode(":", $match[1]);
$ret["seconds"] = $da[0] * 3600 + $da[1] * 60 + $da[2]; // 轉換為秒
$ret["start"] = $match[2]; // 開始時間
$ret["bitrate"] = $match[3]; // bitrate 碼率 單位 kb
}
// Stream #0.1: Video: rv40, yuv420p, 512x384, 355 kb/s, 12.05 fps, 12 tbr, 1k tbn, 12 tbc
if (preg_match("/Video: (.*?), (.*?), (.*?)[,s]/", $info, $match)) {
$ret["vcodec"] = $match[1]; // 編碼格式
$ret["vformat"] = $match[2]; // 視頻格式
$ret["resolution"] = $match[3]; // 分辨率
$a = explode("x", $match[3]);
$ret["width"] = $a[0];
$ret["height"] = $a[1];
}
// Stream #0.0: Audio: cook, 44100 Hz, stereo, s16, 96 kb/s
if (preg_match("/Audio: (w*), (d*) Hz/", $info, $match)) {
$ret["acodec"] = $match[1]; // 音頻編碼
$ret["asamplerate"] = $match[2]; // 音頻采樣頻率
}
if (isset($ret["seconds"]) && isset($ret["start"])) {
$ret["play_time"] = $ret["seconds"] + $ret["start"]; // 實際播放時間
}
$ret["size"] = filesize($file); // 文件大小
return array($ret,$info);
}
// 調用方法:
print_r( video_info("cuepoints.flv"));
?>
//輸出的結果:
Array (
[duration] => 00:00:16.33
[seconds] => 16.33
[start] => 0.000000
[bitrate] => 568
[vcodec] => vp6f
[vformat] => yuv420p
[resolution] => 320x213
[width] => 320
[height] => 213
[acodec] => mp3
[asamplerate] => 44100
[play_time] => 16.33
[size] => 1161290 )
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/20816.html
怎么從0到1學習Python呢?Python中的知識點,涉及到內容主要是Python Opencv,用于人工智能,機器學習模擬相關的數據,那么,里面的一些較為基礎的知識點,涉及到的內容是什么呢?下面就給大家詳細解答下。 OpenCV是一個流行的開源計算機視覺庫,可用于不同的編程語言,例如Python、C++和JavaScript。它提供了一套豐富的工具來處理和分析圖像和視頻,讓你可以從調整單...
此篇文章主要是給大家介紹一下OpenCV中cv2.VideoCapture函數的應用,并通過cv2.VideoCapture讀取錄像或監控攝像頭及其開展儲存幀圖象或者視頻,感興趣的朋友可以看看。 一、詞法:cap=cv2.VideoCapture(0) 表明:主要參數0表明默認筆記本電腦的內嵌第一位監控攝像頭,必要時載入已經有的小視頻則主要參數改成錄像所屬途徑途徑,比如:cap=cv2.V...
本文給大家介紹一類從視頻里獲取視頻幀的辦法,因為單核獲取視頻幀速率比較慢,因而接下來我們增強了線程同步的辦法,感興趣的朋友能夠出手試一試 Python迅速獲取視頻幀(線程同步) 現在詳細介紹一下一類從視頻里獲取視頻幀的辦法,因為單核獲取視頻幀速率比較慢,因而接下來我們增強了線程同步的辦法。 1、獲取視頻幀 獲取視頻幀關鍵用了Opencv控制模塊。 在其中: camera=cv2.V...
本設計的時候,應用YOLO目標檢測算法、Openpose姿勢檢測算法、deepsort跟蹤算法、MSCNN群體密度估計技術實現了火災監測、抽煙數據監測、行為表現安全監控、人群密度數據監測、防護口罩率數據監測、人員定位系統數據監測六個基本要素,對Python完成旅游景點安防監控系統感興趣的小伙伴一起了解一下吧 本設計的時候,應用YOLO目標檢測算法、Openpose姿勢檢測算法、deepsor...
此篇文章主要是給大家介紹了python圖像處理之圖象的批量編輯實例詳細解讀,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,愿大家多多的發展,盡快漲薪 文章正文 有的時候,不僅需要對一張照片予以處理,可能也會對一大批照片處理。此刻,我們通過循環系統去執行解決,還可以啟用程序流程帶有的照片結合去處理。 照片結合函數公式 skimage.io.ImageCollection(load...
閱讀 2423·2021-10-09 09:59
閱讀 2177·2021-09-23 11:30
閱讀 2591·2019-08-30 15:56
閱讀 1145·2019-08-30 14:00
閱讀 2939·2019-08-29 12:37
閱讀 1253·2019-08-28 18:16
閱讀 1656·2019-08-27 10:56
閱讀 1022·2019-08-26 17:23