{"id":27957443,"url":"https://github.com/cleverdevil/squishy","last_synced_at":"2025-05-07T18:13:01.806Z","repository":{"id":291491526,"uuid":"977786634","full_name":"cleverdevil/squishy","owner":"cleverdevil","description":"Transcode content from your Jellyfin or Plex Media Server libraries. Dead simple hardware accelerated transcoding without the fuss.","archived":false,"fork":false,"pushed_at":"2025-05-06T19:25:31.000Z","size":17268,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-07T18:12:57.219Z","etag":null,"topics":["ffmpeg","jellyfin","plex","plex-media-server","transcoding"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cleverdevil.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-05T00:30:02.000Z","updated_at":"2025-05-06T00:19:05.000Z","dependencies_parsed_at":"2025-05-05T01:30:36.720Z","dependency_job_id":"802646e5-b6eb-4d2e-aa34-bbbc9c3e52e2","html_url":"https://github.com/cleverdevil/squishy","commit_stats":null,"previous_names":["cleverdevil/squishy"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cleverdevil%2Fsquishy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cleverdevil%2Fsquishy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cleverdevil%2Fsquishy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cleverdevil%2Fsquishy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cleverdevil","download_url":"https://codeload.github.com/cleverdevil/squishy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252931554,"owners_count":21827112,"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":["ffmpeg","jellyfin","plex","plex-media-server","transcoding"],"created_at":"2025-05-07T18:13:00.917Z","updated_at":"2025-05-07T18:13:01.799Z","avatar_url":"https://github.com/cleverdevil.png","language":"Python","readme":"\u003ccenter\u003e\u003cimg src=\"https://raw.githubusercontent.com/cleverdevil/squishy/main/squishy/static/img/splash.png\"\u003e\u003c/center\u003e\n\n# Squishy: Media Transcoding Made Simple\n\nDigital packrats often have media libraries that are filled with high resolution\nmovies and TV shows. When you are watching on the big screen in your home\ntheater, you want the best possible quality in the form of Bluray rips and\nremuxes. That quality comes at a cost -- file size. 4K HDR remuxes are generally\nin the 30-100 GB range. When traveling, downloading media to your phone with\nsuch files results in long downloads and limited storage space. Enter Squishy,\nwhich makes transcoding and downloading your media simple by automating the\non-demand transcoding process, compressing your large media files to much more\nreasonable sizes for watching movies and TV shows on smaller devices like phones\nand tablets.\n\n## Features\n\nSquishy has a focused set of features designed to make the process of selecting,\ntranscoding, and downloading your media as frictionless as possible:\n\n* Attractive web interface to browse your media and transcoded files, including\n  poster art.\n* Integration with Jellyfin and Plex media servers to quickly add your media\n  library to Squishy.\n* Flexible transcoding presets, giving you the ability to optimize for your use\n  case. Presets define a target resolution, codec, and quality. Squishy comes\n  with default presets, along with additional preset libraries for different\n  tradeoffs.\n* Customize and create your own presets to let you dial-in your personal preferences by\n  selecting custom resolutions, bitrates, and codecs.\n* Hardware acceleration support with automatic failover to software encoding when\n  hardware acceleration fails.\n* Direct download links for your transcoded media that work with any browser or\n  media player app.\n\n## Installation\n\nSquishy can be run manually from source, but the recommended installation method\nis to run Squishy as a Docker Container. The repository includes a\n`docker-compose.yml` file for your convenience.\n\n### Running with Docker\n\n1. Clone this repository:\n```bash\ngit clone https://github.com/cleverdevil/squishy.git\ncd squishy\n```\n2. Modify docker-compose.yml:\n   - Uncomment and edit the media path volume mounts in both Squishy and Jellyfin/Plex services\n   - Uncomment the appropriate GPU/hardware acceleration settings if needed\n   - Choose either Jellyfin or Plex (comment out the one you don't use)\n\n3. Start the containers:\n```bash\ndocker compose up --build\n```\n\n4. Access Squishy:\n\nOpen your browser and navigate to `http://your-host:5101`. Squishy will guide\nyou through the rest of the setup process!\n\n### Hardware Acceleration\n\nSquishy currently supports VA-API for hardware accelerated transcoding. Support\nfor other acceleration methods could be added if there is a strong demand from\nusers.\n\nUnder the hood, Squishy uses an embedded project called `effeffmpeg`, which\nhandles all of the transcoding and interfacing with ffmpeg. More detail is\navailable in the [effeffmpeg README.md](https://github.com/cleverdevil/squishy/blob/main/squishy/effeffmpeg/README.md) in the source tree.\n","funding_links":[],"categories":["👾 Other"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcleverdevil%2Fsquishy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcleverdevil%2Fsquishy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcleverdevil%2Fsquishy/lists"}