Skip to content

Eldon27232/VRCaster

Repository files navigation

VRCaster

把视频一键压制成 VRChat 兼容格式并上传到自己的服务器,产出可直接播放的带 key URL。

特性

  • VRChat 兼容预设(锁死):H.264 main / 无 B 帧 / yuv420p / faststart / AAC 立体声
  • HDR → SDR:自动检测 HDR10/HLG,tonemap(hable / mobius / reinhard)
  • 分辨率 720p / 1080p / 1440p / 4K(上限档,保宽高比、不上采样);目标大小反算码率 或 CRF 质量档(带码率封顶)
  • 字幕:内嵌文本轨硬编 / 外挂 .ass·.srt / 内嵌字体自动提取(位图字幕明确提示不支持)
  • 音轨选择 + 降混立体声(码率可调);可选响度标准化(loudnorm -16 LUFS)
  • 样片标定:试压中间一段,反推全片大小 / 码率 / 耗时(多文件可并发试压)
  • 完整 ffmpeg 进度:帧 / fps / 码率 / 已编码时间 / 速度 / ETA
  • 成品自检:压完自动校验无 B 帧 / faststart / 时长,异常在日志面板告警
  • Quest 双版本(可选):一次任务同时产出 PC 版 + Quest 友好版(≤1080p·CRF26),两个独立 URL
  • 批量队列:流水线 / 并发压制+顺序上传 / 全并发;整队一键停止
  • 压制 停止 / 暂停 / 继续
  • SFTP 断点续传(断线自动重试)+ nginx key 鉴权一键部署;URL 中文文件名自动编码
  • 每片独立随机 key(可选):每次上传自动生成并登记到服务器 keys 清单,互不影响
  • 上传完成 URL 直接显示在卡片和历史记录;历史里可一键删除远程文件(输入 DELETE 确认,连同该片 key 一并收回)
  • 历史页一键查询服务器剩余空间
  • 凭据存系统密钥环;多服务器 profile;配置导出导入
  • 成品输出到 源目录/outs/

技术栈

Tauri 2 + Svelte 4 + TypeScript;ffmpeg(优先用系统 PATH,找不到才下载)。

开发

npm install
npm run tauri dev      # 开发
npm run tauri build    # 打包

需要 Rust、Node、以及 Windows 上的 MSVC 构建工具。

说明

  • ffmpeg/ffprobe 优先使用系统 PATH 中已安装的版本,缺失时才下载。
  • 服务器密码 / 私钥口令存于操作系统凭据管理器,不入库、不随配置导出
  • 当前面向 Windows;Tauri 跨平台,后续可扩展。

About

把视频一键压制成 VRChat 兼容格式并上传到自己的服务器,产出带 key 鉴权的播放 URL(Tauri + Svelte)

Resources

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors