criticalfault / HomeFlix

An at home video streaming webserver built with Node.js and Express. Giving you full control of your media!
MIT License
8 stars 4 forks source link

Add video player functionality for AVI #5

Open criticalfault opened 5 years ago

criticalfault commented 5 years ago

Right now we can only play MP4s. Lets see if someone can help us add AVI Support!

zpeters commented 5 years ago

I did some research and it looks like the video tag doesn't support avi. https://stackoverflow.com/questions/4129674/does-html5-video-playback-support-the-avi-format

So i'm guessing you'd either have to find some way to transcode on the fly (or in a separate batch job). Or another option might be to have a separate plugin to play avi?

criticalfault commented 5 years ago

I was figuring the plugin method to be honest. Whatever we can do, i'm very much still learning how video interacts with all of this. So far that MP4 worked like a charm. Everything else, not so much. What would you recommend?

zpeters commented 5 years ago

I think if you are doing this as just a fun personal project, finding some sort of plugin that can decode avi would be nice. If you are thinking more long term i would split this into a backend and frontend. That would set you up for a lot of things. The backend could handle all of the metadata, scanning for files, database and transcoding. You could transcode to mp4 and this will help keep your frontend simple.

Your call. i'd be happy to help in either direction.

criticalfault commented 5 years ago

I would be very much interested in seeing how far we could go with this. It mostly just turned into something a bit bigger than i had thought because so many were interested and we wanted to make something fun for Hacktoberfest. I'm still pretty new into the JS scene. Any and all recommendations to make this into something amazing will be met with incredible enthusiasm!

Splitting this into two parts would just be making a bit fancier views then? Making the back end actually transcode our media would be unbelievably cool!

criticalfault commented 5 years ago

Turns out Handbreak(https://www.npmjs.com/package/handbrake-js) is available for node. So we could very easily add a converter for files to be added into the 'library' for your transcoding idea. Which is freaking sweet!