FineUploader / video-frame-uploader

Drop a video and upload frames of your choosing and/or automatically parse & upload frames from the video to easily tell a story.
MIT License
24 stars 16 forks source link

can it be used for video transcoding or compression on client side? #1

Open siddo420 opened 8 years ago

siddo420 commented 8 years ago

Does fine uploader or video frame uploader plugin have support for video transcoding and compression on the client side?

rnicholus commented 8 years ago

Interesting thought, but this is definitely not supported nor is it a goal. That would require either coding an ffmpeg-like library in JS, or converting the existing ffmpeg binary to JS using something like emscripten. Either way, the library would be huge, and I suspect perf would be awful compared to the same task performed server side. This sounds like a job better left up to the server.

Vide Frame Uploader is just a mesh of Fine Uploader and frame-grab.js. For the video-specific features, check out frame grab's repo.

siddo420 commented 8 years ago

There already is a project that does that https://bgrins.github.io/videoconverter.js/ (not sure if https://github.com/antimatter15/whammy might be related or not)

However, you're right its pretty big but video files are not small either.

rnicholus commented 8 years ago

The size library's size is a big factor that influences page load. The size of the video is not a factor in this regard since the video would be supplied at runtime from the user's file system. The library you have linked to, videoconverter.js, is an emscripten port of ffmpeg. I think it might be interesting to do this browser side, but maybe not practical. Still, it's something to think about, and perhaps I will investigate a demo that ties Fine Uploader and ffmpeg.js together and see where that leads.

siddo420 commented 8 years ago

I agree with you 100%. But, there may be use cases where such libraries/plugins are only loaded when needed. For example, the user specifically chooses to trim the video in order to be able to upload a big file then the plugin would be downloaded at that time only. This feature could also be selectively offered to desktop users with high bandwidth.

Also, it could be used in Cordova applications where there is no need to download a file from the server and everything is already available on the local filesystem.

In addition to that, some SPAs (Gmail, Hotmail/Outlook come to mind) that download all files beforehand then load the application., so load time is not as critical as other regular websites/blogs etc

rnicholus commented 8 years ago

Yes definitely something to think about, but performance is likely to be another bottleneck. Transcoding videos in the browser will likely be unrelastic in all but the most powerful machines. Also, a js version of ffmpeg is going to be considerably less efficient than the original binary.

I really would like to put something together with Fine Uploader though. I think it could be an entertainment integration, if nothing more.

On May 8, 2016 at 10:55:50 AM, siddo420 (notifications@github.com) wrote:

I agree with you 100%. But, there may be use cases where such libraries/plugins are only loaded when needed. For example, the user specifically chooses to trim the video in order to be able to upload a big file then the plugin would be downloaded at that time only. This feature could also be selectively offered to desktop users with high bandwidth.

Also, it could be used in Cordova applications where there is no need to download a file from the server and everything is already available on the local filesystem.

In addition to that, some SPAs (Gmail, Hotmail/Outlook come to mind) that download all files beforehand then load the application., so load time is not as critical as other regular websites/blogs etc

— You are receiving this because you modified the open/close state. Reply to this email directly or view it on GitHub https://github.com/FineUploader/video-frame-uploader/issues/1#issuecomment-217729191