ai智能混剪系统技术算法阶乘开发分享记

$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']);
 

ai智能混剪系统技术算法阶乘开发分享记_第1张图片

所需要的官方权限接口:(这样开发的智能混剪系统才稳定可用)

(1)视频发布权限

video.create

video.delete

toutiao.video.create

toutiao.video.data

xigua.video.data

xigua.video.create

ai智能混剪系统技术算法阶乘开发分享记_第2张图片目前我们在开发智能混剪系统时采用的混剪技术是PHP后台语言来搭建的,采用的是数学阶乘算法的逻辑,实现排列组合,排序组合,抽帧,抽片段,组合生图片,原声配,音频配声等多种组合方式来开发的。智能

 ai智能混剪系统技术算法阶乘开发分享记_第3张图片

 智能混剪系统的组合方式:

智能混剪合成:仅需上传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' => '视频混剪组合已完成'],

 

你可能感兴趣的:(python)