Download the PHP package caitui/videocompositing without Composer

On this page you can find all versions of the php package caitui/videocompositing. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package videocompositing

已实现

2.Composer

安装

composer require caitui/videocompositing

用法(快手)

use VideoCompositing\Client;

public function __construct()
{
    $this->appName = 'kuaishou';//应用名称
    $this->appId = '**';//APPID
    $this->appSecret = '**';//秘钥
    $this->redirectUri = 'https://***';//回调地址

}
//获取code
public function getCode()
{
    $video = new Client('kuaishou');
    $params = [
        'appId' => $this->appId,
        'loginType' => 'url',//url;dynamicQR;staticQR
        'redirectUri' => $this->redirectUri,
    ];
    $video->getCode($params);
}

//获取AccessToken
public function getAccessToken()
{
    $video = new Client('kuaishou');
    $params = [
        'appId' => $this->appId,
        'appSecret' => $this->appSecret,
        'code' => ''
    ];
    $res = $video->getAccessToken($params);
}

//获取用户信息
public function getUserInfo()
{
    $video = new Client('kuaishou');
    $params = [
        'appId' => $this->appId,
        'accessToken' => '****'
    ];
    $res = $video->getUserInfo($params);
    var_dump($res);
}

//刷新AccessToken
public function refreshAccessToken()
{
    $video = new Client($this->appName);
    $params = [
        'appId' => $this->appId,
        'appSecret' => $this->appSecret,
        'refresh_token' => '***'
    ];
    $res = $video->refreshAccessToken($params);
}

//开始上传视频时必须先获取uploadToken和endpoint
public function getUploadToken()
{
    $video = new Client($this->appName);
    $params = [
        'appId' => $this->appId,
        'accessToken' => '****'
    ];
    $video->getUploadToken($params);
}

//上传视频(视频小于5M直接上传文件,大于5M则分片上传)
public function uploadVideo(\app\Request $request)
{
    $file = $request->file('file');
    $fileSize=$file->getSize();
    $uploadToken = '****';
    $endpoint = "****";

    //$file = 'https://myy-one-stand.oss-cn-beijing.aliyuncs.com/list/2033/202307/1689735980720.mp4';
   // $fileSize = $video->getVideoSize($file);
    //$save_to = app()->getRootPath() . '/public/code/1.mp4';
    //$content = file_get_contents($file);
    //file_put_contents($save_to, $content);
    //$file = $save_to;

    $video = new Client($this->appName);
    $params = [
        'endpoint' => $endpoint,
        'uploadToken' => $uploadToken,
        'file' => $file,
        'fileSize'=>$fileSize
    ];
    $video->uploadVideo($params);
}

//分片上传时查看上传失败的分片(不常用)
public function resumeVideo()
{
    $uploadToken = '****';
    $endpoint = "****";
    $video = new Client($this->appName);
    $params = [
        'endpoint' => $endpoint,
        'uploadToken' => $uploadToken,
    ];
    $video->resumeVideo($params);
}

//发布视频
public function releaseVideo()
{
    $accessToken = '****';
    $uploadToken = '****';
    $cover = '';//视频封面图片url
    $caption = "";//视频标题

    $video = new Client($this->appName);
    $params = [
        'appId' => $this->appId,
        'uploadToken' => $uploadToken,
        'accessToken' => $accessToken,
        'cover' => $cover,
        'caption' => $caption,
    ];

    $video->releaseVideo($params);
}
//获取授权用户所发布的视频列表(需分页)
public function getVideo()
{
    $accessToken = '';
    $video = new Client($this->appName);
    $params = [
        'appId' => $this->appId,
        'accessToken' => $accessToken,
        'count' => 10,//每页条数
        'cursor' => 0//第一页为0,分页查询时,传上一页create_time最小的photo_id
    ];
    $video->getVideo($params);
}

用法(公众号)

use VideoCompositing\Client;

