爆発的なビデオ ジェネレーター - ビデオ バッチ編集システムのソース コードの開発と共有

 ビデオを作ろう

このインターフェイスは、Douyin ビデオ (サポート トピック、アプレットなど) を作成するために使用されます。このインターフェースはDouyinに適しています。

使用制限

  • Douyin の OAuth APIhttps://open.douyin.com/ は で始まります。
  • アプレットをマウントするには、まず開発者プラットフォームのアカウントの登録を完了してください。
  • Douyin ビデオを作成した後は、自分だけが見ることができるレビュー プロセスが行われます。
  • @user にビデオを投稿させたい場合は、ニックネームと open_id を取得する必要があります。
  • ビデオ インターフェイスは現在リリースされており、アプレットと POI を含む 2 種類のアンカー ポイントをサポートしています。複数のタイプのアンカーの搭載はサポートされていません
  • ユーザーに代わってビデオを作成する必要がある場合は、承認に加えて、各呼び出しでユーザーが製品設計に関連する操作を明確に認識できるようにする必要があります。ユーザーの認識なしにビデオがユーザーに代わって作成されたことが判明した場合、関連するインターフェイスの権限が取り消され、アプリケーションとアカウントが処罰される可能性があります。

インターフェースの説明

なし

基本情報

基本情報

HTTP URL

https://open.douyin.com/api/douyin/v1/video/create_video/

HTTPメソッド

役職

範囲

ビデオ.作成.バインド

許可リクエスト

  • リクエストの許可が必要です
    パス: Douyin オープン プラットフォーム コンソール > アプリケーションの詳細 > 機能管理 > 機能ラボ > ユーザーの代わりに Douyin にコンテンツを公開

ビデオ一括編集編集モード:

ミックスカットモードの概要

インテリジェントなミキシングとカット合成: 15 ~ 60 秒の長いビデオをアップロードするだけで、システムがオーディオを抽出し、複数の小さなビデオにカットします。

フラグメント: ユーザーがビデオを公開すると、システムはこのモードで複数のフラグメントをランダムに選択して結合し、抽出されたオーディオと合成します。

スマートなランダムな組み合わせ: 6 秒以内に少なくとも 6 本 (多いほど良い) の短いビデオをアップロードする必要があり、システムがビデオをミュートし、ユーザーがビデオを投稿します。

5つの短い映像素材をランダムに選択してランダムに組み合わせ、音声素材と合成するモードです。

シーン シーケンスの組み合わせ: 5 つのシーンのそれぞれに 6 秒以内の短いビデオを少なくとも 1 つ以上アップロードする必要があります。システムはビデオをミュートします。

ユーザーがビデオを公開すると、システムは各シーンで短いビデオ素材の組み合わせをランダムに選択し、それをオーディオ素材と合成します。

スマートな写真の組み合わせ: できるだけ多くの写真素材をアップロードする必要があり、6 つの写真素材を選択すると、ユーザーがビデオを公開するときにシステムが写真素材を結合します。

ランダムに映像に合成し、音声と合成します。

*: モードを選択した後は、簡単にビデオ合成モードを切り替えないでください。そうしないと、素材が消去され、キャッシュされたビデオが消去されます。

資材管理:

コード表示例:

$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_

おすすめ

転載: blog.csdn.net/wangwentao611/article/details/131143777