{"id":15498964,"url":"https://github.com/jumplink/mediacenter","last_synced_at":"2025-10-04T12:41:01.028Z","repository":{"id":146879257,"uuid":"20916766","full_name":"JumpLink/mediacenter","owner":"JumpLink","description":null,"archived":false,"fork":false,"pushed_at":"2014-07-07T10:56:14.000Z","size":1788,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-28T17:27:16.585Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/JumpLink.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}},"created_at":"2014-06-17T08:57:27.000Z","updated_at":"2019-08-13T06:14:03.000Z","dependencies_parsed_at":"2023-03-25T13:57:56.576Z","dependency_job_id":null,"html_url":"https://github.com/JumpLink/mediacenter","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/JumpLink/mediacenter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JumpLink%2Fmediacenter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JumpLink%2Fmediacenter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JumpLink%2Fmediacenter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JumpLink%2Fmediacenter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JumpLink","download_url":"https://codeload.github.com/JumpLink/mediacenter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JumpLink%2Fmediacenter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278315190,"owners_count":25966774,"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","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"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":[],"created_at":"2024-10-02T08:49:09.270Z","updated_at":"2025-10-04T12:41:00.987Z","avatar_url":"https://github.com/JumpLink.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Benthe's MediaCenter\n\nA MediaCenter controlled from your smartphone tested on Ubuntu / Raspbian (Raspberry Pi) and developed as a birthday gift for Benthe ;)\n\n![Screenshot](https://raw.githubusercontent.com/JumpLink/mediacenter/master/screenshots.png \"Screenshot\")\n\n# Technical Background\n\nThis project it written in Javascript using [Node.js](http://nodejs.org/) and [Sails.js](http://sailsjs.org/) (a realtime MVC Framework for Node.js). To play media files it is using [OMXPlayer](http://omxplayer.sconde.net/) (on Raspian) or [ffplay](https://www.ffmpeg.org/ffplay.html) (on Ubuntu).\n\n# Install\n\n## Dependencies\n\n### [Node.js](http://nodejs.org/)\n\n* On Ubuntu:\n```sudo apt-get install nodejs```\n* On Raspbian follow [this instructions](https://learn.adafruit.com/raspberry-pi-hosting-node-red/setting-up-node-dot-js).\n\n### [Bower](http://bower.io/) to install cliend site dependencies\n```sudo npm install -g bower```\n\n### [Forever](https://github.com/nodejitsu/forever) for run the mediacenter as daemon\n```sudo npm install forever -g```\n\n### [Unclutter](http://manpages.ubuntu.com/manpages/trusty/man1/unclutter.1.html) for hide the mouse if unused\n```sudo apt-get install unclutter```\n\n### Ffmpeg for media file parsing and ffplay for play audio/video files\n\n```\nsudo apt-get install ffmpeg\n```\n\n* If you can't find this package on Ubuntu use [this ppa](https://launchpad.net/~jon-severinsson/+archive/ffmpeg):\n```\nsudo apt-add-repository ppa:jon-severinsson/ffmpeg\nsudo apt-get update\nsudo apt-get install ffmpeg\n```\n\n### [Ubuntu font](http://packages.ubuntu.com/en/trusty/all/ttf-ubuntu-font-family/download)\n\n* On Ubuntu:\n```\nsudo apt-get install ttf-ubuntu-font-family\n```\n* On Raspbian:\n```\nwget http://de.archive.ubuntu.com/ubuntu/pool/main/u/ubuntu-font-family-sources/ttf-ubuntu-font-family_0.80-0ubuntu6_all.deb\nsudo dpkg -i ttf-ubuntu-font-family_*.deb\n```\n\n## Build the mediacenter itself\n* Clone this repo and change directory:\n```\ngit clone git@github.com:JumpLink/mediacenter.git\ncd mediacenter/src\n```\n* Install server side dependencies:\n```npm install```\n* Install client side dependencies:\n```bower install```\n\n## Configure\n* Get movie database keys on\n * TMDb Key: https://www.themoviedb.org/documentation/api\n * TVDB Key: http://thetvdb.com/?tab=apiregister\n* Copy the config/local.js.example to config/local.js and modify to insert the keys:\n```\ncp config/local.js.example config/local.js\n[your favourite editor] config/local.js\n```\n\n## Try to start\n* Be sure to be in mediacenter/src and run:\n```node mediacenter.js```\n* Scan the QR-Code or type the Address in your Browser\n\n## Setup Raspberry Pi with Raspbian (optional)\n* Install [Raspbian](http://www.raspbian.org/)\n* Set start LXDE on boot\n* Setup WiFi/Ethernet\n* Set pcmanf to automount devices and but not show them on mount.\n* Setup autostart\n* Modify ```/etc/xdg/lxsession/LXDE/autostart``` to\n```\n# show all gui apps on mediacenter\nexport DISPLAY=:0.0\n#@lxpanel --profile LXDE\n# we need pcmanfm for automount devices\n@pcmanfm --desktop --profile LXDE\n# turn off the screen saver\n#@xscreensaver -no-splash\n@xset s off\n# disable the power management using dpms to power the monitor down\n@xset -dpms\n# turn off blanking\n@xset s noblank\n# hide the mouse if unused\n@unclutter\n# remove old logs\n@forever cleanlogs\n# start mediacenter\n@sh -c 'cd /home/pi/mediacenter/src \u0026\u0026 forever start -l mediacenter.log mediacenter.js'\n```\n\n# Control\n* Restart mediacenter: ```forever restart -l mediacenter.log mediacenter.js```\n* Stop mediacenter: ```forever stop mediacenter.js```\n* Start mediacenter: ```cd /home/pi/mediacenter/src \u0026\u0026 forever start -l mediacenter.log mediacenter.js```\n* Print logs\n```\nforever logs\n```\nOutput:\n```\ninfo:    Logs for running Forever processes\ndata:        script         logfile                    \ndata:    [0] mediacenter.js /home/pi/.forever/mediacenter.log\n```\n```\nforever logs 0\n```\nOutput:\n```\n[...]\ndata:    mediacenter.js:3601 -    Sails              \u003c|\ndata:    mediacenter.js:3601 -    v0.10.0-rc8         |\\\ndata:    mediacenter.js:3601 -                       /|.\\\ndata:    mediacenter.js:3601 -                      / || \\\ndata:    mediacenter.js:3601 -                    ,'  |'  \\\ndata:    mediacenter.js:3601 -                 .-'.-==|/_--'\ndata:    mediacenter.js:3601 -                 `--'-------' \ndata:    mediacenter.js:3601 -    __---___--___---___--___---___--___\ndata:    mediacenter.js:3601 -  ____---___--___---___--___---___--___-__\ndata:    mediacenter.js:3601 - Server lifted in `/home/pi/mediacenter/src`\ndata:    mediacenter.js:3601 - To see your app, visit http://localhost:1337\ndata:    mediacenter.js:3601 - To shut down Sails, press \u003cCTRL\u003e + C at any time.\n[...]\n```\n\n## Links\n* [Build your own Google TV Using RaspberryPi, NodeJS and Socket.io](http://blog.donaldderek.com/2013/06/build-your-own-google-tv-using-raspberrypi-nodejs-and-socket-io/)\n* [Designing For TV](https://developers.google.com/tv/web/docs/design_for_tv)\n* [Setting up Node.js](http://blog.blakesimpson.co.uk/read/41-install-node-js-on-debian-wheezy)\n* [Boot your Raspberry Pi into a fullscreen browser kiosk](http://blogs.wcode.org/2013/09/howto-boot-your-raspberry-pi-into-a-fullscreen-browser-kiosk/)\n* [Raspberry Pi als Kiosk mit resourcenschonendem Browser und VESA Mount](http://repat.de/2013/03/raspberry-pi-als-kiosk-mit-resourcenschonendem-browser-und-vesa-mount/)\n* [restart networking](http://codeghar.wordpress.com/2011/07/18/debian-running-etcinit-dnetworking-restart-is-deprecated-because-it-may-not-enable-again-some-interfaces/)\n* [Sails.js](http://sailsjs.org)\n* [52 movies APIs](http://www.programmableweb.com/news/52-movies-apis-rovi-rotten-tomatoes-and-internet-video-archive/2013/01/22)\n* Similar Projects\n * [PiR.tv](https://github.com/DonaldDerek/PiR.tv)\n * [angular-rpitv](https://github.com/viperfx/angular-rpitv)\n * [ludovision](https://github.com/lamberta/ludovision)\n\n## Bugs\n * https://github.com/mscdex/mmmagic/issues/24\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjumplink%2Fmediacenter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjumplink%2Fmediacenter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjumplink%2Fmediacenter/lists"}