找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

755

积分

0

好友

95

主题
发表于 3 天前 | 查看: 6| 回复: 0

项目简介

pyMediaTools 是一个基于 PySide6 构建的跨平台桌面应用,集成了强大的媒体批处理能力与先进的 AI 音视频创作工具。它利用 FFmpeg 进行核心媒体处理,并集成 ElevenLabs 和 Groq API 以实现高质量的语音合成与智能字幕生成,为视频创作者和开发者提供了一个功能全面的本地化工具箱。

核心功能

1. 媒体批处理工厂 (MediaConvert)

你是否曾为批量转换视频格式而烦恼?这个模块能高效处理大量视频与音频文件,支持多种转换模式,彻底解放你的双手:

  • 格式转换:支持转换为 H.264 (MP4)、DNxHR (MOV)、ProRes 等常用专业格式。
  • 音频提取:一键批量从视频中提取音频,并保存为 MP3 或 WAV 格式。
  • 水印与处理:支持添加图片或文字水印、模糊背景、裁剪画面等常见操作。
  • 多线程处理:充分利用多核 CPU 优势,支持并发转换多个文件,极大提升处理效率。

2. 智能语音合成 (ElevenLabs TTS)

厌倦了机械的电子合成音?该功能集成了 ElevenLabs 先进的语音合成模型,能够生成媲美真人、富有情感的声音:

  • 文本转语音:支持选择多种预设声音模型,生成自然流畅、富有表现力的语音。
  • 多语言支持:完美支持中英文等多语言混合文本的语音生成。
  • 音效生成 (SFX):只需输入简单的文本描述(如“下雨声”、“人群欢呼”),即可生成逼真的环境音效,为你的视频增色不少。

3. 智能字幕与翻译

手动制作字幕耗时费力?借助 人工智能 能力,pyMediaTools 可以自动生成专业级的字幕文件:

  • SRT 生成:自动识别语音内容,生成时间轴精准对齐的 .srt 格式字幕文件。
  • 逐词字幕:除了整句字幕,还支持生成逐词 (Word-level) 高亮字幕,这种动态效果非常适合快节奏的短视频。
  • 智能翻译:利用 Groq API(支持调用 Llama3、Mixtral 等大模型)的强大能力,自动将生成的字幕翻译为中文或其他语言。

4. 视频剪辑工程导出 (XML)

想让 AI 生成的字幕直接进入专业剪辑流程吗?这个功能实现了从工具到工作流的无缝对接:

  • FCPXML 导出:一键导出包含所有字幕轨道和样式信息的 .fcpxml 工程文件,可直接导入 DaVinci Resolve 或 Final Cut Pro 等专业软件进行进一步编辑。
  • 智能高亮:利用 LLM 分析文本的情感与重点,自动为关键词、关键句应用高亮样式,突出重点内容。
  • 样式自定义:在导出前,你可以完全自定义字幕的外观:
    • 原文字幕:独立设置字体、颜色、描边、阴影和背景。
    • 翻译字幕:为翻译字幕设置另一套独立的样式。
    • 高亮样式:单独设置高亮单词的颜色与效果(例如设置为醒目的黄色粗体)。

5. 下载管理(aria2c)

集成 aria2c,提供高效的多线程下载管理功能。

6. 视频下载(yt-dlp)

集成 yt-dlp,方便从支持的网站下载视频资源。


快速开始

系统要求

  • 操作系统:Windows 10/11 或 macOS 12+
  • Python:3.10 或更高版本(建议使用虚拟环境进行管理)
  • 依赖工具:FFmpeg (需包含 ffmpegffprobe 可执行文件)
  • 依赖工具:aria2c (需包含 aria2c 可执行文件)

安装步骤

  1. 克隆项目

    git clone https://github.com/your-repo/pyMediaTools.git
    cd pyMediaTools
  2. 安装依赖
    推荐使用虚拟环境以隔离依赖:

    python -m venv venv
    # Windows
    venv\Scripts\activate
    # macOS/Linux
    source venv/bin/activate
    
    pip install -r requirements.txt
  3. 配置 FFmpeg
    ffmpegffprobe 可执行文件放入项目根目录下的 bin 文件夹中(如果没有请新建)。

    • Windows: bin\ffmpeg.exe, bin\ffprobe.exe
    • macOS: bin/ffmpeg, bin/ffprobe
  4. 运行程序

    python MediaTools.py

配置说明

API 设置

你需要在 GUI 界面或直接编辑 config.toml 配置文件来填入你的 API Key:

  • ElevenLabs:用于语音合成功能,你需要在其官网申请 API Key。
  • Groq:用于智能翻译和关键词提取功能,同样需要在其平台获取 API Key。

样式自定义

在应用程序的 “XML 样式设置” 标签页中,你可以通过直观的控件可视化地调整字幕的字体、颜色、位置等所有外观设置。所有修改都会实时预览并自动保存到本地配置中。


打包指南

如果你想将项目分享给他人,或者制作一个独立的可执行文件,本项目支持使用 Nuitka 进行打包。

macOS 打包

nuitka --standalone \
       --macos-app-icon=Icon.icns \
       --macos-create-app-bundle \
       --output-dir=dist-nuitka \
       --plugin-enable=pyside6 \
       --include-qt-plugins=multimedia,platforms,styles,imageformats \
       --include-package=pyMediaTools \
       --include-data-dir=bin=bin \
       --include-data-files=config.toml=config.toml \
       --include-data-dir=assets=assets \
       MediaTools.py

Windows 打包

nuitka --standalone --windows-console-mode=disable --output-dir=dist-nuitka --windows-icon-from-ico=MediaTools.ico --include-package=pyMediaTools --plugin-enable=pyside6 --include-qt-plugins=multimedia,platforms,styles,imageformats --include-data-files=bin\aria2c.exe=bin\aria2c.exe --include-data-files=bin\ffmpeg.exe=bin\ffmpeg.exe --include-data-files=bin\ffprobe.exe=bin\ffprobe.exe --include-data-files=config.toml=config.toml --include-data-dir=assets=assets MediaTools.py

项目地址

你可以访问该项目的 GitHub 仓库获取最新源码和详细文档:https://github.com/timcode-cmyk/pyMediaConvert/blob/main/README.md。欢迎开发者们前往 开源实战 板块交流更多关于桌面应用开发与 AI 工具集成的心得。




上一篇:美团开源LongCat-Flash-Thinking-2601模型:8路并行思考,Agent性能超Claude
下一篇:《枫之谷:放置冒险记》上线45天流水破1亿美元,韩国放置RPG市场格局生变
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-24 01:45 , Processed in 0.385849 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表