public function __construct()
{
    $this->appName = 'wechat';//应用名称
    $this->appId = '**';//APPID
    $this->appSecret = '**';//秘钥
}
public function getAccessToken()
{
    $client = new Client($this->appName);
    $params = [
        'appid' => $this->appId,
        'secret' => $this->appSecret,
    ];
    $res = $client->getAccessToken($params);
}
//发布内容
public function createContent()
{
    $client = new Client($this->appName);
    $params = [
        'access_token' => '****',
        'media' => '***',//封面图
        'content'=>'****',//内容
        'title'=>'测试标题',//标题
        'author'=>'',//作者
        'digest'=>'',//图文消息的摘要,仅有单图文消息才有摘要,多图文此处为空。如果本字段为没有填写,则默认抓取正文前54个字。
        'content_source_url'=>'',//图文消息的原文地址,即点击“阅读原文”后的URL
        'need_open_comment'=>1,//是否打开评论,0不打开(默认),1打开
        'only_fans_can_comment'=>0//是否粉丝才可评论,0所有人可评论(默认),1粉丝才可评论
    ];
    $res = $client->createContent($params);
}

用法(抖音)

protected $clientKey; //抖音key
protected $clientSecret; //抖音secret
protected $appName; //应用 kuaishou/douyin
protected $redirectUri; //回调链接

public function __construct()
{
    $this->appName = 'douyin';
    $this->clientKey = '***';
    $this->clientSecret = '****';
    $this->redirectUri = '****';
}

//获取code值
public function getCode()
{
    $client = new Client($this->appName);
    $params = [
        'clientKey' => $this->clientKey,
        'redirectUri' => $this->redirectUri
    ];
    $client->getCode($params)
}

//获取accessToken和openid(access_token 过期时间15天,refresh_token过期时间30天)
public function getAccessToken()
{
    $video = new Client($this->appName);
    $params = [
        'clientKey' => $this->clientKey,
        'clientSecret' => $this->clientSecret,
        'code' => '5b80487773db1dc7df4aog83v7J2T9pjN2H1'
    ];
    $res = $video->getAccessToken($params);
}

//获取用户基本信息和粉丝数
public function getUserInfo()
{
    $accessToken = '****';
    $openId = '****';
    $video = new Client($this->appName);
    $params = [
        'accessToken' => $accessToken,
        'openId' => $openId,
    ];
    $res = $video->getUserInfo($params);
    var_dump($res);
}

//刷新AccessToken
public function refreshAccessToken()
{
    $video = new Client($this->appName);
    $params = [
        'client_key' => $this->clientKey,
        'refresh_token' => 'rft.b7ea117a9656655c773786311312b2c4SyKcq5B4rYS3uZb2bprgR81utX8f'
    ];
    $video->refreshAccessToken($params);
}

//上传图文 获取image_id
public function uploadImage(\app\Request $request)
{
    $file = $request->file('file');

    //或者将url转存到本地
    //$save_to = dirname(dirname(__DIR__)) . '/1.jpg';
    //$content = file_get_contents('https://myy-one-stand.oss-cn-beijing.aliyuncs.com/company/2117/5019-1687141391.jpg');
    //file_put_contents($save_to, $content);
    //$file = $save_to;

    $video = new Client($this->appName);
    $accessToken = '***';
    $openId = '***';
    $params = [
        'accessToken' => $accessToken,
        'openId' => $openId,
        'image' => $file,
    ];
    $res = $video->uploadImage($params);*
}

//发布图文
public function createImage()
{
    $video = new Client($this->appName);
    $accessToken = '***';
    $openId = '***';
    $text = '测试'; 标题
    $image_list = ['***', '***']; // 多个image_id
    $params = [
        'accessToken' => $accessToken,
        'openId' => $openId,
        'text' => $text,
        'image_list' => $image_list
    ];
    $res = $video->createImage($params);
}

