一键生成视频并批量上传视频抖音、bilibili、腾讯(已打包)

news2024/11/15 17:47:01

GenerateAndAutoupload

Github地址:https://github.com/cmdch2017/GenerateAndAutoupload

如何下载(找到最新的release)

https://github.com/cmdch2017/GenerateAndAutoupload/releases/download/v1.0.1/v1.0.1.zip

启动必知道

conf.py 这里配置了chrome浏览器的启动位置,你的项目一定要安装chrome C:\Program Files\Google\Chrome\Application\chrome.exe

项目图片示例

v1.0.1

该项目在上面的项目基础上增加和删除了一些功能旨在自动生成视频并发布视频到各个社交媒体平台并打包程序

how to use

默认当天的日期,网上找到的素材按照黏贴到空白处点击保存按钮,然后点击生成选定日期视频,确保生成cookies后,再点击一键上传即可。
生成的视频如下所示:
当然你也不一定需要用到生成视频的功能,只需要批量上传,那你就点击当日文件夹按钮

tiktok show ## 💡Feature - 中国主流社交媒体平台: - [x] 抖音 - [x] 视频号 - [x] bilibili tiktok show

💾Installation

pip install -r requirements.txt
playwright install chromium firefox

非程序员,新手级教程

🐇 About

The project for my own project extracted, my release strategy is timed release (released a day in advance), so the release part of the event are used for the next day time!

If you need to release it immediately, you can study the source code or ask me questions.

如果你有需求立即发布,可自行研究源码或者向我提问

核心模块解释

1. 视频文件准备(video prepare)

filepath 本地视频目录,目录包含(filepath Local video directory containing)

  • 视频文件(video files)
  • 视频meta信息txt文件(video meta information txt file)

举例(for example):

file:2023-08-24_16-29-52 - 这位勇敢的男子为了心爱之人每天坚守 .mp4

meta_file:2023-08-24_16-29-52 - 这位勇敢的男子为了心爱之人每天坚守 .txt

meta_file 内容(content):

这位勇敢的男子为了心爱之人每天坚守 🥺❤️‍🩹
#坚持不懈 #爱情执着 #奋斗使者 #短视频

Usage

  1. 设置conf 文件中的 LOCAL_CHROME_PATH(在douyin、视频号 tiktok可能出现chromium 不兼容的各种问题,建议设置本地的chrome)
  2. 这里分割出来3条路
    • 可自行研究源码,免费、任意 穿插在自己的项目中
    • 可参考下面的各个平台的使用指南,examples文件夹中有各种示例代码
    • 使用cli 简易使用(支持tiktok douyin 视频号)
cli 用法
python cli_main.py <platform> <account_name> <action: upload, login> [options]

查看详细的参数说明使用:

python cli_main.py -h
usage: cli_main.py [-h] platform account_name action ...

Upload video to multiple social-media.

positional arguments:
  platform      Choose social-media platform: douyin tencent tiktok
  account_name  Account name for the platform: xiaoA
  action        Choose action
    upload      upload operation
    login       login operation
    watch       watch operation

options:
  -h, --help    show this help message and exit

示例

python cli_main.py douyin test login
douyin平台,账号名为test,动作为login

python cli_main.py douyin test upload "C:\Users\duperdog\Videos\2023-11-07_05-27-44 - 这位少女如梦中仙... .mp4" -pt 0
douyin平台, 账号名为test, 动作为upload, 视频文件(需对应的meta文件,详见上), 发布方式(pt):0 立即发布

python cli_main.py douyin test upload "C:\Users\superdog\Videos\2023-11-07_05-27-44 - 这位少女如梦中仙... .mp4" -pt 1 -t "2024-6-14 12:00"
douyin平台, 账号名为test, 动作为upload, 视频文件, 发布方式(pt):1 定时发布, 发布时间(t)2024-6-14 12:00

各平台详细说明

1. 抖音

douyin show ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/91e14fa289a44d5a8787bc554bae5378.png)

使用playwright模拟浏览器行为

抖音前端实现,诸多css class id 均为随机数,故项目中locator多采用相对定位,而非固定定位

  1. 准备视频目录结构
  2. cookie获取:get_douyin_cookie.py 扫码登录
  3. 上传视频:upload_video_to_douyin.py

其他部分解释:

douyin_setup handle 参数为True,为手动获取cookie False 则是校验cookie有效性

generate_schedule_time_next_day 默认从第二天开始(此举为避免选择时间的意外错误)
参数解释:
- total_videos 本次上传视频个数(我调整了上限为10)
- videos_per_day 每日上传视频数量(我调整了上限为10)
- daily_times 视频发布时间 默认10、11、12、13、14、15、16、17、18、19点
- start_days 从第N天开始

