streamaserver / streama

Self hosted streaming media server. https://docs.streama-project.com/
MIT License
9.65k stars 986 forks source link

Port to NodeJS? #20

Open dularion opened 9 years ago

dularion commented 9 years ago

Is there general interest for something like this?

yusijs commented 9 years ago

Im sure it is, and dont rush it - I'm just excited for the nodejs branch, and the fact that you can get a lot more developers that are able to help out. I started looking at writing a branch myself, but don't see the point when there are several others in the works :-)

p.s: Was meant to be a questionmark in my last post, writing on mobile is hard :<

dularion commented 9 years ago

@tegon, how did you plan on handling authentication in your repo? I looked at your code now and didn't see an implementation of that.

tegon commented 9 years ago

@dularion I have created a police with passport, but i haven't pushed yet. The only part missing is authorization with roles. As soon as i get home i'll push my progress

dularion commented 9 years ago

ok, im working on authentication too, and was thinking about not using passport, but instead using the sails.js session & policy way, described in one of their tutorials. Will be interesting to compare later!

tegon commented 9 years ago

Just pushed, I did the authentication with passport you can access the current user in req.user. I was thinking to create sails policy to handle the authorization with roles, but unfortunately I couldn't stay much time in this project lately, hope I'll get back to that soon

dularion commented 9 years ago

Thats great! I actually pushed my branch today, too. I took some of your models, I liked the way you implemented many-to-one. I also copied your code for inheritance, although I am thinking about merging movies and episodes into one larger video-model. I will keep on thinking about that, though. My version contains authentication based on sails.js sessions and policies for the roles, all that works already. I also implemented theMovieDb and all it's API calls, so that is working smoothly. Now I am working on bootstrapping some values and later (hopefully tomorrow) I will implement the CRUD for the different content. Thanks for your hard work on your branch! It helped me get off the ground more quickly :)

aksalj commented 9 years ago

@dularion Are you accepting PRs in the streama-node branch? My nodejs fork is fully functional. However, it does not use sailsjs; I used express and mongodb instead. But I kept the front-end mostly unchanged and tracking your master branch.

dularion commented 9 years ago

oh wow, that is pretty awesome, that you have a fully functional version. But as I am using sails, maybe it is not a good idea to pull your changes into that branch, but instead create a different one? What are your thoughts?

aksalj commented 9 years ago

Yeah it's probably best to keep them separate.

yusijs commented 9 years ago

Aksalj, having tons of issues in your repo (unmet dependencies). Can't submit issues there, but yeah.. :)

yusijs commented 9 years ago

Last one is ./stringify.

aksalj commented 9 years ago

@yusiswtor You can now open issues on my repo :wink:

tegon commented 9 years ago

@dularion Glad to know that I could help! When you start to open issues for the node port, I'll be back to help as soon as I can. This project is awesome :grinning:

dularion commented 9 years ago

Glad to hear it!

fb13 commented 9 years ago

Why not directly go on with an oauth-server (and client) so the user later on will be able to authenticate via g+, facebook, twitter and whatever or of course authenticate only by e-mail or password.

This way the architecture is even more loosely coupled and the server does not have to maintain sessions.

When implementing a completely loosely coupled architecture you will be able to bring up a native ios, android or even smart tv app in the future which is definitely possible for this kind of project.

dularion commented 9 years ago

Hmmm, the issues pointed out here are really problematic: https://www.reddit.com/r/programming/comments/3jw7fm/dont_use_sails_or_waterline/

This will definitely influence this port. I will stop my current work on the branch until I find out more about the issues in the post.

yusijs commented 9 years ago

You could pull @aksalj's fork, as it doesnt use sails?

gkiko commented 8 years ago

@dularion any progress on NodeJs port?

I desire contributing to your project. But at first I have to learn Grails 2. At this point I wonder why don't you port the app to Grails 3?

Razzile commented 8 years ago

how's nodejs progress going? I've been really excited about a nodejs port for streama so I can ditch plex 😁

dantheman213 commented 8 years ago

Why ditch Plex? It is a better option for the foreseeable future.

Razzile commented 8 years ago

I feel plex is just too corporate and limiting if you don't pay. As much as i respect plex from a software standpoint, I do want to see something open source like streama do well

stramel commented 8 years ago

@dantheman213 Plex stores information on their servers regarding your media library and in their ToS states that they will comply with the government if asked to. Running something like Streama can keep your data to yourself.

I have ran Plex and Emby. Although would like to give Streama a shot sometime soon.

Ivshti commented 8 years ago

@Razzile more reasonable question though - why do you need a nodejs port in order to ditch plex for streama?

yusijs commented 8 years ago

I'd say there isnt a good replacement for Plex atm, that lets you play your media outside your home. Unless I'm mistaken?

