PHP提取鏈接批量下載


2014年年初的時候,曾經受委托完成一個視頻網站,那時最大的技術障礙是一個大視頻比如500MB,在一個帶寬環境不怎么快的服務器(比如1Mbps)上提供播放的問題。

這里會遇到兩種情況,第一種情況是客戶機加載完整個視頻,然后播放。第二種情況是客戶機正在加載這個視頻,視頻卡在頁面上,無法播放。

於是,我就研究了一下目前幾大主流的視頻網站的播放技術,發覺絕大多數網站都使用了一種視頻切片的技術,把大視頻切成小片,然后分段加載進來。因為小片的視頻是完全可以在幾秒內全部加載的,所以如果用戶移動進度條,是可以實現“移到哪里就可以馬上看哪里”。

當然,后面因為實力有限,並沒有做視頻分片,而是用了Flash播放器把項目“馬馬虎虎”應付了,具體技術細節也並不清楚。

今天,我在網上看到了一個很好的視頻,用地址解析后發現視頻被分割成了300多片,於是我用PHP的正則表達式批量下載了鏈接地址

$path="*";

$str='';
if(file_exists($path)){
	$str=file_get_contents($path);
}

$a=[];
preg_match_all('/https:\S*.mp4/',$str,$a);
var_dump($a);

這里已經把鏈接地址都存放進了數組$a

然后使用file_put_contents函數下載這個URL資源

for($i=0;$i<count($a[0]);++$i){
	$content = file_get_contents($a[0][$i]);
	file_put_contents('download/'.$i.'.mp4',$content);
}

把視頻都下載到一個文件夾后,就開始合並,合並只需要用最簡單的命令行工具

copy /b *.mp4 new.mp4

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM