capacidad de la herramienta
API |
describir |
---|---|
Los desarrolladores pueden cargar materiales en el servidor Douyin a través de esta interfaz. |
|
Cargue la interfaz de material temporal. |
|
Obtenga la interfaz de la lista de materiales. |
|
Eliminar interfaz de material. |
|
Obtenga la capacidad de la interfaz del applet. |
|
Simule eventos de webhook. |
|
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_