php 调用 ffmpeg 下载 m3u8

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
/**
 * 功能: 调用 ffmpeg 下载指定页面的歌曲,实际上是利用ffmpeg下载 m3u8地址
 * 这是在争度网的一个帖子里的需求,地址: http://www.zd.hk/thread-72366.htm
 * 楼主希望吧 http://ent.cnr.cn/ylzt/gqzj/ 这个页面的歌曲下载回来。
 * 用法: 将该文件保存为 ‘get.php'
 * 修改 $ffmpeg_path 和 $save_path 两个变量为你自己对应的位置
 * 在命令行下输入 ' php get.php'
 * 等待下载完毕即可
 * 补充:
 * ffmpeg 下载地址: https://ffmpeg.zeranoe.com/builds/
 * php for windows 下载地址: https://windows.php.net/download/
 * 作者: 杨永全
 * 博客: https://www.qt06.com/
 * 时间: 2019-11-20
*/

$ffmpeg_path = '"C:\Program Files\REAPER (x64)\ffmpeg.exe"'; //ffmpeg.exe路径
$save_path = 'd:\workspace\\'; //保存位置
$url = 'http://ent.cnr.cn/ylzt/gqzj/';
$pattern = '<li index="\d+" data-url="(.+?)"><span>(.+?)</span></li>';
$s = file_get_contents($url);
$s = iconv('gbk', 'utf-8', $s);
if(preg_match_all('#'.$pattern.'#is', $s, $rs)) {
	$cnt = count($rs[1]);
	$rc = 0;
	for($i = 0; $i < $cnt; $i++) {
		$cmd = $ffmpeg_path.' -i '.$rs[1][$i] . ' '.$save_path.trim($rs[2][$i]).'.mp3';
		system($cmd, $rc);
	}
	echo 'finished';
} else {
	echo 'parse failed';
}
updatedupdated2019-11-202019-11-20