抖音自动生成视频、字幕、自动上传发布

dy-auto

✨ 抖音自动生成视频、字幕、自动上传发布✨

项目地址

点击进入https://github.com/Richard0403/dy-auto

录屏效果

https://github.com/Richard0403/dy-auto/assets/14147304/21400a42-9296-4956-9517-ced8d8bf4737

技术架构

名称功能
ffmpeg处理视频的生成,语音添加,字幕的添加等
微软SpeechStudio文字合成语音
whisper语音生成字幕
jieba3k用于文案的关键词提取
playwright用于自动化操作

项目结构

|-- DyPic                                      // 图片资源目录
|   |-- 建筑集                                  // 图片组1
|   |   |-- pic_0001.jpeg                     // 图片命名规则
|   |   |-- pic_0002.jpeg                     // 图片命名规则
|   |-- 可爱小动物                              // 图片组2
|   |   |-- pic_0001.jpeg                     // 图片命名规则
|   |   |-- pic_0002.jpeg                     // 图片命名规则
|-- DyText                                    // 文案文件夹
|   |-- 6_躺平真的会毁掉年轻人吗?.txt             // 文案话题(txt内部的见解用#分割)
|-- dy_auto                                    // 代码目录
|   |-- main.py 主程序入口

使用教程

  1. 环境配置
        * python 3.10.11
        * ffmpeg 安装
  2. 账号注册 
        * 微软speech studio, 注册入口
        * 拿到资源密钥和地区名称, 填入speech_voice_gen.py 的speech_key 和 service_region字段中
  3. 安装依赖库
       * pip install -r requirements.txt
  4. 准备图片和文案资源(项目文件结构见下文)
       * 文件夹准备: 在项目文件夹同级,新建DyTemp、DyText、DyPic文件夹
       * 图片资源: 格式见目录DyPic
       * 文案资源: 格式见目录DyText
  5. 获取token
       * 先执行该命令,扫码登录,成功后关闭浏览器, 会自动保存cookie
           playwright codegen www.douyin.com --save-storage=cookie.json    
  6. 运行
       * 程序运行入口 main.py

项目执行流程

image.png

注意

1.文案和图片的使用是随机获取的

2. whisper运行默认不使用GPU,为了使用GPU, 安装如下依赖

pip uninstall torch 
pip cache purge 
pip install torch -f https://download.pytorch.org/whl/torch_stable.html
  1. 可实现多个账号循环上传

声明

本项目只做个人学习研究之用,不得用于商业用途!更不可用于违反法律道德商业等不良用途,使用者责任自负!

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 抖音自动剪辑视频需要使用抖音的API,并且需要一些编程经验。下面是一个简单的示例脚本,用于剪辑指定用户的视频: ```python import requests import json # 填写抖音者后台的应用信息 APP_ID = "填写你的APP_ID" APP_SECRET = "填写你的APP_SECRET" # 获取用户视频列表 def get_user_video_list(user_id): url = f"https://open.douyin.com/video/list/?user_id={user_id}&count=10" headers = {"Authorization": f"Bearer {get_access_token()}"} response = requests.get(url, headers=headers) data = json.loads(response.text) video_list = data.get("data").get("list") return video_list # 获取访问令牌 def get_access_token(): url = "https://open.douyin.com/oauth/access_token/" params = { "client_key": APP_ID, "client_secret": APP_SECRET, "grant_type": "client_credential" } response = requests.get(url, params=params) data = json.loads(response.text) access_token = data.get("access_token") return access_token # 剪辑视频 def clip_video(video_id, start_time, end_time): url = "https://open.douyin.com/video/create/" headers = {"Authorization": f"Bearer {get_access_token()}"} data = { "video_id": video_id, "start_time": start_time, "end_time": end_time } response = requests.post(url, headers=headers, data=data) data = json.loads(response.text) return data if __name__ == "__main__": # 剪辑第一条视频的前5秒 user_id = "填写用户ID" video_list = get_user_video_list(user_id) video_id = video_list[0].get("aweme_id") result = clip_video(video_id, 0, 5) print(result) ``` 上面的脚本使用了抖音的API获取指定用户的视频列表,然后剪辑了列表中的第一条视频的前5秒。可以根据需要修改脚本,以剪辑不同的视频段落,或者剪辑不同用户的视频。 ### 回答2: 抖音自动剪辑视频脚本可以使用Python语言编写,主要需要使用到OpenCV库和FFmpeg工具。 1. 导入所需库和模块: import cv2 import subprocess 2. 设置视频路径和剪辑参数: video_path = "输入视频路径" output_path = "输出视频路径" start_time = 10 #剪辑开始时间(单位:秒) end_time = 20 #剪辑结束时间(单位:秒) 3. 使用OpenCV读取视频文件: cap = cv2.VideoCapture(video_path) 4. 获取视频帧率和总帧数: fps = cap.get(cv2.CAP_PROP_FPS) total_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) 5. 计算开始和结束帧数: start_frame = int(start_time * fps) end_frame = int(end_time * fps) 6. 设置输出视频的宽度和高度: width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) 7. 使用FFmpeg剪辑视频: command = ["ffmpeg", "-i", video_path, "-ss", str(start_time), "-t", str(end_time-start_time), "-c:v", "libx264", "-c:a", "copy", "-vf", "scale={}:{}".format(width, height), output_path] subprocess.call(command) 8. 关闭视频文件和完成提示: cap.release() print("视频剪辑完成!") 这个脚本的功能是根据用户设定的开始时间和结束时间,将输入的抖音视频剪辑成指定长度的视频,并输出到指定的路径上。通过使用OpenCV读取视频文件,获取视频的帧率和总帧数,根据开始时间和结束时间计算需要剪辑的帧数,然后再使用FFmpeg工具进行视频剪辑的操作,最后关闭视频文件并给出完成提示。 ### 回答3: 抖音自动剪辑视频的脚本可以按照以下步骤进行设计: 1. 导入必要的库和模块。例如,使用Python的selenium库来模拟浏览器操作,使用OpenCV库来处理视频和图像。 2. 打开浏览器并访问抖音网站。使用selenium库打开浏览器并自动访问抖音网站。 3. 模拟用户登录。如果需要登录才能进行剪辑操作,可以使用selenium模拟用户的登录操作。 4. 搜索并选择要剪辑的视频。使用selenium在搜索框中输入关键词,然后选择一个合适的视频。 5. 下载视频。使用selenium定位到视频下载按钮,并点击下载按钮,将视频保存到本地。 6. 剪辑视频。使用OpenCV库加载下载的视频文件,然后根据需要进行剪辑和编辑。例如,可以裁剪视频的长度,添加特效、滤镜等。 7. 保存剪辑后的视频。将剪辑后的视频保存到指定位置。 8. 关闭浏览器。结束剪辑操作后,关闭浏览器。 需要注意的是,抖音网站可能会有一些反爬虫的机制,为了避免被封禁,可以在脚本中加入一些延时操作,模拟人的浏览行为,使得脚本更像是一个真实的用户在操作。另外,抖音的网页结构可能会有变化,所以需要定期更新和调整脚本中的元素定位和操作。 以上是一个简单的抖音自动剪辑视频的脚本设计思路,具体实现细节还需要根据实际情况来进行调整和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值