共计 4352 个字符,预计需要花费 11 分钟才能阅读完成。
集成了:抖音、火山、头条、快手、梨视频、美拍、陌陌、皮皮搞笑、皮皮虾、全民搞笑、刷宝、微视、小咖秀、最右、B站、微博、秒拍等等。
一部分的视频没办法去水印只能提取视频(存在水印)。
项目链接:
https://github.com/smalls0098/video-tools
项目扩展:
https://github.com/smalls0098/origin-php-watermark-api
使用教程:
PHP环境:php7.3(win:phpstudy_pro)(linux:宝塔、lnmp、自配环境)
IDE:phpsotrm
1 . 安装composer
如果还没有安装 Composer
,在 Linux
和 Mac OS X
中可以运行如下命令:
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
在 Windows 中,你需要下载并运行 Composer-Setup.exe。
如果遇到任何问题或者想更深入地学习 Composer,请参考 Composer 文档(英文),Composer 中文。
由于众所周知的原因,国外的网站连接速度很慢。因此安装的时间可能会比较长,我们建议通过下面的方式使用国内镜像。
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
注意:最近phpcomposer
镜像存在问题,可以改成
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
如果你是第一次安装的话,在命令行下面,切换到你的WEB根目录下面并执行下面的命令:
composer require smalls/video-tools
如果你之前已经安装过,那么切换到你的应用根目录下面,然后执行下面的命令进行更新:
composer update smalls/video-tools
2 . 安装composer.phar(安装上一步就可以忽略)
1.下载composer.phar包
地址:https://getcomposer.org/download/
2.移动composer.phar
Mac 或 Linux 系统:
打开命令行窗口并执行如下命令将前面下载的 composer.phar
文件移动到 /usr/local/bin/
目录下面:
sudo mv composer.phar /usr/local/bin/composer
Windows 系统:
放到你的WEB根目录下面并执行下面的命令:(必须保证php环境是全局的)
php composer.phar require smalls/video-tools
如果你之前已经安装过,那么切换到你的应用根目录下面,然后执行下面的命令进行更新:
php composer.phar update smalls/video-tools
3 . 扩展包使用方法
1、如果是原生开发的话,需要再你需要调用扩展包的文件引入composer的自动加载类,在vendor里面的autoload.php,引入这个文件
例如我github上面的origin-php-watermark-api是这样引入的,根据不同的需要自己配置
require_once __DIR__ . '/../vendor/autoload.php';
2、如果是框架的用户,本身应该自带composer自动加载类不用再次引用,如果没有携带需要在需要的地方引用vendor里面的autoload.php
3、扩展包的基础使用方法
use Smalls\VideoTools\VideoManager; //需要引入控制器的包地址require '../vendor/autoload.php'; //如果没有自动加载vendor就调用这个,有则无视//调用引用videoManager控制类,调用你所需要的服务,不懂往下翻可以看到完整的代码//我这边使用DouYin的对象,调用start传入抖音的短链接就可以了VideoManager::DouYin()->start("https://v.douyin.com/JeoLRe4/");
4、扩展包的高级使用方法
use Smalls\VideoTools\VideoManager;require '../vendor/autoload.php';
VideoManager::DouYin()
->setIsCheckUrl(true) //设置是否使用扩展包自带的url验证器,true为使用,默认为true
->setUrlValidator(['douyin.com', 'iesdouyin.com']) //自定义验证的url地址,不传默认使用自带的
->setProxy('47.112.221.156:3128') //使用代理,格式:主机:端口
->println() //是否打印返回数据,线上就不要打开
->start("https://v.douyin.com/JeoLRe4/"); //传入短视频的链接
5、完整使用代码
require_once __DIR__ . '/../vendor/autoload.php';use Smalls\VideoTools\VideoManager;try { if (strpos($url, "douyin.com") || strpos($url, "iesdouyin.com")) {
$result = VideoManager::DouYin()->start($url);
} elseif (strpos($url, "huoshan.com")) {
$result = VideoManager::HuoShan()->start($url);
} elseif (strpos($url, "ziyang.m.kspkg.com") || strpos($url, "kuaishou.com") || strpos($url, "gifshow.com") || strpos($url, "chenzhongtech.com")) {
$result = VideoManager::KuaiShou()->start($url);
} elseif (strpos($url, "www.pearvideo.com")) {
$result = VideoManager::LiVideo()->start($url);
} elseif (strpos($url, "www.meipai.com")) {
$result = VideoManager::MeiPai()->start($url);
} elseif (strpos($url, "immomo.com")) {
$result = VideoManager::MoMo()->start($url);
} elseif (strpos($url, "ippzone.com")) {
$result = VideoManager::PiPiGaoXiao()->start($url);
} elseif (strpos($url, "pipix.com")) {
$result = VideoManager::PiPiXia()->start($url);
} elseif (strpos($url, "longxia.music.xiaomi.com")) {
$result = VideoManager::QuanMingGaoXiao()->start($url);
} elseif (strpos($url, "shua8cn.com")) {
$result = VideoManager::ShuaBao()->start($url);
} elseif (strpos($url, "toutiaoimg.com") || strpos($url, "toutiaoimg.cn")) {
$result = VideoManager::TouTiao()->start($url);
} elseif (strpos($url, "weishi.qq.com")) {
$result = VideoManager::WeiShi()->start($url);
} elseif (strpos($url, "mobile.xiaokaxiu.com")) {
$result = VideoManager::XiaoKaXiu()->start($url);
} elseif (strpos($url, "xigua.com")) {
$result = VideoManager::XiGua()->start($url);
} elseif (strpos($url, "izuiyou.com")) {
$result = VideoManager::ZuiYou()->start($url);
} else { return [ 'status' => false, 'data' => '您输入的链接错误!'
];
} if (!$result) { return [ 'status' => false, 'data' => '您输入的链接错误!'
];
} return [ 'status' => true, 'data' => $result
];
} catch (\Exception $e) { return [ 'status' => false, 'data' => $e->getMessage()
];
}
6、返回的数据格式
array(8) {
["md5"]=> string(32) "fb0f49b1158923a972d9eed40f97965e"
["message"]=> string(29) "https://v.kuaishou.com/xxxx"
["user_name"]=> string(15) "xxxx"
["user_head_img"]=> string(103) "https://tx2.a.yximgs.com/uhead/AB/2020/04/20/14/xxxxx.jpg"
["desc"]=> string(46) "小子,xxxxx"
["img_url"]=> string(139) "https://js2.a.yximgs.com/xxxxx.jpg"
["video_url"]=> string(144) "https://jsmov2.a.yximgs.com/xxxxx.mp4"
["type"]=> string(5) "video"
}
4.更多使用帮助请看作者博客
https://www.smalls.vip/archives/47