开源项目video-tools 短视频解析下载无水印视频

1,599次阅读
没有评论

共计 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

正文完
 0
评论(没有评论)
验证码