Den man. 18. apr. 2016, 15:49 skrev Ivo Georgiev notifications@github.com:

@Razzile https://github.com/Razzile more reasonable question though - why do you need a nodejs port in order to ditch plex for streama?

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/dularion/streama/issues/20#issuecomment-211388488

stramel commented 8 years ago

@yusijs really the only thing that you need to do to play outside your home is the correct ports opened and your public IP.

Plex simplifies this by storing your public IP and other media information on their servers.

dantheman213 commented 8 years ago

It's not really a big deal. Even worst case scenario Plex got raided they don't have proof you did anything wrong. You're allowed to share your personal media however you want. As long as your Plex URL isn't public for anyone to grab it I can't really see how you could be easily convicted of anything even if Plex did go down. Besides for $5/mo you really can't go wrong. Plex is a world apart from Streama. This project just got a bunch of stars because it was on the front page for a day. Before that this project didn't have any serious development or direction so there's no way an open source project like this has superseded a product like Plex.

On 4/18/16 6:41 AM, Michael Stramel wrote:

@dantheman213 https://github.com/dantheman213 Plex stores information on their servers regarding your media library and in their ToS states that they will comply with the government if asked to. Running something like Streama can keep your data to yourself.

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/dularion/streama/issues/20#issuecomment-211383485

Razzile commented 8 years ago

@Ivshti i'm quite a fanboy of nodejs. But i don't know anything about Java (or whatever streama currently runs on). If it was in nodejs I could make local additions easier and things like that

dularion commented 8 years ago

I agree with all of you! It would be much easier to customize things if it ran in nodejs, but unfortunately I am working on bugfixes/features on the current version, and have a full time job and a baby, so I can't spend any extra time on the nodejs port right now. I was really enthusiastic and it started out great when I found sails.js but then I ran into some major issues with that framework and thus had to stop my work. I was still hoping that other people maybe want to contribute :) @dantheman213 I agree that Plex, being a project with multiple developers, financial backing and a lot more time in the business is much better than streama in pretty much every way. However, I think it is sad that you think, that this project got the stars without deserving them. If I misunderstood you, I'm sorry, but I think this project got the stars because people liked what they saw, thought it was a good idea, thought it was well executed and actually have forked it and have it running.

dularion commented 8 years ago

What do you mean about the lack of direction btw? It's all about video streaming last I checked. Pretty clear direction if you ask me.

dularion commented 8 years ago

I think the programming language behind the project has nothing to do with the conceptual direction of a project. The programming language is just the skeleton, its the rest that makes the application what it is to the users. The optimizations etc are lacking features, not lacking directions. But anyway. If you want to discuss this further we can take it in a separate issue thread :)

Ivshti commented 8 years ago

That's MAY be a good point about react native.

Let me elaborate

Yes, it's a bit more abstract library, which allows stuff like going native on android and etc. You can obviously, with good design, easily switch through React/React Native for HTML support as well.

However, don't you think that the world is obviously going towards an html5 direction? Yes, it would take time to completely rival native platforms on mobile devices, but it's getting there.

admwx7 commented 8 years ago

The world is going to html5 all browsers are moving to support it. Also react and react native use different elements, so you can't use one code repo and create a native app and web app.

I'm using emby and I have stream support outside of my local network with login via profiles.

On Mon, Apr 18, 2016, 11:31 AM Ivo Georgiev notifications@github.com wrote:

That's MAY be a good point about react native.

Let me elaborate

Yes, it's a bit more abstract library, which allows stuff like going native on android and etc. You can obviously, with good design, easily switch through React/React Native for HTML support as well.

However, don't you think that the world is obviously going towards an html5 direction? Yes, it would take time to completely rival native platforms on mobile devices, but it's getting there.

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/dularion/streama/issues/20#issuecomment-211459819

varunchopra commented 7 years ago

Any chance this is happening anytime soon?

Razzile commented 7 years ago

the node branch disappeared so I guess not 😟

dularion commented 7 years ago

Well the thing is, that I started the port with sailsJs, which at the time just wasn't ready so I aborted. At the moment I am not focusing on the port, but I appreciate any and all contributions on the matter!

varunchopra commented 7 years ago

10/10 would contribute once ported.

kerberjg commented 5 years ago

This is definitely intriguing. I'd love to contribute to the port project @dularion, in fact I'm working on a Node framework that might just be the right fit for this project.

It is also TypeScript based, so existing Java contributors would find it slightly less uncomfortable rather than transitioning to JS.

Please let me know if there might be interest in continuing this!

sylflo commented 5 years ago

Is this still of actuality or no ? Since the project is already well developed and the issue seems stale. Wouldn't it be better to close it ?