批量剪辑视频工具源码开发搭建分享

news2024/11/24 8:46:28

搭建步骤

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);
        }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/599846.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Are Emergent Abilities of Large Language Models a Mirage?

Paper name Are Emergent Abilities of Large Language Models a Mirage? Paper Reading Note Paper URL: https://arxiv.org/pdf/2304.15004.pdf Video URL: https://www.youtube.com/watch?vhZspGdApDIo TL;DR 2023 年斯坦福的研究,探索大语言模型表现出涌…

LeetCode 1552. Magnetic Force Between Two Balls【二分,排序,贪心】中等

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

内存栈与CPU栈机制

1. 内存栈: 先入后出,LIFO(LAST IN FIRST OUT) 入栈:将一个新的元素放到栈顶 出栈:从栈顶取出一个元素 栈顶元素总是最后一个入栈,需要时出栈. 2.CPU栈机制 8086CPU提供相关指令以栈方式来访问内存空间.相当于将一段内存当做栈来使用 8086CPU提供的入栈指令为:PUSH ,出栈指令为…

【Linux】序列化和反序列化

目录 🌈前言🌸1、应用层🌺2、重谈协议🍁3、网络计算器🍡3.1、定制协议🍢3.2、样例代码 🌈前言 这篇文章给大家带来序列化和反序列化的学习!!! 🌸…

chatgpt赋能python:Python倒序for:如何优化循环遍历

Python倒序for:如何优化循环遍历 Python作为一门高级编程语言,一直以来都在开发者中得到广泛的应用。在日常的编程工作中,遍历列表(List)和元组(Tuple)是很常见的操作。而对于列表或元组的倒序…

NLP(五十四)tiktoken的使用

tiktoken是OpenAI于近期开源的Python第三方模块,该模块主要实现了tokenizer的BPE(Byte pair encoding)算法,并对运行性能做了极大的优化。本文将介绍tiktoken模块的使用。 tiktoken简介 BPE(Byte pair encoding)算法是NLP中常见的…

Redis系列---Redis网络模型1

我们都知道,redis的高性能是具有多方面的因数,如:运行在内存上,单线程命令,io多路复用技术等,对于redis高性能的探究,就需要深入的研究其工作原理,这就涉及到redis的网络模型了&…

python实现单链表、双链表、反转链表(二)

一、链表概述 链表是有元素组成的数据结构,每个元素都是单独对象,包含数据和指针信息 链表中的每个元素称为节点,如下所示,第一个节点称为Head(头节点),为链表的入口点,如果链表为空,则Head指…

Vue.js 比较重要知识点总结二

概述 vue3 组合式API生命周期钩子函数有变化吗?Composition API 与 Options API 有什么区别?watch 和 watchEffect 的区别?vue2 如何升级到 vue3 ? vue3 组合式API生命周期钩子函数有变化吗? 选项式API 和 组合式API 生命周期…

Java的继承性

1.为什么要有类的继承性?(继承性的好处) ① 减少了代码的冗余,提高了代码的复用性② 便于功能的扩展③ 为之后多态性的使用,提供了前提 2.子类继承父类以后有哪些不同? 2.1体现: 一旦子类A继承父类B以…

汇编基础学习

1. 利用ldr向寄存器里面写较大数据,和设置寄存器的某些位 2. 这个lable 不对呢 验证宏值加载到寄存器里是正确的。 pc 的地址是0x80594 当前pc指针加上宏定义值的地址值。 3 打印字符串 字符串加载了8个字节到寄存器里面, 如何调试打印出来呢&#xff1…

数据库设计的原则有哪些

数据库设计是程序开发的核心部分,标准的数据库设计原则和步骤能有效提高开发进度和效率。 数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据&#xf…

RK3588平台开发系列讲解(驱动基础篇)中断相关函数

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、获取中断号相关函数二、申请中断函数三、free_irq 函数四、中断处理函数五、中断使能和禁止函数沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 Linux 中断有专门的中断子系统,其实现原理很复杂,但是驱…

Git详解——安装、使用、搭建、IDEA集成

Git 看目录,越往后面越重要 目录一、git是什么?二、为什么要使用Git?三、版本控制工具四、git下载安装以及环境配置五、git基本命令六、git项目搭建七、远程仓库怎么搞?git,gitlab,github,gitee区别八、idea集成Git 一、Git是什…

HBase2.2.2安装(单机、伪分布)

系列文章目录 Ubuntu常见基本问题 Hadoop3.1.3安装(单机、伪分布) Hadoop集群搭建 HBase2.2.2安装(单机、伪分布) Zookeeper集群搭建 文章目录 系列文章目录前置条件一、HBase2.2.2安装二、配置环境变量1、问题 三、单机模式1、修…

浅谈数字化

一、数字化转型 数字化转型(Digital transformation)是建立在数字化转换(Digitization)、数字化升级(Digitalization)基础上,进一步触及公司核心业务,以新建一种商业模式为目标的高…

仙人掌之歌——权力的游戏(3)

像疯子一样死去 陈速没想到李通是在香山深处一所疗养院里休养,军方的岗位森严,进去还得把身份证押在门卫室。李通穿着病号服悠哉地晃过来把陈速领了进去。 “通哥,这儿真是个好地方啊。” 陈速由衷地赞叹着,望着大院里古树参天&…

九、Spring Cloud—gateway网关

一、引言 每个微服务都需和前端进行通信,解决每个微服务请求时的鉴权、限流、权限校验、跨域等逻辑,放在一个统一的地方进行使用。 在微服务架构中,网关是一个重要的组件,它作为系统的入口,负责接收所有的客户端请求…

Shiro高级及SaaS-HRM的认证授权

Shiro高级及SaaS-HRM的认证授权 Shiro在SpringBoot工程的应用 Apache Shiro是一个功能强大、灵活的,开源的安全框架。它可以干净利落地处理身份验证、授权、企业会话管理和加密。越来越多的企业使用Shiro作为项目的安全框架,保证项目的平稳运行。 在之…

前端042_图表展现_自适应

自适应 当缩小窗口时,饼图和柱状图不会自动自适应,会被遮挡住。因为 ECharts 本身并不是自适应的,当你父级容器的宽度发生变化的时候需要手动调用它的 .resize() 方法。 其中 vue-element-admin项目中已经实现了自适应效果,只要将对应代码拷贝引用即可。将 vue-element-adm…