{"id":49444923,"url":"https://github.com/toki-plus/video-mover","last_synced_at":"2026-04-29T21:40:10.308Z","repository":{"id":285548254,"uuid":"958516336","full_name":"toki-plus/video-mover","owner":"toki-plus","description":"全自动短视频搬运工具，支持自动下载、去重、AI生成标题+标签、上传，可二开扩展至多平台，例如：TikTok-\u003e视频号/抖音/小红书、抖音-\u003eTikTok/视频号/小红书......video-processing, automation, tiktok, selenium, pyqt5, ffmpeg, bot, data-scraping, video-deduplication.","archived":false,"fork":false,"pushed_at":"2025-12-02T11:00:15.000Z","size":19160,"stargazers_count":238,"open_issues_count":3,"forks_count":47,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-12-05T06:35:35.576Z","etag":null,"topics":["automation","bot","data-scraping","ffmpeg","pyqt5","selenium","tiktok","video-deduplication","video-processing"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/toki-plus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-01T10:22:52.000Z","updated_at":"2025-12-04T07:24:52.000Z","dependencies_parsed_at":"2025-05-08T12:31:13.919Z","dependency_job_id":"b269aac0-bf2b-4193-9744-ec91b89ae78c","html_url":"https://github.com/toki-plus/video-mover","commit_stats":null,"previous_names":["toki-plus/video-mover"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/toki-plus/video-mover","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toki-plus%2Fvideo-mover","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toki-plus%2Fvideo-mover/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toki-plus%2Fvideo-mover/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toki-plus%2Fvideo-mover/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/toki-plus","download_url":"https://codeload.github.com/toki-plus/video-mover/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toki-plus%2Fvideo-mover/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32445547,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T20:22:27.477Z","status":"ssl_error","status_checked_at":"2026-04-29T20:22:26.507Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","bot","data-scraping","ffmpeg","pyqt5","selenium","tiktok","video-deduplication","video-processing"],"created_at":"2026-04-29T21:40:08.233Z","updated_at":"2026-04-29T21:40:10.303Z","avatar_url":"https://github.com/toki-plus.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Video Mover: 全自动视频搬运、去重与发布工作流\n\n[简体中文](./README.md) | [English](./README_en.md)\n\n[![GitHub stars](https://img.shields.io/github/stars/toki-plus/video-mover?style=social)](https://github.com/toki-plus/video-mover/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/toki-plus/video-mover?style=social)](https://github.com/toki-plus/video-mover/network/members)\n[![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://choosealicense.com/licenses/mit/)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/toki-plus/video-mover/pulls)\n\n**Video Mover 是一款强大的、全自动化的内容创作流水线工具，旨在实现从视频源监控下载、深度二次创作到多平台自动发布的无人值守工作流。**\n\n本项目为需要大规模、高效率进行视频内容分发和二次创作的团队及个人设计，通过模块化的设计，将复杂的视频处理流程集成为一套完整的自动化解决方案。\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.bilibili.com/video/BV1txQeYyEEz\" target=\"_blank\"\u003e\n    \u003cimg src=\"./images/cover_demo.png\" alt=\"点击观看B站演示视频\" width=\"800\"/\u003e\n  \u003c/a\u003e\n  \u003cbr\u003e\n  \u003cem\u003e(点击封面图跳转到 B 站观看高清演示视频)\u003c/em\u003e\n\u003c/p\u003e\n\n---\n\n## ✨ 核心功能\n\n-   **📥 自动下载 (Auto-Download)**\n    -   **实时监控**：7x24小时自动监听指定TikTok博主的发布状态。\n    -   **即时下载**：一旦发布新视频，立即无水印下载到本地，为后续处理做准备。\n\n-   **✂️ 智能去重 (Intelligent Deduplication)**\n    -   提供一套强大的视频二次创作工具箱，所有功能均可配置和组合，以达到理想的去重效果。\n    -   **性能优化**: **🚀 GPU加速**，利用NVIDIA显卡大幅提升处理速度。\n    -   **内容增强**: 自动字幕、自定义标题、背景音乐 (BGM)、画中画 (PIP)。\n    -   **视频处理**: 静音剪辑、镜像、旋转、裁剪、淡入淡出、画质调整。\n    -   **高级特效**: 背景模糊、帧交换、颜色偏移、频域扰乱、纹理噪声等数十种视觉特效。\n\n-   **🚀 AI 驱动上传 (AI-Powered Upload)**\n    -   **AI标题生成**：调用阿里云百炼AI大模型，分析视频内容，自动生成爆款标题和标签。\n    -   **自动化发布**：模拟浏览器操作，登录视频号后台，自动填写所有信息并发布视频。\n\n## 📸 软件截图\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./images/cover_script.png\" alt=\"软件主界面\" width=\"800\"/\u003e\n  \u003cbr\u003e\n  \u003cem\u003e脚本运行展示图。\u003c/em\u003e\n\u003c/p\u003e\n\n## 🚀 快速开始\n\n请严格按照以下步骤进行环境配置和安装。\n\n### 系统要求\n\n1.  **操作系统**: Windows。\n2.  **软件/工具**:\n    | 软件/工具              | 下载链接                                                     | 备注                                                     |\n    | :--------------------- | :----------------------------------------------------------- | :------------------------------------------------------- |\n    | **.NET Framework 4.8** | [官方下载](https://dotnet.microsoft.com/en-us/download/dotnet-framework/thank-you/net48-web-installer) | Windows 系统组件。                                       |\n    | **Python 3.12+**       | [官方下载](https://www.python.org/ftp/python/3.12.9/python-3.12.9-amd64.exe) | 安装时请务必勾选 `Add Python to PATH`。                  |\n    | **Node.js 22.x**       | [官方下载](https://nodejs.org/dist/v22.14.0/node-v22.14.0-x64.msi) | 建议选择 LTS 版本。                                      |\n    | **Git**                | [官方下载](https://git-scm.com/downloads/win)                | 版本控制工具。                                           |\n    | **FFmpeg**             | [Gyan.dev Builds](https://github.com/GyanD/codexffmpeg/releases/download/7.1.1/ffmpeg-7.1.1-full_build.7z) | **必须**解压并将其 `bin` 目录添加到系统环境变量 `PATH`。 |\n    | **Chrome 浏览器**      | [官方下载](https://www.google.com/)                          | 用于自动化上传。                                         |\n    | **v2rayN** (可选)      | [GitHub Releases](https://github.com/2dust/v2rayN/releases/download/5.39/v2rayN-Core.zip) | 如果你需要网络代理来访问TikTok。                         |\n\n### 安装与配置\n\n1.  **克隆本仓库：**\n    ```bash\n    git clone https://github.com/toki-plus/video-mover.git\n    cd video-mover\n    ```\n\n2.  **自动安装依赖：**\n    双击运行项目根目录下的 `setup.bat` 脚本。它会自动安装所有必要的 Python 和 Node.js 依赖。\n\n3.  **⚠️ 重要：手动修改依赖库**\n    由于特定功能需求，部分已安装的Python库需要进行少量代码修改。**这是保证程序正常运行的关键步骤**。请在虚拟环境中找到对应文件并修改：\n\n    -   **文件 1**: `f2/apps/tiktok/handler.py`\n        -   **位置**: 第 `389` 行\n        -   **操作**: 将 `cursor` 强制转换为 `int` 类型。\n        -   **修改前**: `params={\"cursor\": cursor, ...}`\n        -   **修改后**: `params={\"cursor\": int(cursor), ...}`\n\n    -   **文件 2**: `f2/utils/utils.py`\n        -   **位置**: 第 `200` 行附近\n        -   **操作**: 修改日期处理逻辑以兼容不同格式。\n            ```python\n            # 将以下代码块:\n            if date_type == \"start\":\n                date_str = f\"{start_date} 00-00-00\"\n            elif date_type == \"end\":\n                date_str = f\"{end_date} 23-59-59\"\n\n            # 替换为:\n            if len(start_date.split()) == 1:\n                if date_type == \"start\":\n                    date_str = f\"{start_date} 00-00-00\"\n                elif date_type == \"end\":\n                    date_str = f\"{end_date} 23-59-59\"\n            else:\n                if date_type == \"start\":\n                    date_str = f\"{start_date}\"\n                elif date_type == \"end\":\n                    date_str = f\"{end_date}\"\n            ```\n        -   **位置**: 第 `690` 行附近\n        -   **操作**: 修改日期字符串解析逻辑。\n            ```python\n            # 将:\n            start_date = datetime.datetime.strptime(start_str, \"%Y-%m-%d\")\n            end_date = datetime.datetime.strptime(end_str, \"%Y-%m-%d\") + datetime.timedelta(...)\n\n            # 替换为:\n            if len(start_str.split()) == 1:\n                start_date = datetime.datetime.strptime(start_str, \"%Y-%m-%d\")\n            else:\n                start_date = datetime.datetime.strptime(start_str, \"%Y-%m-%d %H-%M-%S\")\n            if len(end_str.split()) == 1:\n                end_date = datetime.datetime.strptime(end_str, \"%Y-%m-%d\") + datetime.timedelta(days=1, seconds=-1)\n            else:\n                end_date = datetime.datetime.strptime(end_str, \"%Y-%m-%d %H-%M-%S\")\n            ```\n    -   **文件 3**: `tencent_uploader/main.py`\n        -   **位置**: 第 `191` 行附近\n        -   **操作**: 延长页面等待超时时间。\n        -   **修改前**: `await page.wait_for_url(\".../post/list\", timeout=1500)`\n        -   **修改后**: `await page.wait_for_url(\".../post/list\", timeout=10000)`\n\n4.  **配置密钥与Cookie**\n    -   **阿里云百炼 API Key**: 前往阿里云百炼大模型平台申请 API Key，然后打开 `Upload/vx_upload.py` 文件，将你的 `api_key` 填入。\n    -   **TikTok Cookie**: 在浏览器中登录 TikTok 网页版，打开开发者工具(F12)复制 `Cookie` 值，然后打开根目录下的 `my_apps.yaml` 文件替换原有内容。\n    -   **网络代理 (可选)**: 在 `my_apps.yaml` 文件中修改 `Proxy` 配置项。\n\n## 📖 使用指南\n\n1.  双击运行根目录下的 `start.bat` 脚本。\n2.  程序会自动打开浏览器并开始执行任务。请根据提示进行登录等操作。\n3.  在开发者工具中，点击绿色的三角形箭头（通常是 \"Resume script execution\"）以继续执行自动化流程。\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003e技术交流，请添加：\u003c/strong\u003e\n\u003c/p\u003e\n\u003ctable align=\"center\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"./images/wechat.png\" alt=\"微信二维码\" width=\"200\"/\u003e\n      \u003cbr /\u003e\n      \u003csub\u003e\u003cb\u003e个人微信\u003c/b\u003e\u003c/sub\u003e\n      \u003cbr /\u003e\n      \u003csub\u003e微信号: toki-plus (请备注“GitHub 定制”)\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"./images/gzh.png\" alt=\"公众号二维码\" width=\"200\"/\u003e\n      \u003cbr /\u003e\n      \u003csub\u003e\u003cb\u003e公众号\u003c/b\u003e\u003c/sub\u003e\n      \u003cbr /\u003e\n      \u003csub\u003e获取最新技术分享与项目更新\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## 📂 我的其他开源项目\n\n-   **[Netease Downloader](https://github.com/toki-plus/netease-downloader)**: 一款优雅、功能丰富的网易云音乐下载器，支持无损/高品质音质、歌单/专辑批量下载、扫码登录和自动写入ID3元数据。\n-   **[AI-Trader-For-MT4](https://github.com/toki-plus/ai-trader-for-mt4)**: 革命性开源框架，将大语言模型（LLM）转变为能在MetaTrader 4（MT4）平台上进行自主交易的AI代理。\n-   **[Auto USPS Tracker](https://github.com/toki-plus/auto-usps-tracker)**: 专为跨境电商卖家设计的高效USPS批量物流追踪器，支持防屏蔽抓取并生成精美Excel报告。\n-   **[AI Mixed Cut](https://github.com/toki-plus/ai-mixed-cut)**: 一款颠覆性的AI内容生产工具，通过“解构-重构”模式将爆款视频解构成创作素材库，并全自动生成全新原创视频。\n-   **[AI Video Workflow](https://github.com/toki-plus/ai-video-workflow)**: 全自动AI原生视频生成工作流，集成了文生图、图生视频和文生音乐模型，一键创作AIGC短视频。\n-   **[AI Highlight Clip](https://github.com/toki-plus/ai-highlight-clip)**: 一款AI驱动的智能剪辑工具，能够全自动地从长视频中分析、发现并剪辑出多个“高光时刻”短视频，并自动生成爆款标题。\n-   **[AI TTV Workflow](https://github.com/toki-plus/ai-ttv-workflow)**: 一款AI驱动的文本转视频工具，能将任意文案自动转化为带有配音、字幕和封面的短视频，支持AI文案提取、二创和翻译。\n-   **[AB Video Deduplicator](https://github.com/toki-plus/AB-Video-Deduplicator)**: 通过创新的“高帧率抽帧混合”技术，从根本上重构视频数据指纹，以规避主流短视频平台的原创度检测和查重机制。\n\n## 🤝 参与贡献\n\n欢迎任何形式的贡献！如果你有新的功能点子、发现了Bug，或者有任何改进建议，请：\n-   提交一个 [Issue](https://github.com/toki-plus/video-mover/issues) 进行讨论。\n-   Fork 本仓库并提交 [Pull Request](https://github.com/toki-plus/video-mover/pulls)。\n\n如果这个项目对你有帮助，请不吝点亮一颗 ⭐！\n\n## 📜 开源协议\n\n本项目基于 MIT 协议开源。详情请见 [LICENSE](LICENSE) 文件。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoki-plus%2Fvideo-mover","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftoki-plus%2Fvideo-mover","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoki-plus%2Fvideo-mover/lists"}