Código fuente de desarrollo de software de edición por lotes de video + SaaS

capacidad de la herramienta

API

describir

Subir interfaz de material

Los desarrolladores pueden cargar materiales en el servidor Douyin a través de esta interfaz.

Cargar interfaz de material temporal

Cargue la interfaz de material temporal.

Obtener interfaz de lista de materiales

Obtenga la interfaz de la lista de materiales.

Eliminar interfaz de material

Eliminar interfaz de material.

Capacidad de interfaz de programa pequeño

Obtenga la capacidad de la interfaz del applet.

Simular eventos de webhook

Simule eventos de webhook.

Obtener jsb_ticket

Esta interfaz se usa para obtener jsapi_ticket.

Esta interfaz es aplicable a Douyin .

Ideas de desarrollo de edición por lotes:

Introducción de 4 modos de corte mixto

Síntesis inteligente de mezcla y corte : solo necesita cargar un video largo con una duración de 15 a 60 segundos. El sistema extraerá el audio y luego lo cortará en múltiples clips pequeños.

Combinación aleatoria inteligente : se deben cargar al menos 6 (cuanto más, mejor) videos cortos en 6 segundos, el sistema silenciará el video y el usuario publicará el video

El sistema selecciona al azar 5 materiales de video cortos en este modo para combinarlos al azar y luego los sintetiza con materiales de audio.

Combinación de secuencia de escenas : al menos uno o más videos cortos dentro de 6 segundos deben cargarse en cada una de las cinco escenas, y el sistema silenciará el video. Cuando el usuario publique el video, el sistema seleccionará aleatoriamente una combinación de material de video corto en cada escena y luego la sintetizará con el material de audio.

Combinación inteligente de imágenes: debe cargar tantos materiales de imágenes como sea posible, seleccione 6 materiales de imágenes y el sistema combinará los materiales de imágenes cuando el usuario publique el video

Combinado aleatoriamente en video y luego sintetizado con audio.

*: Una vez que se selecciona el modo, no cambie el modo de síntesis de video fácilmente, de lo contrario, se borrarán el material y el video almacenado en caché.

Ejemplo de desarrollo de código

$breadcrumbs = [
    ['title' => 'AI视频创意', 'link' => '#'],
    ['title' => '开始创作', 'link' => ''],
];
$this->buildBreadcrumbs($breadcrumbs);
//搜索专用
$keyword_type = $this->request->getStrParam('keyword_type');
$keyword = $this->request->getStrParam('keyword');
$this->output['keyword_type'] = $keyword_type;
$this->output['keyword'] = $keyword;

$dv_id = $this->request->getIntParam('dv_id');  //视频工程ID
$this->output['dv_id'] = $dv_id;
$type = $this->request->getIntParam('type', 0);   //素材类型
$scene = $this->request->getIntParam('scene', 1);
$this->output['scene'] = $scene;
//获取视频信息
$video_model = new App_Model_Douyin_MysqlVideoStorage();
$video_info = $video_model->getRowByIdSid($dv_id, $this->sid);
if (empty($video_info)) {
    plum_redirect_with_msg('视频创意工程不存在');
}

$mixed_video_mode = $video_info['dv_video_mode'];
if (in_array($mixed_video_mode, [11])) {    //智能图片组合
    $type = in_array($type, [0, 1]) ? 3 : $type;   //默认为图片素材类型
} else {
    $type = in_array($type, [0, 3]) ? 1 : $type;  //默认为视频素材类型
}

//获取素材列表
$where = [
    ['name' => 'dvm_ds_id', 'oper' => '=', 'value' => $this->sid],
    ['name' => 'dvm_dv_id', 'oper' => '=', 'value' => $dv_id],
    ['name' => 'dvm_material_type', 'oper' => '=', 'value' => $type]
];
//视频类型,区分混剪模式
if ($type == 1) {
    $where[] = ['name' => 'dvm_video_mixed_mode', 'oper' => '=', 'value' => $video_info['dv_video_mode']];
}
if (!empty($keyword_type)) {
    $where[] = ['name' => $keyword_type, 'oper' => 'like', 'value' => "%{$keyword}%"];
}
//智能场景组合,视频素材加场景值筛选
if ($type == 1 && $mixed_video_mode == 4) {
    $scene_model = new App_Model_Douyin_MysqlVideoSceneStorage();
    $scene_count = $scene_model->getCountByDvid($dv_id);
    if ($scene_count == 0 && $video_info['dv_video_use'] > 0) {
        for ($i = 1; $i <= $video_info['dv_video_use']; $i++) {
            $indata = [
                'dvs_ds_id' => $this->sid,
                'dvs_dv_id' => $dv_id,
                'dvs_name' => "场景" . $i,
                'dvs_duration' => $video_info['dv_video_shot'] * 1000,
                'dvs_

 Manual de Usuario de Procesos

Supongo que te gusta

Origin blog.csdn.net/m0_71850852/article/details/131128277
Recomendado
Clasificación