Skip to content

mp3li/myY1videostudio

Repository files navigation

Version Status Development License Runs Designed for Output Type UI Built-In Built-In Built-In Built-In Includes

App Theme Preview GIF

Gif that cycles between the three color modes/settings profiles: dark mode, light mode, and cute mode.

myY1videostudio by mp3li

myY1videostudio is a local desktop video studio app for users of the Innioasis Y1 mp3 player.

  • Runs locally on your computer.
  • Does not use Wi-Fi.
  • In active development.

What This App Does:

  • Converts any video into the specific constraints the Y1 needs.
  • Supports applying your chosen settings in all tabs (video, audio, subtitles, metadata, save destination, and Y1 destination) either individually, to selected videos only, or to all videos.
  • Supports subtitle burn-in customization including font, size, color, outline, line spacing, and position, to not only enable subtitle use on the Y1 but also full customization of subtitles including accessibility options.
  • Includes metadata editing for Movie, Series, and Music Videos.
  • Can save outputs to your computer and/or send organized outputs to specifically selected Y1 folders, while device is connected to your computer.
  • Includes a Y1 preview area for thumbnail and subtitle preview.
    • Preview includes an automatically generated thumbnail for every video you input to be converted, and when you toggle-on the 'burn-in subtitles' option the preview uses the correct timestamp from the subtitle.
    • User can refresh the thumbnail image used in the preview in the Artwork tab inside the Metadata tab. Every time 'generate thumbnail' is clicked, the app randomly selects a new timestamp in the video and automatically applies the subtitle from that exact same timestamp to the preview, maintaining subtitle-accurate preview thumbnails (via simple python code).

What This Repo Contains:

Open What This Repo Contains
  • Link to Patreon post with download link to the compiled (double click to run) myY1videostudio app for Mac and Windows.
  • Link to Patreon post with download link to the source-available code, identical to the code in the compiled app.
  • Feature Implementation Document describing the entire start to finish creation and development of the app: every decision and why, and all technical obstacles faced along the way during app development and how they were solved.
  • This README with full documentation on how to download, open, and use myY1videostudio including complete button/screen area explanations.
  • A .txt file containing the hashes for the compiled apps and source-available version (also included in the how to verify downloads section).

Release Timeline (Beta and First Release):

Open Release Timeline (Beta and First Release)
  • This README.md is for the compiled beta release package.

  • This beta release is distributed as:

    • Runnable compiled build. You can open the app by double clicking it.
    • Source-available package for transparency/reference.
  • Access schedule:

    • Early Beta: The first 10 days of beta release were available to paid Patreon members only, and included documentation, a compiled (double-click to run) desktop app, and a source available package.
      • Note: Full documentation and app screenshots (not the app download) were made available for free members and on GitHub on day 1 of Early Beta, so everyone could get more information on what the app offers.
      • Early Beta ended one day early on March 22nd, 2026.
    • Extended Beta: Extended Beta began March 22nd, 2026. The same compiled build (double click to open, like standard apps) + source-available package + documentation is now available to both free and paid Patreon members for two weeks.
    • First Release: After two weeks of Extended Beta, the feedback window ends. No new features added - only bug fixes and polish. Then after an additional short period of time, app transitions to Version 1.0. Version 1.0 will be available to free and paid members.
  • This early access window existed to reward paid members and keep the first beta cohort smaller/curated; it was not intended as a permanent paywall.

  • In summary: Early Beta ran first for paid members, ended one day early on March 22nd, 2026, and Extended Beta began March 22nd, 2026. During Extended Beta, the compiled build and source-available package are available to both free and paid members for 2 weeks before moving into final stabilization and releasing as v1.0, which will be available to free and paid members.


Table of Contents:

Open Table of Contents

Requirements:

Open Requirements

What beginners should expect:

  • In this compiled beta release, requirements are bundled in the standard desktop-app way.
  • Most users do not need to install anything manually.
  • Double click the app to open it.

How this release is provided:

  • This app is distributed as a compiled desktop app package.
  • A source-available package is also provided for transparency/reference.
  • License and source-use terms are listed lower in this README under Source Availability.

Runtime requirements list:

  • Python 3
  • PySide6
  • ffmpeg
  • ffprobe

Beginner-friendly requirements download links (if needed):

Terminal requirements install instructions (only needed to run the source-available version):

macOS
  1. Install Python 3.10+:
    • brew install python
    • python3 --version
  2. Install PySide6:
    • python3 -m pip install --upgrade pip
    • python3 -m pip install PySide6
  3. Install ffmpeg + ffprobe:
    • brew install ffmpeg
Windows
  1. Install Python 3.10+:
    • winget install --id Python.Python.3.12 -e
    • py --version
  2. Install PySide6:
    • py -m pip install --upgrade pip
    • py -m pip install PySide6
  3. Install ffmpeg + ffprobe (using winget):
    • winget install Gyan.FFmpeg
  4. Confirm ffmpeg.exe and ffprobe.exe are available in your PATH.

Notes:

  • Conversion and processing run locally.
  • The app does not use Wi-Fi for processing.
  • Open mp3li Patreon and GitHub menu actions show popups with links to copy and paste and open in your browser yourself instead of opening links via the app.

How to Download, Open, and Use myY1videostudio:

How to Download myY1videostudio:

How to Open myY1videostudio:

  • Open/run the compiled app from that package by double clicking on it. That's it! That's how to run it.

How to Use myY1videostudio:

  • Follow the on-screen steps:
    • Step 1: select videos and subtitles
    • Step 2: configure settings in each tab
    • Step 3: preview
    • Step 4: convert and save to desktop and/or send to Y1

For detailed info on each app area/button, open the Full Feature List drop down below.


How to Run the Source-Available Version:

Open Run Instructions for Source-Available Version
  • Note: This method explains how to run the source-available version of myY1videostudio. Both versions are identical. The source-available version is provided for transparency and for tech-savvy users. If you want the beginner-friendly option, use the compiled version in How to Download, Open, and Use myY1videostudio.
  • Download the zip from this repo and extract it.
  • Download requirements using the Requirements section.
  • Open a terminal in the extracted project folder.
  • Run the app:
    • macOS:
      • python3 "Python Files/main.py"
    • Windows:
      • py "Python Files/main.py"

Full Feature List with App Screenshots:

Open Full Feature List with App Screenshots

Welcome Screen

myY1videostudio welcome screen.

Welcome Screen:

  • Intro summary of what the app does.
  • Explicit local-only messaging:
    • runs locally
    • does not use Wi-Fi
  • Settings Profile chooser on welcome screen.
    • Applies instantly, and users can create their own settings profiles/color modes in the Settings menu.
  • Start and Quit controls.

Video Tab

myY1videostudio user videos area.

User Videos Area:

  • Select video(s) and subtitle(s).
  • Remove selected video/subtitle rows.
  • Sort dropdown with:
    • A-Z
    • Z-A
    • Kind
    • Size (Largest)
    • Size (Smallest)
    • Date Added (Newest)
    • Date Added (Oldest)
    • Date Created (Newest)
    • Date Created (Oldest)
  • Table columns:
    • Filename
    • Subs
    • Kind
    • Size
  • Rename support via double-click on filename.
  • Multi-select support.

Video Tab

myY1videostudio video tab.

Video Tab:

  • Quality options:
    • 720p (device max)
    • 420p
    • 360p
  • Aspect options:
    • Keep original aspect ratios
    • Crop video(s) to Y1 aspect ratio
  • Apply to all video(s) toggle.
  • Portrait rotation option will be implemented in future updates, for portrait aspect ratio videos.

Audio Tab

myY1videostudio audio tab.

Audio Tab:

  • Volume slider from -100% to +100%.
  • Normalize audio toggle.
  • Bitrate selection.
  • Language stream selection.
  • Apply to all video(s) toggle.

