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

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 tiktokaccount_name  Account name for the platform: xiaoAaction        Choose actionupload      upload operationlogin       login operationwatch       watch operationoptions:-h, --help    show this help message and exit

示例

python cli_main.py douyin test login
douyin平台,账号名为test,动作为loginpython 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.rhkb.cn/news/390470.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数论第四节:二元一次不定方程、勾股数

不定方程定义 解不确定的方程称为不定方程。一般化的定义为&#xff1a;不定方程是指未知数的个数多余方程的个数&#xff0c;或未知数受到某种限制&#xff08;如整数、正整数等&#xff09;的方程和方程组。 二元一次不定方程定义 形如axbyc的形式的方程。其中a,b不等于0&…

Qt对象树的介绍

目录 创建项目&#xff08;此处我就不多介绍了&#xff09; 按钮 对象树 创建项目&#xff08;此处我就不多介绍了&#xff09; QMainWidow带菜单栏的 QWidget空白的 QDialog对话框 创建功能时注意&#xff1a; 项目工程名称一般不要有标点&#xff0c;不要带中文 按钮 /…

变量作用域、作用域链、return

全局变量 全局变量因为在全局操作会每次留存上次操作的结果 局部变量因为执行完成就会被销毁并不会保留本次操作的结果 可以通过传参和返回&#xff0c;将结果不断地专递处理 局部变量 参数也是局部变量 函数内的预解析预赋值 函数内的局部变量 如果同名全局变量遇到局部变量…

linux进程控制——进程替换——exec函数接口

前言&#xff1a; 本节内容进入linux进程控制板块的最后一个知识点——进程替换。 通过本板块的学习&#xff0c; 我们了解了进程的基本控制方法——进程创建&#xff0c; 进程退出&#xff0c; 进程终止&#xff0c; 进程替换。 进程控制章节和上一节进程概念板块都是在谈进程…

【IEEE出版】第五届大数据、人工智能与软件工程国际研讨会(ICBASE 2024,9月20-22)

第五届大数据、人工智能与软件工程国际研讨会&#xff08;ICBASE 2024&#xff09;将于2024年09月20-22日在中国温州隆重举行。 会议主要围绕大数据、人工智能与软件工程等研究领域展开讨论。会议旨在为从事大数据、人工智能与软件工程研究的专家学者、工程技术人员、技术研发人…

C#加班统计次数

C#加班统计次数 运行环境&#xff1a;vs2022 .net 8.0 社区版 1、用C#语言&#xff1b;2、有界面上传Excel文件; 3、对Excel列&#xff08;部门、人员姓名、人员编号、考勤时间 &#xff09;处理&#xff1a;&#xff08;1&#xff09;按人员编号、考勤日期分组且保留原来字段&…

大厂linux面试题攻略五之数据库管理

一、数据库管理-MySQL语句 0.MySQL基本语句&#xff1a; 1.SQL语句-增 创建xxx用户&#xff1a; mysql>create user xxx % indentified by 123456; xxx表示用户名 %b表示该用户用来连接数据库的方式&#xff08;远程或本地连接&#xff09; indentified by 123456设置密码…

C语言基础知识之函数指针和指针函数

函数指针和指针函数 函数指针和指针函数指向函数的指针返回指针值的函数指针函数和函数指针的区别 问题1_1代码1_1结果1_1 函数指针和指针函数 指向函数的指针 用函数指针变量调用函数 可以用指针变量指向整型变量、字符串、数组&#xff0c;也可以指向一个函数。一个…

Xinstall超级渠道功能,轻松解决App推广中的层级统计难题

随着互联网的不断发展和流量玩法的多样化&#xff0c;App推广和运营面临着前所未有的挑战。传统的营销方式在互联网流量红利衰退的背景下逐渐失效&#xff0c;企业急需提高获客转化的效率和用户留存。在这个过程中&#xff0c;App渠道数据分析显得尤为重要。然而&#xff0c;许…

Spring中是如何实现IoC和DI的?

前言&#xff1a;在前一篇文章中对于IoC的核心思想进行了讲解&#xff0c;而本篇文章则从Spring的角度入手&#xff0c;体会Spring对于IoC是如何实现的。 如果对IoC还有不太了解的可以阅读上一篇文章&#xff0c;相信一定会带来全新的收获&#xff1a;什么是IoC&#xff08;控制…

J029_UDP通信

一、需求描述 实现UDP的通信 1.1 一发一收 1.1.1 ClientTest1 package com.itheima.udp;import java.net.*;import static java.net.InetAddress.*;//完成udp通信快速入门&#xff0c;实现一收一发 public class ClientTest1 {public static void main(String[] args) thro…

【数据结构之单链表的实现(不带头)】

1.单链表 1.1概念与结构 链表是一种物理存储结构上非连续&#xff0c;非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针连接次序实现的。 可以用下图便于理解 节&#xff08;结&#xff09;点&#xff1a; 与顺序表不同的是&#xff0c;链表里面的每节“车…

NRK3301识别语音芯片在智能按摩椅中的应用与体验提升

在健康与舒适日益受到关注的今天&#xff0c;按摩椅作为缓解疲劳、舒缓压力的设备受到了广大消费者的喜爱。然而&#xff0c;传统的按摩椅操作方式往往繁琐且不直观。在这一背景下&#xff0c;NRK3301语音识别芯片的应用为按摩椅带来了新的变革。‌ 一、高识别准确率和快速响应…

halcon深度学习语义分割预处理图片遇到的坑

1.最近使用halcon深度学习语义分割&#xff0c;做缺陷检测。 2.在使用halcon的深度学习标准工具&#xff0c;标注图片 3.标注好图片后&#xff0c;到处预处理&#xff0c;发现报错&#xff0c;[‘Multiple matching segmentation files for image /1.jpg’]意思是:[’ image /…

二十天刷leetcode【hot100】算法- day1[前端Typescript]

哈希表 1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。你…

go语言day21 goland使用gin框架、gorm框架操作mysql数据库redis数据库 使用宝塔创建redis数据库

GORM 指南 | GORM - The fantastic ORM library for Golang, aims to be developer friendly. gorm package - github.com/jinzhu/gorm - Go Packages go语言day20实现投票功能项目包-CSDN博客 gin框架标准项目结构&#xff1a; models&#xff1a;存放对应实体类和gorm包增删…

DVWA(SQL注入)medium、high

medium &#xff08;1&#xff09;判断注入是字符型还是数值型 数值型&#xff0c;获得了用户信息。 id 1 or 11 &#xff08;2&#xff09;查询字段数 为3时报错&#xff0c;代表字段数为2。 1 order by 3 &#xff08;3&#xff09;显示字段顺序 1 union select 1,2 &…

机器学习练手(三):基于决策树的iris 多分类和波士顿房价预测

总结&#xff1a;本文为和鲸python 可视化探索训练营资料整理而来&#xff0c;加入了自己的理解&#xff08;by GPT4o&#xff09; 原活动链接 原作者&#xff1a;vgbhfive&#xff0c;多年风控引擎研发及金融模型开发经验&#xff0c;现任某公司风控研发工程师&#xff0c;对…

【精通Redis】Redis事务

文章目录 前言一、标准事务1.1 标准事务的特性1.2 标准事务的生命周期1.3 事务的作用 二、Redis事务2.1 Redis事务的特性2.2 Redis事务与普通事务的区别 三、Redis事务常用命令总结 前言 我们在使用Redis的时候&#xff0c;有时为了处理多个结构&#xff0c;需要向Redis中一次…