'title_font' => $title_font,
'title_size' => $title_size,
'title_color' => $title_color,
'title_position'=> $title_position,
'write_font' => $write_font,
'write_size' => $write_size,
'write_color ' => $escribir_color,
'escribir_posición'=> $escribir_posición,
'seleccionar' => $seleccionar_tipo,
'vcn' => $vcn_on,
'yushu' => 50,
'yinliang' => 50,
'bgm' => $ bgm,
'videobg' => $video_bg,
'bgcolor' => $lista_colores,
'sigma' => $sigma_val,
];
//主表数据
$updata = [
'dv_title' => $video_name,
'dv_video_mode' => $video_mixed,
'dv_video_layout' => $video_layout,
'dv_video_shot' => $video_shot,
'dv_video_count'=> $video_count,
' dv_video_use' => $video_use,
'dv_video_duration' => $video_duration,
'dv_video_open' => 0, //随机视频开幕
'dv_video_transition' => $video_transition,
'dv_video_filter' => $video_filter,
'dv_video_effect' => $video_effect ,
'dv_de_id' => $select_type, //Formulario de doblaje de subtítulos
'dv_use_only' => $use_only,
'dv_use_platform' => json_encode($platform_list),
];
if (empty($dv_id)) {//新增
$indata = [
'dv_s_id' => $this->sid,
'dv_platform' => json_encode($video_cfg),
'dv_create_time'=> time(),
];
$indatos = array_merge($actualizar, $indatos);
$ret = $modelo_video->insertValue($indata);
} else {//编辑
$video_item = $video_model->getRowByIdSid($dv_id, $this->sid);
if (vacío($video_item)) { $this->displayJsonError('参数错误'); } $curr_platform = json_decode($video_item['dv_platform'], 1);
$curr_platform = is_null($curr_platform) ? [] : $curr_platform;
$updata['dv_platform'] = json_encode(array_merge($curr_platform, $video_cfg));
$ret = $video_model->updateById($updata, $dv_id) ;
//Para cambiar de modo o cambiar el número de combinaciones de escenas, necesita regenerar la combinación
if($video_item['dv_video_mode'] != $video_mixed || $video_item['dv_video_use'] != $video_use){ // Borre la combinación de disposición de materiales y guarde en caché el video $VideoMaterialPailie_model = new App_Model_Douyin_MysqlVideoMaterialPailieStorage(); $VideoMaterialPailie_model->clearPailie($dv_id); //borre el material $video_meta_model = new App_Model_Douyin_MysqlVideoMaterialStorage();
$vm_where = [
['name' => 'dvm_ds_id', 'oper' => '=', 'value' => $this->sid], ['name' => 'dvm_dv_id', 'oper' =
> '=', 'valor' => $dv_id],
];
$video_meta_list = $video_meta_model->getList($vm_where, 0,
if ($elemento['dvm_scene'] > $video_use) {
}
*/
//Modo de corte combinado inteligente 1, eliminar material de video
if ($item['dvm_video_mixed_mode'] == 1 && $item['dvm_material_type'] == 1) { $file_path = PLUM_DIR_ROOT.$item['dvm_material_content' ]; if (is_file($file_path)) { unlink($file_path); } } //Eliminar material de video ts material if ($item['dvm_material_type'] == 1) { $file_path = PLUM_DIR_ROOT.$item['dvm_material_videots ']; if (es_archivo($ruta_archivo)) {
unlink($file_path);
}
}
//Eliminar material de video y material de imagen, y mantener otros materiales
if (in_array($item['dvm_material_type'], [1,3])) { $video_meta_model->deleteById($item[ 'dvm_id']);
El desarrollo del código fuente del sistema de matriz de video corto requiere las siguientes tecnologías:
1. Tecnología front-end: HTML, CSS, JavaScript, Vue.js y otros marcos front-end.
2. Tecnología de back-end: Java, Python, PHP y otros lenguajes de back-end y marcos relacionados, como Spring Boot, Django, Laravel, etc.
3. Tecnología de desarrollo móvil: Android, tecnología de desarrollo iOS.
4. Tecnología de procesamiento de video: códec de video, conversión de formato, edición de video y otras tecnologías relacionadas.
5. Tecnología de base de datos: MySQL, Oracle y otras bases de datos.
6. Tecnología del lado del servidor: Nginx, Tomcat y otras tecnologías relacionadas con el desarrollo del lado del servidor.
7. Tecnología de computación en la nube: tecnologías relacionadas de plataformas de computación en la nube como Alibaba Cloud y Tencent Cloud.
8. Tecnología de seguridad: tecnología de encriptación, firewall y otras tecnologías relacionadas.
Ejemplo de código fuente:
* enlace de modo de clip
*/
función privada output_mode_link() { $video_mixed_mode = plum_parse_config('project_mixed_mode', 'dydqt/project'); array_unshift($video_mixed_mode, [ 'title' => 'all', 'mode' => 0, 'desc' => '', ]);foreach ($video_mixed_mode as &$item) { $item['link'] = "/dydqtshoppc/video/itemList?mode=".$item['mode']; } $this->output['video_mixed_mode'] = $video_mixed_mode; } /** * Lista de videos */ public function videoListAction() { //Breadcrumbs $breadcrumbs = [ ['title' => 'Account Operation', 'link' => '#zhyy'], [' title ' => 'Administración de videos cortos', 'link' => '/video/videoList'], ]; $this->buildBreadcrumbs($breadcrumbs);
$add_time_range = $this->request->getStrParam('add_time_range');
$keyword_type = $this->request->getStrParam('keyword_type');
$palabra clave = $esta->solicitud->getStrParam('palabra clave');$where = [
['name' => 'dv_s_id', 'oper' => '=', 'value' => $this->sid] ]
;
if(!empty($agregar_rango_de_tiempo)){ $agregar_rango_de_tiempo_arr = explotar('~',$agregar_rango_de_tiempo);$where[] = ['name' => 'dv_create_time', 'oper' => '>=', 'value' => strtotime($add_time_range_arr[0])];
$where[] = ['name' => 'dv_create_time', 'oper' => '<', 'value' => strtotime($add_time_range_arr[1]) + 86400];
}
if(!empty($keyword_type)){ $where[] = ['name' => $keyword_type, 'oper' => 'like', 'value' => "%{$keyword}%"]; }$ordenar = ['dv_create_time' => 'DESC'];
//获取视频列表
$Video_model = new App_Model_Douyin_MysqlVideoStorage();
$video_list = $Video_model->getList($where,$this->index,$this->count,$sort);
$modelo_material = nuevo 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);
$elemento['cache_num'] = $temp_video_model->getTempVideoCountByItem($elemento['dv_id']);
$elemento['pailie'] = $pailie_video_model->getRowByDvid($elemento['dv_id']);$progreso = 40;
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; }
$elemento['progreso'] = $progreso;
}//计算分页
$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['palabra clave'] = $palabra clave;
$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'] = [