All Projects → dplesca → go-omxremote

dplesca / go-omxremote

Licence: MIT license
browser based omxplayer remote

Programming Languages

Svelte
593 projects
go
31211 projects - #10 most used programming language
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to go-omxremote

microsocial
Microsocial is an experimental social platform that takes a peer-to-peer approach to social media.
Stars: ✭ 21 (+31.25%)
Mutual labels:  svelte, tailwindcss
Sapper Firebase Typescript Graphql Tailwindcss Actions Template
A template that includes Sapper for Svelte, Firebase functions and hosting, TypeScript and TypeGraphQL, Tailwind CSS, ESLint, and automatic building and deployment with GitHub Actions
Stars: ✭ 111 (+593.75%)
Mutual labels:  svelte, tailwindcss
Sapper Template Firebase
Starter Rollup template for Sapper apps with Firebase functions based on https://github.com/nhristov/sapper-template-rollup.
Stars: ✭ 29 (+81.25%)
Mutual labels:  svelte, tailwindcss
sapper-template-rollup
Starter Rollup template for Sapper apps using postcss, cssnano, tailwindcss, and svelte-preprocess.
Stars: ✭ 32 (+100%)
Mutual labels:  svelte, tailwindcss
kickstart
Ruby on Rails application templates
Stars: ✭ 61 (+281.25%)
Mutual labels:  svelte, tailwindcss
Sapper Ecommerce
Svelte ecommerce - Headless, Authentication, Cart & Checkout, TailwindCSS, Server Rendered, Proxy + API Integrated, Animations, Stores, Lazy Loading, Loading Indicators, Carousel, Instant Search, Faceted Filters, 1 command deploy to production, Open Source, MIT license. Join us as contributor ([email protected])
Stars: ✭ 289 (+1706.25%)
Mutual labels:  svelte, tailwindcss
Windicss
Next generation utility-first CSS framework.
Stars: ✭ 1,355 (+8368.75%)
Mutual labels:  svelte, tailwindcss
EddieHubCommunity.github.io
Information about our community
Stars: ✭ 88 (+450%)
Mutual labels:  svelte, tailwindcss
Figmatocode
Generate responsive pages and apps on HTML, Tailwind, Flutter and SwiftUI.
Stars: ✭ 2,299 (+14268.75%)
Mutual labels:  svelte, tailwindcss
Notus Svelte
Notus Svelte: Free Tailwind CSS UI Kit and Admin
Stars: ✭ 144 (+800%)
Mutual labels:  svelte, tailwindcss
sapper-postcss-template
A template that includes Sapper for Svelte and PostCSS preprocessing with Tailwind CSS
Stars: ✭ 84 (+425%)
Mutual labels:  svelte, tailwindcss
miceditor
Miceditor: Transformice map editor
Stars: ✭ 14 (-12.5%)
Mutual labels:  svelte, tailwindcss
markushatvan.com
Personal website and blog written from scratch with SvelteKit and TailwindCSS.
Stars: ✭ 82 (+412.5%)
Mutual labels:  svelte, tailwindcss
Smelte
UI framework with material components built with Svelte and Tailwind CSS
Stars: ✭ 871 (+5343.75%)
Mutual labels:  svelte, tailwindcss
citycatch
CityCatch is a variation of "Word chain" game, made on Svelte+Effector+Tailwind
Stars: ✭ 29 (+81.25%)
Mutual labels:  svelte, tailwindcss
Pingcrm Svelte
🦊 Ping CRM Svelte - A demo app to illustrate how Inertia.js works with Laravel and Svelte (hosted on a heroku free dyno).
Stars: ✭ 74 (+362.5%)
Mutual labels:  svelte, tailwindcss
sveltober
Cybernetically enhanced October applications
Stars: ✭ 19 (+18.75%)
Mutual labels:  svelte, tailwindcss
memento-svelte-electron-typescript
Template to create a desktop app with Svelte, TailwindCSS, Electron and TypeScript (with electron-updater, electron-reload and electron-builder)
Stars: ✭ 27 (+68.75%)
Mutual labels:  svelte, tailwindcss
Eleventy Starter
ARCHIVED: An Eleventy starting point with Tailwind and Svelte preconfigured.
Stars: ✭ 118 (+637.5%)
Mutual labels:  svelte, tailwindcss
Svelte Storybook Tailwind
A starter template for Svelte, TailwindCSS and Storybook. You can easily start your project with this template, instead of wasting time figuring out configurations for each integration.
Stars: ✭ 204 (+1175%)
Mutual labels:  svelte, tailwindcss

go-omxremote

Control raspberry pi omxplayer from the browser (including mobile browsers). It has absolutely zero dependencies. To install just download the latest release and run it. For help run it with the -h flag. Example usage (you can of course add it in your path and run it as a systemd service, unit file example below):

./go-omxremote -bind :some-port -media path/to/video/files

Command flags:

-bind string
    Address to bind on. If this value has a colon, as in ":8000" or
            "127.0.0.1:9001", it will be treated as a TCP address.
            (default ":31415")
-media string
    path to look for videos in (default ".")

-omx string
    omx options (default "-o hdmi")

The project is geared towards mobile usage, the interface has been tested on both Android and iOS devices. This project is intended to be used with local files only, to add YouTube playback functionality please check out this fork.

Exposed HTTP API

This application exposes a simple, minimal HTTP API for interfacing with the player. The exposed endpoints are:

  • GET /files - get all video files as an array of objects with two fields: file, hash; example response:
[{"file":"test.avi","hash":"dGVzdC5hdmk="},{"file":"test.mp4","hash":"dGVzdC5tcDQ="}]
  • POST /start/:hash - starts playback for a video file
  • POST /player/pause - toggles pause/play for video playback
  • POST /player/stop - stops playback
  • POST /player/forward - seeks forward in video
  • POST /player/backward - seeks backward in video
  • POST /player/subs - switches subs stream

One important note is that the start call does not return until the playback is stopped, so your request will probably time out.

Example systemd unit file

A minimal systemd unit file. It makes go-omxremote a service so you can control it between sessions and/or don't need a tmux/screen to keep it open.

[Unit]
Description="omxremote go web service"

[Service]
User=pi
Group=pi
Restart=on-failure
ExecStart=/usr/local/bin/go-omxremote -media /path/to/media/files
WorkingDirectory=/home/pi

[Install]
WantedBy=multi-user.target

Modify it

  • Clone repo
  • npm install
  • npm run build (after some changes have been made to front-end files)
  • regenerate assets file using esc: esc -o assets.go -prefix="dist" dist views
  • build again: go build

Credits

It's written in go, uses httprouter as a router and esc to generate and embed assets in go source files. The front-end is written in svelte, the style uses tailwind.

Screenshot

Android

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].