//上传视频 获取video_id (视频小于10M直接上传。大于10M则分片上传)
public function uploadVideo(\app\Request $request)
{
    $file = $request->file('file');
    $fileSize = $file->getSize();
    $video = new Client($this->appName);

    //视频链接处理
    //$file = 'https://myy-one-stand.oss-cn-beijing.aliyuncs.com/list/2033/202307/1689735980720.mp4';
    //$fileSize = $video->getVideoSize($file);
    //$save_to = dirname(dirname(__DIR__)) . '/1.mp4';
    //$content = file_get_contents($file);
    //file_put_contents($save_to, $content);
    //$file = $save_to;

    $accessToken = 'act.3.h227zKK0gByaIXPZWnvynsNM5BfsqNrAbTwe9eGZxOZhl0JuWQB3VtU0qu2rTmKb6WmAeqLqbvqX8Jsy01yHquSm8g2YlTxH5lG-ontiOJ1tWbeqgOpx71GRFvTW5x8eX2U10EtCKqjB0pwn1m0C8dXnKAVevJWxtgo6cA==';
    $openId = '_000_8_Z3n99pcaq6SzKKmmLmMjpJyf7RFf1';
    $params = [
    'accessToken' => $accessToken,
    'openId' => $openId,
    'video' => $file,
    ];

    $maxFileSize = 1048576 * 10;

    if ($fileSize < $maxFileSize) { //文件小于10M直接上传文件
        $params['fileSize'] = $fileSize;
        $res = $video->uploadVideo($params);
        var_dump($res);
    }else{
        $upload_id = $video->initDistribute($params);
        $upload_id = urlencode($upload_id);

        $file_handle = fopen($file, 'rb');
        $part_number = 1;
        $total = floor($fileSize / $maxFileSize);
        if ($part_number == $total) {
            $maxFileSize = 1048576 * 20;
        }
        while (!feof($file_handle)) {
            // 读取指定大小的数据
            $chunk_data = fread($file_handle, $maxFileSize);
            $params['upload_id'] = $upload_id;
            $params['part_number'] = $part_number;

            $save_to = '/a' . $params['part_number'] . '.mp4';
            file_put_contents($save_to, $chunk_data);
            $params['video'] = $save_to;
            $video->distributeVideo($params);
            // 增加分片编号
            $part_number++;
        }
        fclose($file_handle);
        var_dump($video->completeDistribute($params));
    }
}

//发布视频
public function createVideo()
{
    $video = new Client($this->appName);
    $accessToken = '***';
    $openId = '***';
    $text = '测试'; //标题
    $video_id = '***';
    $params = [
        'accessToken' => $accessToken,
        'openId' => $openId,
        'text' => $text,
        'video_id' => $video_id
    ];
    $res = $video->createVideo($params);
}

//获取用户视频详细信息(视频列表,视频点赞、浏览、评论等数据)
public function getVideoData()
{
    $video = new Client($this->appName);
    $accessToken = '****';
    $openId = '****';
    $params = [
        'accessToken' => $accessToken,
        'openId' => $openId,
        'date_type'=>7 //7/15 点赞、浏览、评论等列表数据只能查询出近7/15天内
    ];
    $res = $video->getVideoData($params);
    var_dump($res);
}

//获取近7/15/30天的用户数据(播放量,点赞量,评论数,粉丝数,分享数,主页访问数)
public function getUserData()
{
    $video = new Client($this->appName);
    $accessToken = '****';
    $openId = '****';
    $params = [
        'accessToken' => $accessToken,
        'openId' => $openId,
        'date_type'=>7 //7/15
    ];
    $res = $video->getUserData($params);
    var_dump($res);
}

//获取用户发布的视频列表(类型,封面,视频播放页面,是否置顶,创建时间,点赞数、下载数、分享数、播放数、评论数)
//返回数据中的has_more可以判定是否有更多的数据
public function getVideo()
{
    $video = new Client($this->appName);
    $accessToken = '****';
    $openId = '****';
    $params = [
        'accessToken' => $accessToken,
        'openId' => $openId,
        'cursor' => 0,//分页游标,第一页为0,下一页为上一页返回的cursor;
        'count'=>10, //每页条数
    ];
    $res = $video->getVideo($params);
}

//获取多个视频的视频详情,评论数、点赞数、下载数等数据
public function getVideoDetail()
{
    $video = new Client($this->appName);
    $accessToken = '****';
    $item_ids = ['****', '****']; //元素为item_id值
    $openId = '****';
    $params = [
        'accessToken' => $accessToken,
        'item_ids' => $item_ids,
        'openId' => $openId,
    ];
    $res = $video->getVideoDetail($params);
    var_dump($res);
}

//获取某个视频的近7/15/30天的点赞、评论、分享、播放数据
//like:点赞数据;comment:评论数据;play:播放数据;share:分享数据;
public function getVideoData()
{
    $video = new Client($this->appName);
    $accessToken = '****';
    $item_id = '****';
    $openId = '****';
    $params = [
        'accessToken' => $accessToken,
        'item_id' => $item_id,
        'openId' => $openId,
        'date_type'=>7,//7/15
    ];
    $res = $video->getBaseData($params);
}

All versions of videocompositing with dependencies

PHP Build Version
Package Version
Requires php Version 7.3.4
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package caitui/videocompositing contains the following files

Loading the files please wait ....