{"id":13494036,"url":"https://github.com/TNTwise/Rife-ESRGAN-App-Linux","last_synced_at":"2025-03-28T13:31:50.552Z","repository":{"id":62772742,"uuid":"397628011","full_name":"TNTwise/Rife-ESRGAN-App-Linux","owner":"TNTwise","description":"A simple GUI for Rife Vulkan on Linux.","archived":true,"fork":false,"pushed_at":"2023-06-26T03:43:02.000Z","size":522122,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-08-01T19:48:40.740Z","etag":null,"topics":[],"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/TNTwise.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}},"created_at":"2021-08-18T14:22:22.000Z","updated_at":"2024-01-12T18:22:03.000Z","dependencies_parsed_at":"2023-02-15T14:46:07.152Z","dependency_job_id":null,"html_url":"https://github.com/TNTwise/Rife-ESRGAN-App-Linux","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TNTwise%2FRife-ESRGAN-App-Linux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TNTwise%2FRife-ESRGAN-App-Linux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TNTwise%2FRife-ESRGAN-App-Linux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TNTwise%2FRife-ESRGAN-App-Linux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TNTwise","download_url":"https://codeload.github.com/TNTwise/Rife-ESRGAN-App-Linux/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222382379,"owners_count":16975376,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-07-31T19:01:21.106Z","updated_at":"2024-10-31T08:31:37.584Z","avatar_url":"https://github.com/TNTwise.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# NOTICE: This repo is being moved to https://github.com/TNTwise/Rife-ESRGAN-App-Linux-QT, This repo will be archived.\n\n\n\u003cp align=center\u003e\n  \u003cimg src=\"https://github.com/TNTwise/Rife-Vulkan-GUI-Linux/blob/main/icons/icon-256x256.png\" width = \"25%\"\u003e\n\u003c/p\u003e\n\n## A simple GUI for Frame Interpolation and Upscaling on Linux\nThis project aims to accomplish a simple frame interpolation experience on linux, while also using open technologies that rely on Vulkan to allow for seemless compatibility with a wide range of hardware. \u003cbr/\u003e\n#\nrife-ncnn-vulkan: https://github.com/nihui/rife-ncnn-vulkan\u003cbr/\u003e\nReal-ESRGAN-ncnn-vulkan: https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan\u003cbr /\u003e\n#\n[Dependencies](https://github.com/TNTwise/Rife-ESRGAN-App-Linux#dependencies)\u003cbr /\u003e\n[Building](https://github.com/TNTwise/Rife-ESRGAN-App-Linux/#building)\u003cbr/\u003e\n[Errors](https://github.com/TNTwise/Rife-ESRGAN-App-Linux/#errors)\u003cbr/\u003e\n[TODO](https://github.com/TNTwise/Rife-ESRGAN-App-Linux/#todo)\u003cbr/\u003e\n\n## Dependencies: \nOpenCV \u003cbr /\u003e\nTkinter\u003cbr /\u003e\nXterm \u003cbr /\u003e\n```\nTo run this program, you can just click on \"Start\".\n```\nThere is a new install.sh script in the install directory that you can run that will install it to your system. \u003cbr /\u003e\nYou can either search for Rife in your destop enfironment, or can run rife-gui from your terminal. \u003cbr /\u003e\nThis install method will copy everything to the home folder, and execute from there. \u003cbr /\u003e\n\n## Installing Dependencies \u003cbr /\u003e\n\nOn Ubuntu \u003cbr /\u003e\n```\nsudo apt install python3-opencv ffmpeg python3-tk konsole libavfilter-dev libavfilter8 libswscale-dev python3-pil.imagetk \n```\nOn Arch/Arch based Distros \u003cbr /\u003e\n```\nsudo pacman -S tk opencv konsole ffmpeg python-pip wget\n```\nOn SteamOS/Steam Deck \u003cbr /\u003e\n```\nRun \"Start\"\n```\nAs of latest SteamOs 3.4, it does not error out when launching it from \"Start\". \u003cbr /\u003e\n\n## Building\nInstall needed dependencies\n```\nyay -S pyinstaller\n```\nrun GUI.py at least once to install PIP dependencies\n```\nmake\n```\n# Compile Appimage\n```\ngit clone https://github.com/TNTwise/Rife-ESRGAN-App-AppImage.git\n```\nreplace GUIPortable.temp with the compiled GUIPortable\u003cbr/\u003e\n```\nchmod +x Rife-ESRGAN-App.AppDir/AppRun\nappimagetool Rife-ESRGAN-App.AppDir \n```\n\n## Errors\nvkQueueSubmit failed and vkAllocateMemory failed happens when there isn't enough VRAM for the current frame. \n```\nLower the system load if you see these errors or if the output video is corrupted.\n```\nIf RealESRGAN does not seem to be working, or Rife is slow, make sure you have the vulkan package installed based on your hardware.\u003cbr/\u003e\nFor example:\u003cbr /\u003e\nIntel:\n```\nsudo pacman -S vulkan-intel\n```\nAMD:\n```\nsudo pacman -S vulkan-radeon\n```\nNVIDIA:\n```\nsudo pacman -S nvidia-utils\n```\n\n## TODO\n### Before all this, The next release will use QT instead of Tkinter. I will also split GUI.py into multiple, easier to manage scripts. The code which this app is based on is bad, so I will attempt to re-write most of it. \nMaybe add a chooser for which modules to install?? \u003cbr /\u003e\nadd pop up when closing app to ask to kill rife/realesrgan or not \u003cbr /\u003e\nadd fullscreen button for preview\u003cbr /\u003e\nautomatic detection of max usage per system, do this by having a test video render at 1080p, 4k, and 8k and detect the max settings the system can run without erroring out with a not enough vram error.\nmake anime progress bar dynamic, have the first section be the fps out of the fps + 30.\nfix missing riff tag when using anything other than png, try converting the frames to webp using ffmpeg \u003cbr /\u003e\nHave animeintterpolation interpolate regularly until the last iteration and then lower to 30 and interpolate.\nmake an option that allows for changing of extracted image type.\u003cbr /\u003e\nFix issue where output video errors out if codec is not right, even if filename is .mp4\u003cbr/\u003e\nAdd CLI support for basic interpolation. \u003cbr/\u003e\nFor next release, add advanced settings tab. \u003cbr /\u003e\nAdd support for changing between yuv420p yuv422p yuv244p rgb24 pix_fmt \u003cbr /\u003e\nAdd automatic conversion to supported format\u003cbr/\u003e\nMaybe add a message to ask if user wants to save last output files if greater than 2x interpolation.\nAdd a try except function for reading settings \u003cbr /\u003e\nAdd a function that deletes already processced files (check if file num x 2 exists in output_folder)\nFix CPU + GPU combo not working with realsrgan \u003cbr /\u003e\nAdd shutdown when done\u003cbr /\u003e\nDisable tabs when on a certain upscale mode\u003cbr /\u003e\nAdd realesrgan support to upscale video resolution, make app more general purpose\u003cbr /\u003e\nSet up queue system \u003cbr /\u003e\nAdd scalability to GUI\u003cbr /\u003e\nfix brogressbar not showing somtimes when animation profile is selected. \u003cbr /\u003e\nUse less temp files \u003cbr /\u003e\nCheck if done file exists, and if not, throw error \u003cbr /\u003e\nAdd in built terminal \u003cbr /\u003e\nAdd stop button for interpolation \u003cbr /\u003e\nMake portable installer, that is just one file to install the program \u003cbr /\u003e\nRemodel the entire GUI \u003cbr /\u003e\nFix start executable not working on SteamOS\u003cbr /\u003e\nAdd more models, add drop downs for selecting different rife variations (cuda, vulkan, standard) add DAIN and CAIN too. \u003cbr /\u003e\nAdd selector for default directory to process frames, this could help people with low disk space. \u003cbr /\u003e\nMake rife version and interpolation multiplier dropdown menus \u003cbr /\u003e\nMake settings menu a tab instead of a window \u003cbr /\u003e\nAdd ETA for video interpolation \u003cbr /\u003e\nToggle between stable and testing branch (Dropdown Menu) \u003cbr /\u003e\nAdd suspend/resume feature \u003cbr /\u003e\nAdd uninstall button \u003cbr /\u003e\nSupport Dain Vulkan \u003cbr /\u003e\nClean up files \u003cbr /\u003e\nAdd progressbar for update (Note: Will have to make update function run in a new thread to have progressbar update.) \u003cbr /\u003e\nFix pop up showing wrong password, even when password is right (only happens if window is re-launched from install button.) \u003cbr /\u003e\nClean up GUI, Maybe switch to .pack instead of .grid? \u003cbr /\u003e\nAdd a default rife version selector. \u003cbr /\u003e\nAdd a default interpolation option selector \u003cbr /\u003e\nAdd longer dependencies section. \u003cbr /\u003e\nShow errors on GUI itself, so i can remove the xterm dependency. \u003cbr /\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTNTwise%2FRife-ESRGAN-App-Linux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTNTwise%2FRife-ESRGAN-App-Linux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTNTwise%2FRife-ESRGAN-App-Linux/lists"}