$material_model = new App_Model_Douyin_MysqlVideoMaterialStorage($this->sid);
$temp_video_model = new App_Model_Douyin_MysqlVideoTempVideoStorage($this->sid);
$pailie_video_model = new App_Model_Douyin_MysqlVideoMaterialPailieStorage();
foreach ($video_list as &$item) {
$item['video_num'] = $material_model->getMaterialCountByVideo($item['dv_id'], 1);
$item['audio_num'] = $material_model->getMaterialCountByVideo($item['dv_id'], 2);
$item['image_num'] = $material_model->getMaterialCountByVideo($item['dv_id'], 3);
$item['title_num'] = $material_model->getMaterialCountByVideo($item['dv_id'], 4);
$item['write_num'] = $material_model->getMaterialCountByVideo($item['dv_id'], 5);
$item['cache_num'] = $temp_video_model->getTempVideoCountByItem($item['dv_id']);
$item['pailie'] = $pailie_video_model->getRowByDvid($item['dv_id']);
所需要的官方权限接口:(这样开发的智能混剪系统才稳定可用)
(1)视频发布权限
video.create
video.delete
toutiao.video.create
toutiao.video.data
xigua.video.data
xigua.video.create
目前我们在开发智能混剪系统时采用的混剪技术是PHP后台语言来搭建的,采用的是数学阶乘算法的逻辑,实现排列组合,排序组合,抽帧,抽片段,组合生图片,原声配,音频配声等多种组合方式来开发的。智能
智能混剪系统的组合方式:
智能混剪合成:仅需上传1个长度为15-60秒的长视频即可,系统将抽取音频,随后裁剪为多个小片段,用户发布视频时系统随机选择该模式下多个片段进行组合,再和抽取的音频合成。
智能混剪随机组合:需上传至少6个(越多越好)6秒以内的短视频,系统将视频转静音,用户发布视频时系统随机选择该模式下的5个短视频素材随机组合,再和音频素材合成。
智能混剪场景顺序组合:需在5个场景中分别上传至少1个或多个6秒以内的短视频,系统将视频转静音,用户发布视频时系统在每个场景中随机选择1个短视频素材组合,再和音频素材合成。
智能混剪图片组合:需上传尽可能多的图片素材,从中选择6个图片素材,用户发布视频时系统把图片随机组合成视频,再和音频合成。
智能混剪系统模式一旦选定后,请勿轻易切换视频合成模式,否则将导致素材清空,缓存视频清空。
智能混剪系统功能展示:
if ($item['video_num'] > 0 || $item['image_num'] > 0) {
$progerss += 10;
}
if ($item['audio_num'] > 0 || $item['write_num'] > 0) {
$progerss += 10;
}
if ($item['pailie']['dvmp_is_zuhe']) {
$progerss += 20;
}
if ($item['cache_num'] > 0) {
$progerss += 20;
}
$item['progress'] = $progerss;
}
//计算分页
$active_list_all = $Video_model->getCount($where);
$page_libs = new Libs_Pagination_Paginator($active_list_all,$this->count,'jquery',true);
$pageHtml = $page_libs->render();
$this->output['add_time_range'] = $add_time_range;
$this->output['keyword_type'] = $keyword_type;
$this->output['keyword'] = $keyword;
$this->output['video_list'] = $video_list;
$this->output['pageHtml'] = $pageHtml;
$video_mixed_mode = plum_parse_config('project_mixed_mode', 'dydqt/project');
$this->output['video_mixed_mode'] = $video_mixed_mode;
$this->output['progress_line'] = [
20 => ['color' => 'red', 'tip' => '创建创意工程已完成'],
40 => ['color' => 'red', 'tip' => '选择混剪模式已完成'],
50 => ['color' => 'orange', 'tip' => '添加音视频素材未完成'],
60 => ['color' => 'orange', 'tip' => '添加音视频素材已完成'],
70 => ['color' => 'blue', 'tip' => '视频混剪组合已完成'],
80 => ['color' => 'blue', 'tip' => '视频混剪组合已完成'],