2023年12月15日补充:使用chromium可能会出现无法识别视频封面图片的情况
解决方案:

  1. 下载chrome
  2. 找到chrome的安装目录
  3. 将本地chrome 路径conf文件中 LOCAL_CHROME_PATH = “xxx/xxx/chrome.exe”

参考项目:

  • https://github.com/wanghaisheng/tiktoka-studio-uploader
  • https://github.com/Superheroff/douyin_uplod
  • https://github.com/lishang520/DouYin-Auto-Upload.git

2. 视频号

使用playwright模拟浏览器行为

  1. 准备视频目录结构
  2. cookie获取:get_tencent_cookie.py 扫码登录
  3. 上传视频:upload_video_to_tencent.py

其他部分解释:

参考上面douyin_setup 配置

3. bilibili

该实现,借助biliup的biliup-rs,再次感谢。

  1. 准备视频目录结构
  2. cookie获取:biliup.exe -u account.json login 选项你喜欢的登录方式
  3. 上传视频:upload_video_to_bilibili.py
解释与注意事项:
bilibili cookie 长期有效(至少我运行2年以来是这样的)
其他平台 诸如linux mac 服务器运行 请自行研究

参考项目:

  • https://github.com/biliup/biliup-rs

打包项目成exe应用

打包前你的项目结构

在这里插入图片描述

修改main.spec,其中pathex是你项目放的位置,我的项目放到了D:\Demos\social-auto-upload-main

