Skip to content

I-love-study/py-rotaeno-stablizer-gui

Repository files navigation

PY ROTAENO Stablizer GUI

Rotaeno 录屏稳定器

Support Python Version

特点

  1. 使用 ffmpeg 作为视频编解码器,可以选择多个编码器选择(包括显卡编码)
  2. 使用 PIPE 作连接,尽量减少中间文件的存储
  3. 能尽量使用多核性能
  4. 采用平滑曲线,让输出更加稳定

界面

interface

Encoder Info:

  • Encoder: 选择编码器
  • Bitrate: 码率
  • FPS: 视频码率(0表示程序自动选择)

Codec check: 输入想要的视频编码,回车后获取 ffmpeg 中有的视频编/解码

输出视频效果展示

在这里以 今天不是明天 (作曲 PIKASONIC feat. 兰音Reine)为例

Tip

封面图像可以从 Rotaeno 中文维基 获取

Important

因为图片采用了 AVIF 格式,可能部分浏览器无法显示

操作 语法 效果
默认效果 -
normal
添加音乐封面 -bg / --background-path
with_background
不进行自动裁切 --no-auto-crop
no_auto_crop
不进行圆形裁切 --no-circle-crop
no_circle_crop
不输出正方形版本 --no-display-all
no_display_all

TO-DO-LIST

  • 帧处理
  • SMA 平滑曲线
  • 视频处理
  • 编解码器详细设置
  • 配置文件
  • 多线程处理 cv2.warpAffine 已是多线程
  • 环状频谱图(低优先级)
  • 命令行调用
  • GUI~~(或 TUI)~~界面

安装

直接下载

Important

因为 libx264libx265 要求 GPL-3.0 协议,而本仓库为 LGPL-3.0
所以 Release 中的 with-ffmpeg 将使用 LGPL-3.0 协议的 ffmpeg
(即不包括 libx264, libx265

请从 Github Action 下载最新版本

命令行

Important

请确保你安装了 Git, pythonffmpeg,且将其放置在环境变量中

git clone https://github.com/I-love-study/py-rotaeno-stablizer-gui.git
cd py-rotaeno-stablizer-gui
pip install -r requirements.txt

使用方法

要求先要启动 v2 直播录像

命令行办法(推荐)

# 下载的可执行文件
./rotaeno_stablizer [options] input_video.mp4
# 下载的 Python 文件
python -m rotaeno_stablizer [options] input_video.mp4

./rotaeno_stablizer input_video.mp4 -o ouput_video.mp4
./rotaeno_stablizer -bg Songs_cover.png input_video.mp4

或者直接双击或 python -m rotaeno_stablizer,将会得到以下文字

请输入原始文件:
输出文件: test_out.mp4
请选择直播模式版本 [1/2] (2):
是否自动裁切成16:9 ([y]/n) :
是否使用圆形切环 ([y]/n) :
是否输出正方形版本 ([y]/n) :
是否自动裁切成16:9 ([y]/n) :
是否需要背景图片 ([y]/n) :
请输入背景图片路径: 请输入平滑参数: (3):
请输入输出视频高度(0 为系统自动选择) (0):
请选择输出视频编码器 (hevc_nvenc):
请选择输出视频比特率 (8m): 

Help Usage

PY Rotaeno Stablizer: https://github.com/I-love-study/py-rotaeno-stablizer-gui

Usage: __main__.py [-h] [-o OUTPUT_VIDEO] [--rotation-version ROTATION_VERSION] [-bg BACKGROUND] [--auto-crop | --no-auto-crop] [--circle-crop | --no-circle-crop]
                   [--display-all | --no-display-all] [--height HEIGHT] [--window-size WINDOW_SIZE] [-c CODEC] [-b BITRATE]
                   [input_video]

Rotaeno

Positional Arguments:
  input_video

Options:
  -h, --help            帮助 (默认为 False)
  -o, --output-video OUTPUT_VIDEO
  --rotation-version ROTATION_VERSION
                        直播模式版本 (默认为 2)
  -bg, --background BACKGROUND
                        歌曲封面照片路径 (默认为 None)
  --auto-crop, --no-auto-crop
                        将原视频裁切(不是拉伸)到16:9 (默认为 True)
  --circle-crop, --no-circle-crop
                        使用圆形切环 (默认为 True)
  --display-all, --no-display-all
                        输出正方形版本 (默认为 True)
  --height HEIGHT       输出视频高度 (默认为 0)
  --window-size WINDOW_SIZE
                        平滑参数(参数越高越平滑) (默认为 3)
  -c, --codec CODEC     输出视频所使用的编码器 (默认为 hevc_nvenc)
  -b, --bitrate BITRATE
                        输出视频码率(不包含音频) (默认为 8m)

相关项目

Lawrenceeeeeeee/python_rotaeno_stabilizer

linnaea/obs-rotaeno-stablizer

About

制作易用的 Rotaeno 稳定工具

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages