ffmreg thinkphp 控制器 獲取音頻視頻詳細信息(獲取時長)

FFmpeg下載:http://ffmpeg.zeranoe.com/builds/
下載並解壓FFmpeg文件夾:
  打開你想安裝的任意磁盤,例如:d盤。新建一個名爲「ffmpeg」的文件夾,將第二步解壓生成的文件夾中的內容所有拷貝到「ffmpeg」文件夾中。
設置環境變量
  右鍵點擊「個人電腦->屬性」,而後點擊「高級系統設置」,跳出「系統屬性」窗口後,最後點擊「環境變量」按鈕:
點擊「環境變量」按鈕後,跳出「環境變量」窗口,找到並選中「Path」變量,點擊編輯:
在「Path」變量原有變量值內容上加上「;d:\ffmpeg\bin」(注:;表明間隔,不可遺漏;d:\ffmpeg\bin表明FFmpeg的安裝路徑下的bin文件夾),一路點擊「肯定」便可。

打開命令提示符窗口。輸入命令「ffmpeg –version」。若是命令提示窗口返回FFmpeg的版本信息,那麼就說明安裝成功了,你能夠在命令提示行中任意文件夾下運行FFmpeg。

 1 $file_name = '後弦 - 下完這場雨 (鈴聲).mp3';
 2 $arr = $this->getInfo($file_name);//返回音頻的信息
 3 $time_long = gmdate('H:i:s', $arr['seconds']);
 4  
 5 /**
 6  * 獲取文件信息
 7  * @access public
 8  * @param  file      $file     文件路徑
 9  * @return array
10  */
11  
12 function getInfo($file)
13 {
14     $command = sprintf('D:/ffmpeg/bin/ffmpeg -i "%s" 2>&1', $file);//你的安裝路徑
15  
16     ob_start();
17     passthru($command);
18     $info = ob_get_contents();
19     ob_end_clean();
20  
21     $data = array();
22     if (preg_match("/Duration: (.*?), start: (.*?), bitrate: (\d*) kb\/s/", $info, $match)) {
23         $data['duration'] = $match[1]; //播放時間
24         $arr_duration = explode(':', $match[1]);
25         $data['seconds'] = $arr_duration[0] * 3600 + $arr_duration[1] * 60 + $arr_duration[2]; //轉換播放時間爲秒數
26         $data['start'] = $match[2]; //開始時間
27         $data['bitrate'] = $match[3]; //碼率(kb)
28     }
29     if (preg_match("/Video: (.*?), (.*?), (.*?)[,\s]/", $info, $match)) {
30         $data['vcodec'] = $match[1]; //視頻編碼格式
31         $data['vformat'] = $match[2]; //視頻格式
32         $data['resolution'] = $match[3]; //視頻分辨率
33         $arr_resolution = explode('x', $match[3]);
34         $data['width'] = $arr_resolution[0];
35         $data['height'] = $arr_resolution[1];
36     }
37     if (preg_match("/Audio: (\w*), (\d*) Hz/", $info, $match)) {
38         $data['acodec'] = $match[1]; //音頻編碼
39         $data['asamplerate'] = $match[2]; //音頻採樣頻率
40     }
41     if (isset($data['seconds']) && isset($data['start'])) {
42         $data['play_time'] = $data['seconds'] + $data['start']; //實際播放時間
43     }
44     $data['size'] = filesize($file); //文件大小
45     return $data;
46 }

 

Author:XueDing_
Email:361169632@qq.com
註明出處:
http://www.javashuo.com/article/p-sqcjsblt-v.html 
相關文章
相關標籤/搜索