jansmolders86 / mediacenterjs Goto Github PK
View Code? Open in Web Editor NEWA HTML/CSS/Javascript (NodeJS) based Media center
Home Page: http://mediacenterjs.com
A HTML/CSS/Javascript (NodeJS) based Media center
Home Page: http://mediacenterjs.com
When I try to launch the server I get :
[18:05:10] admin:mediacenterjs git:(master) $ node server
Starting server
googlemusic:
GET /googlemusic/ -> index
hello-world:
GET /hello-world/ -> index
movies:
GET /movies/ -> index
GET /movies/:id/:optionalParam?/:action? -> get
music:
GET /music/ -> index
GET /music/:id/:optionalParam?/:action? -> get
nerdist:
GET /nerdist/ -> index
settings:
GET /settings/ -> index
tv:
GET /tv/ -> index
POST /tv/:id* -> post
weather:
GET /weather/ -> index
youtube:
GET /youtube/ -> index
First run, Setup running on localhost:3000
events.js:72
throw er; // Unhandled 'error' event
^
Error: spawn EACCES
at errnoException (child_process.js:980:11)
at Process.ChildProcess._handle.onexit (child_process.js:771:34)
Child process exited
I'm on OSX 10.8.4 and node v0.10.19
You are doing a great job ;)
Regards,
Alexandre
os dependent binaries should be removed from source code and must be listed as requirement - later include the os binaries in os dependent installer
Add option to edit / remove items from the front end
..unless you want git clone <this-repo>
to take forever && ever.
Better yet, remove it from the whole history of the project.
As seen here:
http://www.samdutton.com/pageVisibility/
A service needs to be written that basically does the same thing the core.js file does concerning the remote control. Only this time for the music app since it is written in Angular. Otherwise the remote as no notion of the elements generated by angular.
To import all the movies at once (especially a large collection) a shellscript or additional process should be written to get all the files/info at once and write them to the database.
I've tried playing video in multiple device browsers using chrome on my laptop and android, but they can't sync. Any realtime sync through browser like https://github.com/marstall/shim ?
regards, wahyu
The slashes of image url need to be forward slashes instead of backslashes.
Currently Chrome will auto-correct this problem, but Firefox and Chromium will not show the images.
Hi,
I catch this log during my movie path parsing :
frontendFriendlyUrl /data/movies/La Vengeance dans la peau//fHho6JYYY0nRcETWSoeI19iZsNF.jpg
It look likes a very tiny bug ;)
Do you want Knockout across the board? Or can one set contain Angular and other contain Knockout? Or maybe I could get it in Angular then port it when I have something working?
Subtitles need to be shown during playback. VideoJS supports subtitles so this shouldn't be too hard to add.
The validation messages in /app/settings/view/settings.jade and /views/setup.jade need to be added to the translation file so the messages can be show in the native language
it would be great to use real database, e.g. mongodb for store tracks and videos. I could give support / implementation if needed.. This allows much more possibilities for future development like searches / stored playlists etc...
Hey, tried to view the BigBuckBunny (http://www.bigbuckbunny.org) in MediacenterJS but the video quality is not very nice (used the 1920x1080 .avi).
As per my other Issue #42
Just did a clean install on Ubuntu 12.04 64Bit with node -v 0.10.22 and npm -v v1.3.14.
I have assigned my music path as follows
root@mcjs:~/mediacenterjs# cat configuration/config.ini | grep music
musicpath = /root/media/music/
I uploaded a .mp3 file to /root/media/music/
. Now when attempting to access http://localhost:3000/music/ the page renders properly, however the actual mp3 is never displayed. A small white box with a spinning/loading icon spins continuously while no errors are thrown from node.JS. Please see the attached screenshot.
There needs to be a check to see if a user is on OSX. If so, different binaries should be used.
Maybe instead of exporting various configurations in the index.js files, the apps should be build off express applications.
This would make routing, maintaining, etc of the apps a lot easier as they can implement custom middlewares, routes and so on.
These apps could be mounted under the foldername they resite in the bootstrapping process.
Create a new VideoJS theme that is better viewable on TV's. Especially from a distance,
Add global search functionality based on database entries.
Has this been updated at all?
https://trello.com/b/czjyYsFi/mediacenterjs
Seems like Youtube is still on todo so I'm not sure what is being worked on and what's completed.
Thanks!
Trying to run for the first time on Ubuntu 13.04. The server goes up and when I try to access the Movie Plugin it crashes. What should I do to make it work?
Logs below.
Starting server
connect.multipart() will be removed in connect 3.0
visit https://github.com/senchalabs/connect/wiki/Connect-3.0 for alternatives
connect.limit() will be removed in connect 3.0
googlemusic:
GET /googlemusic/ -> index
hello-world:
GET /hello-world/ -> index
movies:
GET /movies/ -> index
GET /movies/:id/:optionalParam?/:action? -> get
music:
GET /music/ -> index
GET /music/:id/:optionalParam?/:action? -> get
plugins:
GET /plugins/ -> index
GET /plugins/:id/:optionalParam?/:action? -> get
settings:
GET /settings/ -> index
tv:
GET /tv/ -> index
POST /tv/:id* -> post
weather:
GET /weather/ -> index
youtube:
GET /youtube/ -> index
MediacenterJS listening on port: 3000
Searching for Family Guy S11E01 in database
TypeError: Arguments to path.join must be strings
at path.js:360:15
at Array.filter (native)
at Object.exports.join (path.js:358:36)
at Object.exports.ensureCacheDirExists (/home/luiseduardo14/Projects/pessoal/mediacenterjs/lib/handlers/app-cache-handler.js:11:17)
at Object.exports.fetchMetadataForMovie (/home/luiseduardo14/Projects/pessoal/mediacenterjs/apps/movies/metadata-fetcher.js:26:20)
at Object.exports.handler (/home/luiseduardo14/Projects/pessoal/mediacenterjs/apps/movies/movie-functions.js:69:19)
at exports.get (/home/luiseduardo14/Projects/pessoal/mediacenterjs/apps/movies/index.js:58:15)
at callbacks (/home/luiseduardo14/Projects/pessoal/mediacenterjs/node_modules/express/lib/router/index.js:164:37)
at param (/home/luiseduardo14/Projects/pessoal/mediacenterjs/node_modules/express/lib/router/index.js:138:11)
at param (/home/luiseduardo14/Projects/pessoal/mediacenterjs/node_modules/express/lib/router/index.js:135:11)
Hi Jan,
glad that the streaming is working while transcoding. I was looking through some of your code and noticed
startMovieStreaming = function(response, movieUrl, opts) {
var outputPath = "./public/data/movies/output.mp4";
could I suggest naming the file the same as the session id? This would then enable multiple (distinct) sessions to the server with a file for each session (multi-user support). A cleanup job could then be ran to clear old and expired files.
Thanks,
Matthew
Using, https://github.com/keverw/diskspace.js, check the diskspace and if a certain quote is met, the oldest mp4 gets deleted.
Could chrome cast support be implemented into the server? It'd be great to have a node based media center app that could cast to the Chromecast.
I have some example code of on the fly transcoding of mkvs at maherbeg/mkvcast The settings I've chosen only work for h264 files, but it does mean there is no drop in video quality and not much CPU usage involved as well.
Currently for the initial setup it is required to give pathes for all types of medias (movies, music, tv shows, ...).
I think some, or maybe even all, of these options should be optional as not everyone is using mediacenters for e.g. listening to music. A hint could be displayed showing the user that every path can be configured afterwards too.
This way contributes can submit pull requests to update or extend the website.
I'm checking out the code on a fresh raring container and I receive the following error:
...
First run, Setup running on localhost:3000
events.js:72
throw er; // Unhandled 'error' event
^
Error: spawn ENOENT
at errnoException (child_process.js:980:11)
at Process.ChildProcess._handle.onexit (child_process.js:771:34)
I know it might be a little far thinking but I thought we should add a place to discuss DASH and its possible future in this great project.
Been looking around to see where it is coming from but no luck.
Starting server
googlemusic:
GET /googlemusic/ -> index
hello-world:
GET /hello-world/ -> index
movies:
GET /movies/ -> index
GET /movies/:id/:optionalParam?/:action? -> get
music:
GET /music/ -> index
GET /music/:id/:optionalParam?/:action? -> get
nerdist:
GET /nerdist/ -> index
settings:
GET /settings/ -> index
tv:
GET /tv/ -> index
POST /tv/:id* -> post
weather:
GET /weather/ -> index
youtube:
GET /youtube/ -> index
MediacenterJS listening on port: 3000
Error: near "-": syntax error
bye bye
Mac OSX 10.8 Node v0.10.15
Thanks
Enable the option to share playback state across devices so playback can be resumed from desktop to IOS device by the press of a button. To get this to work, video's need to be seekable on IOS and Android devices. Only then, the '-ss' functionality of FFMPEG can be used to resume playback on the desired position.
TODO's:
On pause/stop events of the client player, send a call to the backend and store the: "fileid, date, progress, deviceid" so playback can be resumed elsewhere
A user should be able to update MCJS from the client.
Due to the fact that midori or chromium use X to run, they are very slow on the Raspberry Pi. Even Luakit is way to slow for MediacenterJS to run.
We need to find a browser that runs directly on the framebuffer to improve performance but still maintain support for javascript and HTML5.
Using MongoDB with GridFS would allow all meta data, thumbnails, etc to be stored in a highly efficient manner. Also, trans coded video data could be stored and served as blobs and save memory.
http://learnmongo.com/posts/getting-started-with-mongodb-gridfs/
Add a tag for easy issues for people to fix to get there hands dirty in the project.
Save connected devices in database based on a device id containing devicename and IP address
As discussed in the npm plugin manger pull request there needs to be a remote control based on websockets that will hook on the current keyboard support.
Hey man its been a while since I have synced up or done a new NPM install.
In any case I just did a npm install mediacenterjs
and then node server
and I got this message. Any thoughts?
node server.js
Starting server
connect.multipart() will be removed in connect 3.0
visit https://github.com/senchalabs/connect/wiki/Connect-3.0 for alternatives
connect.limit() will be removed in connect 3.0
fs.js:821
return binding.chmod(pathModule._makeLong(path), modeNum(mode));
^
Error: ENOENT, no such file or directory './lib/database/mcjs.sqlite'
at Object.fs.chmodSync (fs.js:821:18)
at Object.<anonymous> (/home/motersho/tmp/node_modules/mediacenterjs/index.js:77:4)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:901:3
Child process exited
As stated in this issue:
fluent-ffmpeg/node-fluent-ffmpeg#154
I'm having trouble correctly pointing to the FFMPEG binaries.
Here is an issue where this has been accomplished:
fluent-ffmpeg/node-fluent-ffmpeg#129
This would make it a lot easier for people to run this application.
Just did a clean install on Ubuntu 12.04 64Bit with node -v 0.10.22 and npm -v v1.3.14.
I have also chmod -R 777 *
within the MediaCenterJS directory.
Launching the application via node server.js
results successfuly and the application starts/serves properly. Clicking the Movies icon results with the page partially loading and then throwing the following error:
info: socket.io started
MediacenterJS listening on port: 80
Screen ready...
Database error: Error: write EPIPE
Database error: Error: write EPIPE
events.js:72
throw er; // Unhandled 'error' event
^
Error: spawn ENOENT
at errnoException (child_process.js:980:11)
at Process.ChildProcess._handle.onexit (child_process.js:771:34)
Child process exited
When Semantic-UI reaches version 1.0 it needs to be implemented into MediacenterJS instead of the current custom elements/effect and jQuery UI or we decide to implement bootstrap instead.
In the music app when i want to play a song this result in a endless loading.
But it works great in Chrome.
First thing I did on my fork was change the code to use .json for the configuration.
What was the reason behind the change as noted here?
https://trello.com/c/RpLD9iYa/45-config-in-ini-file-instead-of-json
The Language-Field in Settings should be a dropdown list with all supported languages.
Also add a auto detection at setup and preselect the language of the user.
I decided to clone the repo and see how things are going as I noticed there have been a ton of commits while I've been working on the Youtube App.
Error:
Please create a resource file for your default locale: translation_en-US
The error is coming from setup.jade in the JS:
var userLang = navigator.language || navigator.userLanguage;
userLang.replace(/-.*/,'');
// This returns en-US instead of en
This causes the translation.json file to not be found because en-US does not match the translation_en.json filename.
To fix, consider replacing the these lines with something more durable or a better regex.
Edit: Looks to be an issue where the value is not being assigned to the new replaced regex.
This works for me:
userLang = userLang.replace(/-.*/,'');
Use http://omxplayer.sconde.net/ instead of FFMPEG to play movies on a Raspberry Pi
when I choose local ubuntu 12.10 sqlite3, there is an error :
Error: near "-": syntax error
Alternative themes need to be build and included.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.