Subtitles Tab

myY1videostudio subtitles tab.

Subtitles Tab:

  • Burn in subtitles toggle.
  • Subtitle source handling:
    • external SRT
    • embedded subtitle tracks
  • Language selection.
  • Font selection.
  • Text size control.
  • Font color picker.
  • Outline thickness control.
  • Outline color picker.
  • Line spacing control.
  • X/Y position controls.
  • Subtitle preview overlay in Y1 preview area.
  • Apply to all video(s) toggle.
  • Subtitle styling supports basic tag rendering in preview (<i>, <b>, <u>), meaning supporting italic, bold, and underlined words in subtitles.

Metadata Tabs GIF

Gif showing the metadata tabs in myY1videostudio.

Metadata Tab:

  • Media kind selector:
    • Movie
    • Series
    • Music Video
  • Movie fields:
    • Title
    • Director
    • Grouping
    • Genre
    • Year
    • Rating
    • Movie Order
  • Series fields:
    • Series Title
    • Episode Title
    • Season
    • Episode
    • Release Date
    • Grouping
    • Genre
    • Year
    • Rating
    • Season/Episode numbering
  • Music Video fields:
    • Song Name
    • Artist
    • Album
    • Release Date
    • Year
    • Genre
  • Artwork tools:
    • Add Artwork
    • Remove Artwork
    • Generate Thumbnail
      • Every time 'generate thumbnail' is clicked, the app randomly selects a new timestamp in the video and automatically applies the subtitle from that exact same timestamp to the preview, maintaining subtitle-accurate preview thumbnails (via simple python code).
  • Description field.
  • Apply to all video(s) toggle.

Save To Tab

myY1videostudio save to tab.

Save To Tab:

  • Save in chosen destination.
  • Save next to original video(s).
  • Select Save Destination button.
  • Apply to all video(s) toggle.

Send to Y1 Tab

myY1videostudio send to Y1 tab.

Send to Y1 Tab:

  • Send video(s) to your connected Y1.
  • Select save destination folder button.
  • Built-in myY1archive organization option for your Y1 Videos folder.
    • Movie outputs: Videos/movies (and optional grouping folder).
    • Series outputs: Videos/series/Series Title/Season N.
    • Music Video outputs: Videos/music videos/Artist (and optional album folder).
  • Select Videos folder button.
  • Apply to all video(s) toggle.

Various Previews GIF

Gif showing various preview views in myY1videostudio.

Y1 Preview Area:

  • Y1 screen framing.
  • Thumbnail preview automatically updates based on your choices in each tab.
  • Aspect/Y1 screen size-aware preview behavior.

Video Tab

myY1videostudio convert and status area.

Convert and Status Area:

  • Convert button.
  • Pause button.
    • Push convert button again to resume converting exactly where it paused.
    • The stop button completely stops the conversion. Starting again after stopping will begin the conversion from the start.
  • Stop button.
  • Progress bar.
  • Status bar with current operation details.
  • Editing status line for selected item context.

Settings GIF

Gif showing myY1videostudio settings system and modes.

Settings System and Modes:

  • Full settings dialog for settings profile or 'modes' customization and creation.
  • User-selectable app font from the app's internal font list.
    • The first option in both font dropdowns is Add a Font... for importing .ttf or .otf font files.
    • Imported fonts are added to both font dropdowns (Subtitles and Settings).
    • Includes Arial as the default subtitle font until the user selects another font.
    • Includes a font option for users with dyslexia.
    • Future updates will include (but are not limited to) additional settings profiles for colorblind individuals and other accessibility improvements.
  • Color pickers for:
    • Font color
    • Background color
    • Accent color
    • Highlight color
    • Button color
    • Button text color
    • Toggle selected color
  • Settings profile save/update behavior.
  • Profile persistence between launches.
  • Restore Defaults behavior.
  • Built-in modes/settings profiles:
    • Light Mode
    • Dark Mode
    • Cute Mode
    • Create your own in Settings
  • Welcome screen profile dropdown applies theme preview before main window.
  • Future update(s) will include the ability to choose the color of the Y1 in the preview. See Future Updates section for more information about future planned features.

