SimpleVideo module
Recently, we had to develop a module allowing to integrate with FileField and implement video transcoding and generating of video thumbnails. We wanted a very flexible Drupal-way module. So, basing on ImageField, we developed similar module for video.
Module consists of three parts: core, UI and integration with Cron. Core module implements main functionality, UI module provides with user interface for module configuring and Cron module allows to perform video processing (transcoding) on schedule.
Architecture and principles of operation of SimpleVideo module and ImageField are rather like. Our module allows to specify rules of video processing - presets. They look like ImageField presets. Currently, there are only two types of actions: video transcoding and thumbnail generating. Now it's restricted to have more than one action for a preset, but in future we plan to extend this functionality.
Also, module allows to create formatters. Each formatter corresponds to certain flash player with the path to its SWF player. During the creation of such a formatter, it's possible to specify flash variables and parameters for player in accordance to its specification. To set the path to SWF file or its thumbnail, it's necessary to specify previously created preset via tokens. This way, you inherits formatters' entire flexibility and handy integration with many modules (like Views).
Video transcoding and thumbnail generation are processed on demand (like ImageField does). In case video processing takes a lot of time, module allows to do this on schedule by cron.
Video transcoding and thumbnail generation are implemented via ffmpeg.
Comparing with other modules:
FlashVideo (http://drupal.org/project/flashvideo), our module has better integration with CCK and FileField modules, while FlashVideo still has issues with video removal and integration with CCK (http://drupal.org/node/481116).
The most similar module is Video (http://drupal.org/project/video), but it allows to create only one rule for video transcoding and thumbnail generation. Our module has much more options of video processing. Our module supports usage of third-party flash players (like Viral Player or Cinema Player HD). Both modules provide with formatters for FileField, but our module is much more flexible and has greater extension potenial. Video module provides with formatter with option nearby of resolution selection, but we suppose this widget is unnecessary, so there isn't any like it in our module. As a result, our implements all capabilites of CCK and FileField, provides with significant number of options of video processing and implements very smart principle of storing cached files, proved itself in module ImageField.
Sandbox project page - http://drupal.org/sandbox/DevelopmentMill/1114588
You may take a look at SimpleVideo module on our demo site - http://simplevideo.demo.developmentmill.com/ (login - demo, password - demo)
Also, you may watch screencast about the module on http://simplevideo.demo.developmentmill.com/node/44 (it's required to login),
Thanks,
Development Mill
Comments
Comment #1
sreynen commentedComment #2
ccardea commentedHello Development Mill,
I'm sorry that you had to wait so long for someone to review your application. We have a serious shortage of reviewers, and you may be able to help your own cause by contributing to the code review process.
Please visit http://groups.drupal.org/code-review to learn how to participate.
I am conducting the initial screening of your project.
Licensing: I did not find any non-GPL code or images in the repository.
Module duplication: Reducing module duplication is an important goal of Drupal.org. It is going to be difficult for your project to pass this hurdle, since there are many modules that deal with video on Drupal.org. You mentioned Flashvideo and Video modules. I am interested in why you felt it was necessary to implement you own separate module.
* Could you have supplied a patch to the Flashvideo module that would have solved their problem?
* What additional options for video processing does your project provide, that Video module does not provide?
* Doesn't video module also support use of third party flash players?
* What capabilities of CCK and Filefield do you implement that are not already available?
* Please provide more details about your caching feature. Could this have been implemented with a patch to either Video or Flashvideo module?
* What other specific features did you implement that are not available in other modules?
Comment #3
ccardea commentedComment #4
osopolar@DevelopmentMillHow: How does it compare to ffmpeg_converter? BTW: your Website is throwing a lot of errors, so I was not able to view the demo.
[edit:] addressed to DevelopmentMill and not to ccardea as accidentally done before.
Comment #5
ccardea commentedMy website is not the issue here, but since you mentioned it, it is currently working perfectly in firefox, chrome, and opera. Thanks for visiting, and I really appreciate feedback, but my sandbox issue queue is probably the appropriate place for that.
I don't understand your reference to ffmpeg_converter. What is your connection to this project?
As I said before, I'm interested in why the developers felt it was necessary to implement their own module, rather than work with existing modules. It does not give me any pleasure to see a good project get stuck in the approval process. If you want to get this project approved, you need to address the duplication issues.
Comment #6
sreynen commentedccardea, I suspect that message was actually intended for DevelopmentMill, whose site (linked in the issue summary) is throwing errors. Because the last commenter's name now shows near the top of the page under "Issue Summary," it's easy to mistake who created issues.
Comment #7
osopolar@ccardea: Sorry I just mixed up the author DevelopmentMill of the node with you (Revision 1 by ccardea), my fault.
DevelopmentMill pointed in this issue to the screencast at http://simplevideo.demo.developmentmill.com/node/44 where I get a lot of php errors.
I wanted to know if DevelopmentMill knows the FFmpeg Converter module? It's an extension of FFmpeg Wrapper. My understanding is: FFmpeg Wrapper defines presets and do video transcoding. FFmpeg Converter in 6.x.-2.x bases uses Rules to for configuration so jobs can be triggered by any events and conditions. Any number of conversions can be setup to run for a given source file (source and destination are filefields). The transcoding can be done by the cron job.
I don't have a connection to any mentioned projects. I only was evaluating them and like FFmpeg Converter very much (because of the rules integration), what gives it much more power than i.e. Media Mover but it is still very simple.
Comment #8
carvalhar commentedhi,
what this module do with the original file after conversion?
the files table remains with the original file (as video module) or the converted one?
is there a possibility to convert after save?
thanks
Comment #9
misc commentedThe applicant has been contacted to ask if the application is abandoned.
Comment #10
misc commentedThe application has been closed. If you would like to reopen it, you are free to do so.
See http://drupal.org/node/894256