点击生成exe.bat,这个时候生成了dist文件夹,如上图所示,然后你能放dist到任意一个目录,然后如下图所示的exe文件同一目录下放这些文件。项目打包后的成品大概这个样子,其中uploader文件夹里放account.json,postcards/2024-08-01/*.mp4(当天日期)放视频,source下放texts.json(文字转视频中文字存放的位置)

参考项目:

  • https://github.com/wkaisertexas/tiktok-uploader
  • https://github.com/dreammis/social-auto-upload(基于这个代码基础上开发)

打赏

ffmpeg生成文字转视频

ffmpeg安装教程https://www.cnblogs.com/wwwwariana/p/18191233

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1974059.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis学习[5] ——Redis过期删除和内存淘汰

六、Redis过期键值删除 6.1 Redis的过期键值删除策略 6.1.1 什么是过期键值删除&#xff1f; Redis中是可以对key设置过期时间的&#xff0c;所以需要有相应的机制将已过期的键值对删除&#xff0c;也就是**过期键值删除策略。Redis会用一个过期字典&#xff08;expires dic…

如何改网络的ip地址:实用方法与步骤解析

在数字化时代&#xff0c;网络IP地址作为设备在互联网上的唯一标识&#xff0c;其重要性不言而喻。然而&#xff0c;在某些特定场景下&#xff0c;如网络测试、隐私保护或突破地域限制等&#xff0c;我们可能需要更改网络IP地址。那么&#xff0c;如何安全、有效地实现这一操作…

学习日志:update 没加索引会锁全表

文章目录 前言一、为什么会发生这种的事故如何避免这种事故的发生&#xff1f;总结 前言 在线上执行一条 update 语句修改数据库数据的时候&#xff0c;where 条件没有带上索引&#xff0c;导致业务直接崩了 为什么会发生这种的事故&#xff1f; 又该如何避免这种事故的发生&a…

html+css練習:iconfont使用

1.網址地址&#xff1a;https://www.iconfont.cn/search/index 2.註冊登錄&#xff0c;將需要的圖標添加到購物車 3.下載代碼 4.下載后的代碼有一個html頁面&#xff0c;裡面有詳細的使用方式

Linux进程间通信学习2

文章目录 共享内存信号信号概述以及种类信号的处理信号相关函数&#xff08;简单&#xff09;运用小demo实现ctrlc无法终止进程使用kill函数在程序内部实现一个进程杀死另外一个进程 信号相关函数高级版运用函数小demo 信号量信号量相关函数运用小demo: 共享内存 相比于前三个…

基于微信小程序的宠物服务平台(系统源码+lw+部署文档+讲解等)

文章目录 目录 详细视频演示 系统详细设计截图 微信小程序系统的实现 1.1系统前台功能的实现 2.1微信小程序开发环境搭建 2.2微信开发者工具 2.3程序应用相关技术和知识 2.3.1小程序目录结构以及框架介绍 2.3.2 Java技术 2.3.3 MySQL数据库 2.3.4 SSM框架 源码获…

构建铁路安全防线:EasyCVR视频+AI智能分析赋能铁路上道作业高效监管

一、方案背景 随着我国铁路特别是高速铁路的快速发展&#xff0c;铁路运营里程不断增加&#xff0c;铁路沿线的安全环境对保障铁路运输的安全畅通及人民群众的生命财产安全具有至关重要的作用。铁路沿线安全环境复杂多变&#xff0c;涉及多种风险因素&#xff0c;如人员入侵、…

函数递归超详解!

目录 1.什么是递归调用&#xff1f; 直接调用 间接调用 2.什么是递归&#xff1f; 3.递归举例 3.1求n!的阶乘 3.1.1.非递归法 3.1.2.递归法 3.1.2.1分析和代码实现 3.2顺序打印一个整数的每一位 3.2.1分析和代码实现 4.递归与迭代 4.1举例&#xff1a;斐波那契数列 …

开放式耳机更适合运动的时候使用?开放式耳机推荐指南

开放式耳机确实非常适合运动时使用&#xff0c;原因主要有以下几点。 首先&#xff0c;保持对外界的感知是很重要的一点。在运动的时候&#xff0c;我们需要听到周围的环境声音&#xff0c;比如车辆的行驶声、行人的呼喊等&#xff0c;以便及时做出反应&#xff0c;保证自身安全…

【MySQL】索引概念解析

1.什么是索引&#xff1f; MySQL中的索引是一种数据结构&#xff0c;用于帮助MySQL数据库管理系统快速查询数据。索引的主要目的是提高数据检索的速度&#xff0c;减少数据库系统需要扫描的数据量。 优点&#xff1a; 索引可以极大的提高数据检索效率&#xff0c;降低数据库…

【Nuxt】配置

Nuxt 配置 nuxt.config.ts 里面可以添加相关配置&#xff1a; runtimeConfig 运行时配置。 // https://nuxt.com/docs/api/configuration/nuxt-config export default defineNuxtConfig({compatibilityDate: 2024-04-03,devtools: {enabled: true},runtimeConfig: {appKey: …

手拉手模型笔记and一线三角笔记

手拉手模型 基本需要&#xff1a;两个 顶角相等 的 等腰 三角形 共 顶点 反手拉手: 等边 等腰 R t △ 等边\\等腰Rt△ 等边等腰Rt△ 左手拉左手&#xff0c;右手拉右手( − 红线 − \textcolor{red}{-红线-} −红线−): △ A B D ≅ △ A C E ( S A S ) △ABD \cong △ACE(S…

一次多波束和浅地层处理的经历—信标机出问题?

最近处理多波束和浅地层时&#xff0c;一个从来没有过的问题出现了。 多波束数据(.pds)是由PDS2000采集的&#xff0c;使用设备型号为T50P。浅地层数据(.raw)是有SESWIN采集的&#xff0c;使用设备型号为SES2000 Standard。 1、多波束处理 多波束数据采用CARIS11.3处理的。船…

返校季热度持续发酵,赛盈分销浅谈下半年选品趋势!

小孩学习用的东西&#xff0c;那可真是省不了一点&#xff0c;该买的&#xff0c;家长还是会买。 特别是在每年的7-9月份正是海外返校季高消费的时候&#xff0c;这也是卖家少有的能在淡季里血赚的机会了。 都说早起的鸟儿有虫吃&#xff0c;一些朋友提前行动的&#xff0c;已经…

day17 Java流程控制——用户交互Scanner

day17 Java流程控制——用户交互Scanner 目录 day17 Java流程控制——用户交互Scanner1. 什么是Scanner对象&#xff1f;2. 实操 1. 什么是Scanner对象&#xff1f; Scanner对象是Java编程语言中的一个类&#xff0c;存在于java.util包中。它用于获取输入&#xff0c;可以是各…

数据库的安装初始化及管理

1. 官网下载或者 wget [rootmysql ~] # ls anaconda-ks.cfg initserver.sh mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar mysql-community-client-8.0.33-1.el7.x86_64.rpm mysql-community-client-plugins-8.0.33-1.el7.x86_64.rpm mysql-community-common-8.0.33-1.el7.…

大数据-57 Kafka 高级特性 消息发送相关01-基本流程与原理剖析

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

反转链表~

一&#xff1a;初始化 public class ListNode {public int val;public ListNode next;public ListNode(int val,ListNode next){this.val val;this.next next;}Overridepublic String toString(){StringBuilder sb new StringBuilder(64);sb.append("[");ListNod…

【系统架构设计师】二十四、安全架构设计理论与实践①

目录 一、安全架构概述 1.1 信息安全面临的威胁 1.1.1 安全威胁分类 1.1.2 常见的安全威胁 1.2 安全架构的定义和范围 二、安全模型 2.1 状态机模型 2.2 Bell-LaPadula模型 2.3 Biba模型 2.4 Clark-Wilson模型 2.5 Chinese Wall 模型 往期推荐 一、安全架构概述 1…

vue3+vue-simple-uploader +SpringBoot实现大文件分块上传

效果图 一、安装所需依赖包 npm install vue-simple-uploadernext --savenpm install spark-md5 --save二、main.ts 注册组件 import { createApp } from vue import uploader from vue-simple-uploader import vue-simple-uploader/dist/style.css import App from ./App.vu…