smalls的头像

smalls

一个22岁的菜鸟程序员

我的技能

PHP

JAVA

JS

GO

PYTHON

文章目录

开源项目去水印扩展包使用教程

视频去水印扩展包

集成了:抖音、火山、头条、快手、梨视频、美拍、陌陌、皮皮搞笑、皮皮虾、全民搞笑、刷宝、微视、小咖秀、最右、B站、微博、秒拍等等。

一部分的视频没办法去水印只能提取视频(存在水印)

项目更新日志

2020-07-17:更新快速提取无水印视频、添加腾讯视频短视频提取视频

2020-06-24:更新抖音提取视频

2020-06-14:添加秒拍提取视频,修复美拍提取视频失败

2020-06-13:添加微博提取视频(远古视频有水印)

2020-06-10:新加代理功能,有点不稳定,有什么好的建议可以issues给我

2020-06-10:添加url-validator配置类

2020-06-09:全部优化了一下更加面向对象,新加B站解析视频

2020-04-29:第一个版本

使用教程

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"
 }

这里就结束了,很潦草就将就的看吧!

有什么好建议可以在下面留言一下,或者移动到github上面给我一个star!

给作者打赏一下吧

文章评论

xc

5月

回复
{ "status": false, "data": "Client error: `GET https://www.iesdouyin.com/web/api/v2/aweme/iteminfo?item_ids=6970143014614224128` resulted in a `444 ` response" } 为什么返回这个

文西

7月

回复
大佬有计划添加小红书吗

大哥哥

8月

回复
除了抖音可以提取,其他的平台都不能解析,你们的是这样吗

asd

10月

回复
博主,这个只有发提取抖音视频

大帅比

11月

回复
ins 的能不能搞一个

smalls博主

11月

回复
后面v2可能会加进去

期待

12月

回复
https://h5.pipix.com/s/JHgy1Ex 解析后同样没有视频地址返回
快手视频原本视频是有水印,需要软件处理吧

smalls博主

12月

回复
对的

媛媛

1年

回复
你好,我这边用了你的代码这边好像只能去除抖音的视频,快手和头条的就不能解析出来,麻烦和我取得联系

Gan24

1年

回复
https://h5.pipix.com/s/JfjR5wE/ 解析后没有视频地址返回

帅哥

1年

回复
https://v.douyin.com/JBQM8Vg/zhen真实解析可以用 但是composer解析不出视频地址 抖音有一部分出不来,最近几天的事情。

smalls博主

1年

回复
给我一个正常可以寻访的
留言板
评论