'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 ' => $write_color,
'write_position'=> $write_position,
'select' => $select_type,
'vcn' => $vcn_on,
'yushu' => 50,
'yinliang' => 50,
'bgm' => $ bgm,
'videobg' => $video_bg,
'bgcolor' => $color_list,
'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, //字幕吹き替えフォーム
'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(),
];
$indata = array_merge($updata, $indata);
$ret = $video_model->insertValue($indata);
} else {///编辑
$video_item = $video_model->getRowByIdSid($dv_id, $this->sid);
if (empty($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) ;
//モードを切り替えたり、シーンの組み合わせの数を変更するには、組み合わせを再生成する必要があります
if($video_item['dv_video_mode'] != $video_mixed || $video_item['dv_video_use'] != $video_use){ //マテリアルの配置 組み合わせをクリアしてビデオをキャッシュ $VideomaterialPailie_model = new App_Model_Douyin_MysqlVideomaterialPailieStorage(); $VideomaterialPailie_model->clearPailie($dv_id); //マテリアルをクリア $video_meta_model = new App_Model_Douyin_MysqlVideomaterialStorage();
$vm_where = [
['name' => 'dvm_ds_id', 'oper' => '=', 'value' => $this->sid], ['name' => 'dvm_dv_id', 'oper' =
> '=', '値' => $dv_id],
];
$video_meta_list = $video_meta_model->getList($vm_where, 0,
if ($item['dvm_scene'] > $video_use) {
}
*/
//インテリジェント混合カット モード 1、ビデオ素材を削除
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); } } //ビデオ素材 ts 素材を削除 if ($item['dvm_material_type'] == 1) { $file_path = PLUM_DIR_ROOT.$item['dvm_material_videots ']; if (is_file($file_path)) {
unlink($file_path);
}
}
//動画素材と写真素材を削除し、その他の素材は残す
if (in_array($item['dvm_material_type'], [1,3])) { $video_meta_model->deleteById($item[ 「dvm_id」]);
ショート ビデオ マトリックス システムのソース コード開発には、次のテクノロジが必要です。
1. フロントエンド テクノロジー: HTML、CSS、JavaScript、Vue.js およびその他のフロントエンド フレームワーク。
2. バックエンドテクノロジー: Java、Python、PHP、その他のバックエンド言語および関連フレームワーク (Spring Boot、Django、Laravel など)。
3.モバイル開発技術:Android、iOS開発技術。
4. ビデオ処理技術: ビデオコーデック、フォーマット変換、ビデオ編集およびその他の関連技術。
5. データベーステクノロジー: MySQL、Oracle、その他のデータベース。
6. サーバー側テクノロジー: Nginx、Tomcat、およびその他のサーバー側開発関連テクノロジー。
7. クラウドコンピューティング技術:Alibaba Cloud、Tencent Cloudなどのクラウドコンピューティングプラットフォームの関連技術。
8. セキュリティ技術:暗号化技術、ファイアウォールおよびその他の関連技術。
ソースコードの例:
* クリップモードリンク
*/
プライベート関数 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; } /** * 動画リスト */ public function videoListAction() { //パンくずリスト $breadcrumbs = [ ['title' => 'アカウント操作', 'link' => '#zhyy'], [' title ' => 'ショートビデオ管理', 'link' => '/video/videoList'], ]; $this->buildBreadcrumbs($breadcrumbs);
$add_time_range = $this->request->getStrParam('add_time_range');
$keyword_type = $this->request->getStrParam('keyword_type');
$keyword = $this->request->getStrParam('keyword');$where = [
['name' => 'dv_s_id', 'oper' => '=', 'value' => $this->sid] ]
;
if(!empty($add_time_range)){ $add_time_range_arr =explode('~',$add_time_range);$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}%"]; }$sort = ['dv_create_time' => 'DESC'];
//获取ビデオ列表
$Video_model = new App_Model_Douyin_MysqlVideoStorage();
$video_list = $Video_model->getList($where,$this->index,$this->count,$sort);
$material_model = 新しい App_Model_Douyin_MysqlVideomaterialStorage($this->sid);
$temp_video_model = 新しい App_Model_Douyin_MysqlVideoTempVideoStorage($this->sid);
$pailie_video_model = 新しい 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']);$プロガース = 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; }
$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['キーワードタイプ'] = $キーワードタイプ;
$this->output['キーワード'] = $キーワード;
$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'] = [