{"id":50148609,"url":"https://github.com/marm00/cinema","last_synced_at":"2026-05-24T07:02:22.045Z","repository":{"id":278962918,"uuid":"937273798","full_name":"marm00/cinema","owner":"marm00","description":"🎥 Command line multiviewer","archived":false,"fork":false,"pushed_at":"2026-05-16T13:15:42.000Z","size":2212,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-05-16T15:28:24.665Z","etag":null,"topics":["c","chatterino","cinema","media","mpv","multiviewer","repl","twitch"],"latest_commit_sha":null,"homepage":"","language":"C","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/marm00.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-22T18:40:03.000Z","updated_at":"2026-05-16T13:15:46.000Z","dependencies_parsed_at":"2026-01-29T15:16:53.526Z","dependency_job_id":null,"html_url":"https://github.com/marm00/cinema","commit_stats":null,"previous_names":["marm00/cinema"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/marm00/cinema","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marm00%2Fcinema","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marm00%2Fcinema/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marm00%2Fcinema/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marm00%2Fcinema/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marm00","download_url":"https://codeload.github.com/marm00/cinema/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marm00%2Fcinema/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33424573,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T22:14:44.296Z","status":"online","status_checked_at":"2026-05-24T02:00:06.296Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["c","chatterino","cinema","media","mpv","multiviewer","repl","twitch"],"created_at":"2026-05-24T07:02:18.552Z","updated_at":"2026-05-24T07:02:22.032Z","avatar_url":"https://github.com/marm00.png","language":"C","funding_links":[],"categories":["Entertainment"],"sub_categories":["Video"],"readme":"\u003c!-- markdownlint-configure-file {\n  \"MD013\": {\n    \"code_blocks\": false,\n  },\n  \"MD013\": false,\n  \"MD033\": false,\n  \"MD041\": false,\n} --\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n# Cinema\n\nCinema is a customizable multiviewer for Twitch streams and other media.\n\nDefine your own layouts and startup behavior, watch many videos at once, and filter media with autocompleted commands.\n\n[Features](#features) •\n[Quick start](#quick-start) •\n[Using Cinema](#using-cinema) •\n[Compilation](#compilation) •\n[Contributing](#contributing)\n\n[![C][c-badge]][c]\n[![Release][release-badge]][releases]\n[![License][license-badge]][license]\n\n[c-badge]: https://img.shields.io/badge/builtwith-C11-00599C?logo=C\u0026logoColor=white\u0026style=flat-square\n[c]: https://www.c-language.org/\n\n[release-badge]: https://img.shields.io/github/v/release/marm00/cinema?logo=github\u0026logoColor=white\u0026style=flat-square\u0026color=44BB00\n[releases]: https://github.com/marm00/cinema/releases\n\n[license-badge]: https://img.shields.io/github/license/marm00/cinema?logo=MIT\u0026logoColor=white\u0026style=flat-square\u0026color=DD4343\n[license]: ./LICENSE\n\n\u003c/div\u003e\n\n![Demo gif using Cinema to change layouts and shuffle media](./cinema.webp)\n\n## Features\n\n* Multiviewer for [mpv](https://github.com/mpv-player/mpv/)-supported media, including Twitch streams.\n* Save and load custom layouts (including [Chatterino](https://chatterino.com/)).\n* Instantly search across your files or use tags to group media.\n* Macros to do everything at once, optionally on startup.\n\n## Quick start\n\nFollow these steps to get started:\n\n1. Make sure you have installed [mpv](https://mpv.io/installation/), [yt-dlp](https://github.com/yt-dlp/yt-dlp/releases/latest) for streams, [Chatterino](https://chatterino.com/#downloads) for chat.\n2. [Download the latest release](https://github.com/marm00/cinema/releases) for Windows or Linux on the GitHub releases page.\n3. Run Cinema by double-clicking or from the command line.\n4. Type `help` for a list of commands or simply `enter` to shuffle.\n\n## Using Cinema\n\n```sh\n\u003e layout 4            # play media on a 2x2 grid with Chatterino\n\u003e 2 twitch \u003cchannel\u003e  # stream twitch \u003cchannel\u003e on screen 2\n\u003e 1 3 search \u003cterm\u003e   # play media matching \u003cterm\u003e on screens 1 and 3\n\u003e tag \u003cname\u003e          # play media grouped by tag \u003cname\u003e on all screens\n\n\u003e l 3                 # commands have autocomplete: layout 3\n\u003e shuffle             # play the next file in tag/search/global\n\u003e autoplay 30         # play a new file every 30 seconds\n\u003e macro \u003cname\u003e        # process commands defined in macro one by one\n\n\u003e                     # empty commands default to shuffle\n```\n\nSee the full [list of commands](./commands.md) for more information.\n\nYour settings are stored in [cinema.conf](./cinema.conf) with `[media]` tables for your library, `[layout]` for custom layouts, and `[macro]` for command combinations. The default config ships with various layouts and a startup macro to watch streams with chat, alongside a short tutorial.\n\n```ini\n[media]\ntags        = space\nurls        = https://twitch.tv/NASA\ndirectories = D:\\rockets, ~/planets/big\n\n[layout]\nname   = my grid\nscreen = 50%x100%+0+0, 50%x100%+100%+0\n```\n\nYou have 2 options to create or change custom layouts. The first is to run `extra` to add screens, resize and move them (do the same with `chat`), and run `store \u003cname\u003e`. The second is to open cinema.conf, find or add the layout, and manually set the expected fields (name, screen, chat).\n\nMacros can be defined in cinema.conf, all that's needed is a name and the commands you want to run. You can use `startup = yes` to make it run when launching Cinema, and/or run it via the command `macro \u003cname\u003e`. Fully supported by autocomplete.\n\n```ini\n[macro]\nname    = popular twitch streams\nstartup = yes\ncommand = layout 4, tag most popular\ncommand = 2 3 4 mute\n```\n\nIf you're on a single-monitor setup and/or your console gets pushed below mpv, try setting it to be 'always on top' or modify the ['ontop'](https://mpv.io/manual/stable/#options-ontop) setting in mpv.conf.\n\n## Compilation\n\nTo build Cinema from source on Windows, run: `.\\build.bat`\n\nOn Linux, run: `./build.sh`\n\nOn MacOS, please consider making a PR. Some functions are maybe not posix-compliant.\n\n**Windows:** Make sure you have installed [Build Tools for Visual Studio](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2026) (select 'Desktop development with C++' when prompted) and [LLVM](https://github.com/llvm/llvm-project/releases/latest) (recommend 'add to PATH' option). The [RAD Debugger](https://github.com/EpicGamesExt/raddebugger) is recommended for development.\n\nIt builds in debug mode with openmp enabled by default. For the release version, run `build release`. To disable openmp, run `build nomp`. To enable address sanitizer, run `build asan`. Specify the log level with `build log_[X]` where [X] is one of *trace*, *debug* (default for debug builds), *info*, *warning* (default for release builds), *error*, descending in frequency.\n\n## Contributing\n\nPull requests and issues are always welcome. Please read [CONTRIBUTING.md](./CONTRIBUTING.md) to contribute and visit the [issue tracker](https://github.com/marm00/cinema/issues) here on GitHub to submit a bug report or request a feature.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarm00%2Fcinema","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarm00%2Fcinema","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarm00%2Fcinema/lists"}