Help and Menu Actions:

  • Help menu.
  • Settings menu.
  • How-to dialog.
  • Patreon and GitHub info actions with local popup copy/paste behavior.

Fonts:

Open Fonts
  • Either import your own font or use one of the included fonts.
  • Included fonts:
    • Nyght Serif
    • OpenDyslexic
      • Included for accessibility. OpenDyslexic is available for subtitle styling and can also be selected as an app UI font through Settings.
      • Copyright (c) 2019 Abbie Gonzalez
      • Website: https://www.abbiegonzalez.com/
      • Social: Mastodon
    • Arial
      • Default subtitle font
    • Additional bundled families
      • Includes additional bundled families/variants (such as Paysage and Tanklager families, plus Arial variants) from the local Fonts folder.

To add your own font(s):

  • In both font-selecting dropdowns (Subtitles tab and Settings window), the first option is Add a Font....
  • Click Add a Font... to open a file picker and import .ttf or .otf files.
  • Added fonts appear in both dropdown lists and are used the same way as built-in fonts.

Extended Beta Users — Reporting Bugs or Issues:

Extended Beta Users — Reporting Bugs or Issues

This beta release is stable and fully functional. It has been tested across a wide range of common workflows and edge cases before release.

However, since it is a beta release, unexpected issues may occasionally appear depending on system setups or unusual file combinations.

During the 9 days of Early Beta, no bugs or issues were reported. The only fix that needs to be done is changing 420p to the originally intended 480p on the Video tab, which will be implemented for v1.

If you encounter a bug or something that doesn’t behave correctly, please report it using one of the following options:

  • Patreon message (paid members only — free members cannot send direct messages)
  • TikTok DM
  • Comment on the Patreon download post
  • Open a GitHub issue in this repository

Future Updates:

Future updates will include but are not limited to:

  • The ability in Settings to pick your Y1 device color for preview
  • A color-blind color mode/settings profile
  • Portrait/mobile auto-rotate video workflow support
  • Expanded myY1archive utilities and metadata helpers
  • Additional ongoing improvements and feature expansions

Development Notes:

Open Development Notes

Development Status:

  • This app is in active development.
  • Features, controls, and UI behavior will continue to evolve.

Development & Testing Environment:

This beta release was developed on macOS and has been tested natively on macOS, and Windows 11 using Parallels. Most edge-case testing was done using macOS.


Source Availability:

  • This project is source-available for transparency and learning.
  • You can review the code to understand what the app does and does not do.
  • In the compiled beta release channel, the source-available package is provided for reference and transparency.
  • This project is not open source.
  • Source-visible does not grant permission to copy, reuse, redistribute, sublicense, rehost, modify, or create derivative works from any part of this project.
  • No commercial or non-commercial reuse is permitted without explicit prior written permission from mp3li. Contact mp3li via official channels for license agreement inquiries.
  • This restriction applies to code, UI files, design assets, branding, documentation, and bundled project materials.

Technical Specs and How to Verify your Download:

