-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make Zencoder optional #72
Comments
It would indeed be nice to decouple Pageflow from the concrete encoding solution used and we had some internal discussions how such an abstraction could look like. Most likely this would involve developing (or finding) a gem that provides a facade in front of different encoding services (zencoder/transloadit/encoding.com/local ffmpeg). Parts of that could probably be extracted from Pageflow itself. Still, pursuing this road is currently not a priority for our own usage of Pageflow since we are quite happy with having Zencoder deal with all the gory details of file encoding. But if anybody would like to step up and push things forward, we'd be glad to give pointers. |
tf, as i told you by Twitter, we are interested in using Pageflow without Zencoder. I know you plan to generate an abstract layer to generalize it but my idea is to just fork and "replace" all the essential functionaly that requires Zencoder with code for using ffmpeg or other solution. If the application is good enough structured maybe i can implement that kind of abstract layer to make independent the video_encoder. What is the basic functionality (first, to be able to display videos from a video server, second, and i don't really know if that is going to be a requirement, to be able to upload the videos). I have experience (and we are using):
|
Forking might not even be necessary. Video encoding is handled by two Resque jobs called By default these jobs are intended to control an asynchronous encoding process. But for your experiment the submit job could just as well block until all encoding is done, turning the poll job into a no-op which simply reports the encoding to be finished. Both jobs are passed either a
Letting Finally you could even opt out of S3 storage by changing Still, please keep in mind, that patching Pageflow like that means using private interfaces which are not guaranteed to stay around in future versions. All in all, I'd prefer this process to forking though, which might quickly leave you with an obsolete snapshot of the codebase. |
Thank you very much for the information. I have already setup correctly the s3 connection (for uploading photos) and i am going to use the information you provided. I saw that you were using an interface (ZencoderApi). Could i implement another one? I think i am currently using Pageflow 0.3.0 with rails 4.0.4 , can i update to the latest version without any problems or is there any kind of incompatibility (i am using Ubuntu 12.04, ruby 1.9.3p0 ). This is my gemfile:
|
You could indeed provide an alternative implementation of the Still, in theory, I agree that replacing Zencoder with a custom component that supports the same interface would be ideal for Pageflow. I'm not sure though if that is a realistic goal to shoot for. Updating to |
There are so many open source tools like ffmpeg, why do we have to rely on a paid external service? Feature request: Make Zencoder optional in favor of a built in transcoding engine.
The text was updated successfully, but these errors were encountered: