搭建步骤
1. 首先需要根据自身产品确定视频类型及需要实现的视频效果
2. 根据预期视频效果选择视频上传模式,并将视频素材进行上传
3. 添加音频、字幕,标题等与素材进行组合。
4. 设置投放计划,包括:视频标题、视频话题等
5. 预览生成的视频效果,选择喜欢的视频进行投放。
开发逻辑及功能展示
开发语言及开发环境
开发语言:PHP
开发环境:源码所需服务器配置 1、规格:最低4核8G 2、硬盘:不低于100G 3、带宽:可以使用按量付费,100M峰值带宽 4、系统:CentOS7或CentOS8
视频文件要求:
- 为了更好的观看体验,推荐上传16:9,分辨率为720p(1280x720)及以上的竖版视频。
- 支持常用视频格式,推荐使用 mp4
- 视频文件大小不超过128M
- 带品牌logo或品牌水印的视频,会命中抖音的审核逻辑,有比较大的概率导致分享视频推荐降权处理/分享视频下架处理/分享账号被封禁处理。强烈建议第三方应用自行处理好分享内容中的不合规水印。
- 视频审核逻辑与端上一致。
功能介绍:
1. 视频字幕自动生成:可以设置几段文案 视频自动生成字幕效果
2. 剪辑系统的素材处理:对于素材的处理,系统也做了多平台兼容的优化,保障生成出来的视频符合每个平台的审核规则,提升作品的发布成功率。
3. 1000+账号轻松管理的运营秘籍
小编了解到创作工具主要为调用各平台官方接口的形式,来进行管理,也同时授权无数+账号信息,当然啦,前提还是需要各位达人们有足够多的账号呦。
4. 目前支持接入的平台也是同时涵盖了多个主流短视频平台
开发代码展示:
{
"data": {
"error_code": 0,
"description": "",
"video": {
"video_id": "v0200f450000bn8c6aa0ifki8fikg1b0",
"width": 720,
"height": 1280
}
},
"extra": {
"error_code": 0,
"description": "",
"sub_error_code": 0,
"sub_description": "",
"logid": "202008121419360101980821035705926A",
"now": 1597213176393
}
}
* 创建工程项目
*/
public function createProjectAction() {
$this->useLayout('dydqtshoppc-head.html');
$id = $this->request->getIntParam('id');
//获取视频信息
$video_model = new App_Model_Douyin_MysqlVideoStorage();
$video_info = $video_model->getRowByIdSid($id, $this->sid);
$use_platform = empty($video_info['dv_use_platform']) ? [] : json_decode($video_info['dv_use_platform'], 1);
if (!empty($video_info)) {
$video_cfg = empty($video_info['dv_platform']) ? null : json_decode($video_info['dv_platform'], 1);
}
//视频混剪模式
$video_mixed_mode = plum_parse_config('project_mixed_mode','dydqt/project');
$this->output['video_info'] = $video_info;
$this->output['use_platform'] = $use_platform;
$this->output['video_cfg'] = empty($video_cfg) ? null : $video_cfg;
$this->output['video_mixed_mode'] = $video_mixed_mode;
$this->output['font_map'] = (new App_Plugin_Ffmpeg_VideoPlugin())->getFontMap();
$color_list = plum_parse_config('color_list', 'config');
$this->output['color_list'] = $color_list;
//火山引擎、腾讯云配音
$huoshan_vcn = plum_parse_config('hsyq_vcn', 'system');
$tencent_vcn = plum_parse_config('txy_vcn', 'system');
$this->output['audio_vcn'] = empty($tencent_vcn) ? $huoshan_vcn : $tencent_vcn;
$this->output['platform_list'] = plum_parse_config('platform_list', 'dydqt/project');
$this->displaySmarty('dydqtshoppc/video/create-project.tpl');
}
/*
* 添加/编辑视频
*/
public function addVideoAction(){
$this->useLayout('dydqtshoppc-head.html');
$id = $this->request->getIntParam('id');
//获取视频信息
$Video_model = new App_Model_Douyin_MysqlVideoStorage();
$video_info = $Video_model->getRowByIdSid($id, $this->sid);
//视频混剪模式
$video_mixed_mode = plum_parse_config('project_mixed_mode','dydqt/project');
$this->output['video_info'] = $video_info;
$this->output['video_mixed_mode'] = $video_mixed_mode;
$this->displaySmarty('dydqtshoppc/video/addVideo.html');
}
/*
* 保存工程配置
*/
public function saveItemConfigAction() {
$dv_id = $this->request->getIntParam('dv_id');
unset($_REQUEST['q']);
unset($_REQUEST['dv_id']);
//获取视频信息
$video_model = new App_Model_Douyin_MysqlVideoStorage();
$video_info = $video_model->getRowByIdSid($dv_id, $this->sid);
if (empty($video_info)) {
$this->displayJsonError('参数错误');
}
$curr_platform = json_decode($video_info['dv_platform'], 1);
$curr_platform = is_null($curr_platform) ? [] : $curr_platform;
//发音人合集
if (isset($_REQUEST['a_vcn'])) {
$vcn = $this->request->getStrParam('a_vcn');
$vcn = explode(',', $vcn);
unset($_REQUEST['a_vcn']);
$curr_platform['vcn'] = array_combine($vcn, $vcn);
}