Open Technical Specs and How to Verify your Download
  • Language: Python 3

  • GUI framework: PySide6 (Qt)

  • UI implementation workflow: Qt Designer .ui files loaded by the Python app runtime

  • Total UI files in this project: 4

    • UI Files/WelcomeScreen.ui
    • UI Files/DashboardScreen.ui
    • UI Files/SettingsPopUp.ui
    • UI Files/HowtoUse.ui
  • Media tooling: ffmpeg and ffprobe

  • Development effort (estimated):

    • Code implementation: approximately 100+ hours over 2+ months
    • UI/UX design and iteration in .ui files: at least 90 hours (separately from code implementation)
  • Preview image and design rights:

    • The custom Y1 preview image asset included in this project was created by mp3li and remains copyrighted by mp3li.
    • The asset is an original design overlay and does not transfer any ownership rights to the underlying physical device depicted/referenced.
    • The preview image asset may not be copied, reused, redistributed, or repurposed in any project without explicit written permission from mp3li.
  • Pre-compiled builds are included in this repository. The following documents how those builds were produced:

    • Mac builds were packaged locally using PyInstaller.
    • Windows builds were generated using GitHub Actions CI.
    • Windows CI build (windows-latest) uses --onefile --windowed, includes the app icon, and bundles UI Files, Fonts, and bin/windows using --add-data.
    • CI workflow file: .github/workflows/build.yml
    • Builds are triggered manually via workflow_dispatch from the GitHub Actions tab.
    • CI environment uses Python 3.10 and installs dependencies from requirements.txt.
    • Completed builds were uploaded as artifacts (dist-windows) and downloaded from the workflow run.

Verify your Download (Beginner-Friendly):

  • A SHA-256 hash is a long text-and-number code (digital fingerprint) for one exact file.
  • If two files have the same SHA-256 hash, they are the exact same file.
  • If the hash is different, the file changed, was corrupted, or is not the same release file.

How to verify your download:

  • Each compiled beta release package and source-available package includes a hash text file: SHA256SUMS.txt.
  • After you unzip the release, open SHA256SUMS.txt and find the hash for the file you downloaded. The hashes are also included below.
  • Generate the hash for your downloaded file on your own computer (steps on how to do this below)
  • Compare your generated hash to the hash listed in SHA256SUMS.txt.
  • If they match exactly (character-for-character), your file is the same file and has not been changed.

How to Generate a Hash for your Download (Option A - Beginners):

  • Windows (PowerShell GUI route):
    • Open File Explorer and go to the folder with your downloaded file.
    • Hold Shift and right-click in that folder, then choose Open PowerShell window here.
    • Run: Get-FileHash "myY1videostudio-win.zip" -Algorithm SHA256
    • Copy the hash shown and compare it to SHA256SUMS.txt.
  • macOS (Finder + Terminal app):
    • Open the Terminal app from Applications.
    • Drag your downloaded file into the Terminal window after typing shasum -a 256 .
    • Press Enter and compare the result to SHA256SUMS.txt.

How to Generate a Hash for your Download (Option B):

  • macOS:
    • shasum -a 256 myY1videostudio-win.zip
  • Windows:
    • certutil -hashfile "myY1videostudio-win.zip" SHA256

Plain-language example:

  • For example, if the hash inside of SHA256SUMS.txt is 8f3a...
  • And the hash generated for the download on your computer is also 8f3a...
  • Then the file is valid and unchanged because both hash matched.
  • If the hashes are the same = file is valid and unchanged.
  • If the hashes are different = delete it, re-download it, and do not run it yet.

Hashes:

  • macOS zip: 6bd8a0182ffad6781cdbbe1d6fac3602a9f5bf43231f4e0968d2f7a3586412ca
  • Windows zip: f402d2277138f58966876ead0b59f2b27a0c47ca13e6507fbef4b0e8ac2e40e4
  • macOS compiled app: b6bfcc5d3b18cf7cff7a6b0e229c4b6c6936f546ec5ee07e2b593b0d997b9926
  • Windows compiled app: 144423f61f20f69a1774d9c1f53625d14c6e0fb3c31afad97edba621592860be
  • Source-available version zip: 113d4b373d59fe82a431b5a16fa1c1e877e1c75b0d943b6ad6eb936afb0f9ffa

Thank you all for being here and for supporting my work.

About

Desktop application specifically made for converting videos for use with the Innioasis Y1 mp3 player. Includes video settings, audio settings, metadata settings, burn-in subtitle settings, thumbnail generating, save to computer and send to Y1 features. 100% offline and local. Currently in Extended Beta release.

Topics

Resources

License

Stars

Watchers

Forks

Contributors