Partage de la technologie de déploiement du code source du système Douyin Matrix - basé sur la plate-forme ouverte Douyin

Aperçu du développement

Basée sur les demandes des développeurs et les règles de plate-forme associées, la plate-forme ouverte propose deux modes ouverts : l'ouverture des capacités et l'ouverture de l'industrie.

Présentation du développeur auto-développé

Les développeurs auto-développés font référence à ceux qui ont leur propre entreprise ou qui ont une variété de rôles de franchise, et peuvent fournir des solutions techniques complètes basées sur les besoins des utilisateurs.

Mise en page du développement technologique

Grâce à l'innovation technologique continue et à l'analyse de la demande des utilisateurs, nous accorderons plus d'attention au développement personnalisé de cet ensemble de système de code source à matrice vidéo courte.Actuellement, les fonctions de base couvertes sur le marché comprennent le montage vidéo, la libération de liaison, la réponse intelligente, les statistiques de données et d'autres fonctions de base. . De plus, nous avons fait beaucoup d'optimisation pendant le développement, comme le clustering de serveurs, la parallélisation, la résolution 1080p, etc., et l'avons développé du point de vue du marché (applets Tik Tok, services de la vie locale, et ouvert la mise en page et le développement de terminaux mobiles)

Déploiement du code source et partage de build

Par rapport à d'autres systèmes, la difficulté de développement et de déploiement de ce système réside principalement dans l'application des autorisations applicatives officielles de chaque plateforme. Selon l'éditeur, le quota actuel de certaines autorisations sur la plateforme de vidéos courtes Douyin est plein. Avant de développer, vous devez d'abord vous assurer que vous avez obtenu diverses autorisations de développement.

Construction de l'environnement de déploiement

  1.  Installez un interpréteur Python sur votre serveur cloud. Vous pouvez utiliser la commande suivante pour vérifier si Python est installé :

    python -V
    

    Si Python n'est pas installé, vous pouvez l'installer avec la commande suivante :

    sudo apt-get update
    sudo apt-get install python
    
  2. Installez pip, le gestionnaire de packages pour Python. Vous pouvez utiliser la commande suivante pour installer :

    sudo apt-get install python-pip
    
  3. Installez virtualenv, qui est un environnement virtuel pour Python. Cela vous aidera à utiliser différentes versions de Python sur le même ordinateur.

    pip install virtualenv
    
  4. Créez un nouvel environnement virtuel.

    virtualenv venv
    
  5. Activez l'environnement virtuel.

    source venv/bin/activate
    
  6. Installez les dépendances requises.

Exemple de développement de code

Scénario : déclencher le rappel lié onChange lorsque les propriétés de l'objet commun sont modifiées ;

Idée : Il existe deux pièges qui peuvent modifier les propriétés, définir et supprimer la propriété, et simplement appeler la méthode onChange en eux

Demande d'échantillon

curl --location --request GET 'https://open.douyin.com/item/comment/list/?open_id=ba253642-0590-40bc-9bdf-9a1334b94059&cursor=0&count=10&item_id=@8hxdhauTCMppanGnM4ltGM780mDqPP+KPpR0qQOmLVAXb/T 060zdRmYqig357zEBq6CZRp4NVe6qLIJW/V /x1w==&sort_type=time' \
--header 'access-token: act.1d1021d2aee3d41fee2d2add43456badMFZnrhFhfWotu3Ecuiuka27L56lr' \

Exemple de réponse :

{   "extra": {     "sub_description": "",     "logid": "202008121419360101980821035705926A",     "maintenant": 1597213176393,     "error_code": 0,     "description": "",     "sub_error_code": 0   },   "données" : {     "cursor": 1,     "error_code": 0,     "description": "",     "has_more": vrai,     "list": [       {         "top": vrai,         "comment_id": "",         "comment_user_id": "",         "content": "回复内容",         "create_time": 1607399832,         "digg_count": 647,         "reply_comment_total": 12       }     ]
























  }
}

Exemple de démonstration de code

* Créer un projet d'ingénierie
     */
    public function createProjectAction() {         $this->useLayout('dydqtshoppc-head.html');         $id = $this->request->getIntParam('id');

        //获取视频信息
        $video_model = new App_Model_Douyin_MysqlVideoStorage();
        $video_info = $video_model->getRowByIdSid($id, $this->sid);
        $use_platform = vide($video_info['dv_use_platform']) ? [] : json_decode($video_info['dv_use_platform'], 1);

        if (!empty($video_info)) {             $video_cfg = empty($video_info['dv_platform']) ? null : json_decode($video_info['dv_platform'], 1);         }

        // Mode de découpage vidéo mixte
        $video_mixed_mode = plum_parse_config('project_mixed_mode','dydqt/project');

        $this->output['video_info'] = $video_info ;
        $this->output['use_platform'] = $use_platform ;
        $this->sortie['video_cfg'] = vide($video_cfg) ? null : $video_cfg;
        $this->output['video_mixed_mode'] = $video_mixed_mode ;
        $this->output['font_map'] = (new App_Plugin_Ffmpeg_VideoPlugin())->getFontMap();
        $color_list = plum_parse_config('color_list', 'config');
        $this->output['color_list'] = $color_list ;
        //火山引擎、腾讯云配音
        $huoshan_vcn = plum_parse_config('hsyq_vcn', 'system');
        $tencent_vcn = plum_parse_config('txy_vcn', 'système');
        $this->output['audio_vcn'] = vide($tencent_vcn) ? $huoshan_vcn : $tencent_vcn;
        $this->output['platform_list'] = plum_parse_config('platform_list', 'dydqt/project');
        $this->displaySmarty('dydqtshoppc/video/create-project.tpl');
    }   

 /*
     * 添加/编辑视频
     */
    public function addVideoAction(){
        $this->useLayout('dydqtshoppc-head.html');
        $id     = $this->request->getIntParam('id');

        //获取视频信息
        $Video_model    = new App_Model_Douyin_MysqlVideoStorage();
        $video_info     = $Video_model->getRowByIdSid($id, $this->sid);

        //视频混剪模式
        $video_mixed_mode = plum_parse_config('project_mixed_mode','dydqt/project');

        $this->output['video_info']     = $video_info;
        $this->output['video_mixed_mode']   = $video_mixed_mode;
        $this->displaySmarty('dydqtshoppc/video/addVideo.html');
    }
    /*
     * 保存工程配置
     */
    public function saveItemConfigAction() {
        $dv_id  = $this->request->getIntParam('dv_id');
        unset($_REQUEST['q']);
        unset($_REQUEST['dv_id']);
        //获取视频信息
        $video_model    = new App_Model_Douyin_MysqlVideoStorage();
        $video_info     = $video_model->getRowByIdSid($dv_id, $this->sid);
        if (empty($video_info)) {
            $this->displayJsonError('参数错误');
        }
        $curr_platform  = json_decode($video_info['dv_platform'], 1);
        $curr_platform  = is_null($curr_platform) ? [] : $curr_platform;
        //发音人合集
        if (isset($_REQUEST['a_vcn'])) {
            $vcn    = $this->request->getStrParam('a_vcn');
            $vcn    = explode(',', $vcn);
            unset($_REQUEST['a_vcn']);
            $curr_platform['vcn']   = array_combine($vcn, $vcn);
        }








Je suppose que tu aimes

Origine blog.csdn.net/buda_l/article/details/131594581
conseillé
Classement