I've searched the forums but just wanted to get some *recent* recommendations for either best drupal module[s] or possibly just hand embedded code, to include video and associated videoplayer in drupal content, either a node page or block.
Recommendations would include:
- best method for uploading (for when you want user outside of admin to upload own files)
- best organization on the backend (directories, etc)
- best presentation method
- embedded player with queued up video file in block or node page (typical youtube type player presentation)
- list presentation where you have multiple video links listed on a page and clicking on it starts a player (popup or in same page)
If you've tried a couple of the different modules and you found one better than another for a given reason, it would be great to state why you used one versus the other (e.g. what one module lacks that the other one had). Basically, a positive-negative type analysis based on experience.
thanks much for anyone who can give recent experiences
Comments
Try this...
Hello,
I just recently submitted a module that you might be interested in. It is called FlashVideo, and can be found at http://www.drupal.org/project/flashvideo. I have also written a complete tutorial on how to use this module at http://www.travistidwell.com/flashvideo.
Hope this helps,
Thanks,
Travis T.
I'll have to..
look through your tutorial again. Your module looks pretty slick.
Some notes:
1) I'm working on some current sites that are 4.7 right now and haven't update|graded to 5.0 yet and your module is 5.0 :-(?. I guess you won't be downporting it eh? :-)
2) you mention a link to the FFMPEG encoder on your site that doesn't exist. where do i get it from? I'm savvy enough to install it myself.
Some questions.
When the upload module 'attaches' a video, what exactly does 'attach' mean?
I'm getting a little confused. It sounds like it basically *associates* the video via a file link (probably embedded in a db table) with the node but does NOT actually create a node for the video -right? You can then just embed the vid file somewhere in teh *normal node* via a video tag. yes?
I'm assuming that you do NOT have to know the actual name of the file because your module uses the "index" to figure out which one to display if you have more than one img PER GIVEN NODE. But that begs this question. It means that only the current node you're editing knows about ITS OWN videos right?
It might be more clear what i'm saying if I throw a hypothetical out at you.
What I'd like to do is purely upload 20 random videos to a directory on the server FIRST withOUT having to attach them to any node from the start. Once they are uploaded, THEN i decide what i want to do with them, where i want to use them, what nodes they should be embedded or attached to, or if they should be converted into nodes even, etc. It might actually be that I never use (display) all but one of them on my site.
For example. 1 week after I upload my videos, I could be creating a story and THEN AT THAT TIME I'd like to have the option to click on an 'add video' tab, select from a list of all of the videos already uploaded by navigating to a directory (probably via ajax) to add to the story. I don't necessarily want to be forced into uploading and attaching the img at the time I'm creating the story. I'd like the ability to separate the two tasks. Does your module allow that?
Another reason I might want to separate the two tasks is because a block is not a node. Say I don't want to display the video on a page/story. Instead I want a block that has one thing and one thing only - the video player with the controls and a single frame img displayed in the viewer. When you click on it, it is NOT a thumbnail that loads the actual video player in node for viewing. Instead it plays it at the same size as the player IN THE BLOCK ITSELF without changing the context of the page or loading a node.
For that kind of thing, I'd still have to hard / hand code the viewer code in the block. I don't think I could use your module for that. But either way, a user is still going to need to be able to upload the video for that block, convert to flash, possibly create a thumb. Whether they have the knowhow to embed the correct code to actually display it properly. But half of your module would still be very useful for video block embedding.
- That said, what would you recommend as the best method to display a video player that plays in a block (and doesn't change node context)?
- That said, what would you recommend as the best method to display a video player in a block as a thumbnail that DOES change node context by loading a new node to play the actual video at a bigger resolution than the thumbnail?
btw, nice job on the module!
ffmpeg homepage =
ffmpeg homepage = http://ffmpeg.mplayerhq.hu/
ffmpeg download = http://ffmpeg.mplayerhq.hu/download.html
ffmpeg-php info = http://ffmpeg-php.sourceforge.net/
Wow! You've put a lot of
Wow! You've put a lot of thought into this... You are correct about how the videos are attached to nodes and then indexed. However, the FlashVideo module currently does not have the ability to index ANY video. The reason is because the FlashVideo module is built arround the Upload module which already has that association between a node and it's files...not the other way around. What you are wanting is almost a reverse philosophy for the node-file relationship than what the Upload module currently uses.
If I were to eventually make it to where you can embed this flash video anywhere in your site using, lets say the FID (file ID) rather than an index, you would NOT be able to use the handy [video] tag. The reason is because I do a search and replace for this tag using the hook_nodeapi function which is ONLY on a node basis. With this said, I might be able to give you a function call to my flashvideo module where you pass the file ID, and I return you the object code for your video. This is probably the best I will be able to do as far as what you are requesting.
Good thinking, though! I see your point loud and clear. It would be nice to be able to embed a video anywhere in your site WITHOUT having the node container...but Drupal wasn't designed that way. Or at least the Upload module wasn't designed that way (which is what FlashVideo uses as a base...)
Thanks for the suggestion.
Actually..
I think embedding could be done without the node... I mean how do you do it on non drupal sites? you hard code a path as a param to a flash video player right? Half of what your module does is take care of the conversion to flv for use by an flv player.. which is half the battle and half the desired functionality. The other half is purely uploading (not needed if already on server) and then associating / embedding flv in a given node body or a block or wherever for that matter. Half of that embedding is simply a template that never changes. The other part is the filename which WILL change.
FWIW, i only have 4.7 installed right now, which means my only video option is the video module. i fiddled with that today and l found lots to be desired. I think you mentioned a lot of the same things in your tutorial. You can take what follows with a grain of salt. Since you just completed your module maybe you can use some of this to enhance your module if you like since the code is probably fresh in your mind. Or you can just ignore it.
Here's my initial assesment of what i do NOT like about the video module:
With the video module:
1) You have to upload video file via a form. this blows. video files tend to be pretty damn big. i tested the video module on my localhost so bandwith wasn't an issue. i maxed out php.ini to 400 mb uploads and 3600 second time outs , etc. However, unless my video file was relatively small, the video module always seemed to time out when creating large files. The files i was trying to upload were well under the enormous limits i set in php. So either i'm doing something wrong or the uploads of large vid files are less than rock solid with video module.
The better option (or at least an additional option) would be to ftp the video files to your server (no need to have php in the upload loop) because there's none of this upload size, memory restriction limit mambo jambo bs. then once they are uploaded to your server, THEN you either
a) create video nodes
b) just embed the suckers directly in your posts
OK.. video module does "kind of" give you this select the vid files already uploaded to your server option .. sort of. You can ftp the vid files to your server. BUT.. when it comes time to create the video nodes from them, YOU HAVE TO TYPE THE PATH VERBATIM to use the vid file. In my case, my vid files have crazy names so remembering, finding and then typing the name is tedious and mistake prone.
THE BETTER OPTION would be to allow a BROWSE ON THE SERVER so you can *SELECT* (not type a path) from files ALREADY UPLOADED to the server. IF YOU CAN BROWSE TO UPLOAD, MY THOUGHT IS THAT YOU SHOULD BE ABLE TO BROWSE TO WHAT'S ALREADY BEEN UPLOADED. See where i'm going? Not sure if your module has that ability but it would be a great feature. Let me upload my vid files by the easiest / fastest method to the server (e.g ftp, rsync, whatever). Then let me SELECT them once they are there versus having to memorize their names or fish for them and type them in verbatim. Other modules have this select feature so it can be done.
3) Maybe you can confirm this for me. I found that uploading files or even selecting them from the server once already loaded doesn't work UNLESS YOU KNOW THE DIMENSIONS, SIZE, SECONDS of the video. What?!
Can you confirm that FFMpeg EXPLICITLY needs that EXACT info to do it's conversion?
For instance, I had a .mov file that I couldn't find the encoded H/W size for (how do i do that???). I was able to find the MB file size and the seconds but that's a pain in the rear.
- So is that something I just have to bite the bullet and do FOR EVERY VID FILE I upload in order for FFmpeg to convert to flv successfully (.e.g it's not smart enough to extract that info from the file itself) regardless of video module or your module?
- If i give it a wrong param, even if its off by just a tad, does that screw up the conversion?
NOTE: I was able to upload a couple of rm and mov files. But only 1 out of the 3 actually played when it came time to click the play, start the player. And now that i think of it, there was NO CONVERSION TO FLV GOING ON.. because Real Player and QuickTime players started to play the files based on extension. SO WHY DO I NEED TO ENTER IN FILE SIZE IN MB, TIME IN HH:MM:SS AND H/W OF MOVIE? THAT MAKES NO SENSE! MAYBE THE H/W.. but why would it need anything else??
If you could clear that up for me, it would help me understand that better.
4) No Thumbs are generated by the video module. You basically get a very generic looking 'play' LINK. It would be better to actually see the flash player with a static img of the video. NOTE: Even when you click 'play' the video player (at least for rm files in my case) looks broken. It will work but it just looks bad.
I guess I'm going for that youtube look where you have what either is an actual player with img or a thumb of an img that looks like a player. either way you have context when you see it. you can tell what you're in for when you either click play or the thumb. Does the FlashVideo module give you context player img or thumb or some way to upload a thumb?
5) Using the video module, there doesn't appear to be a list video page by default. I imagine i can create one in views. no biggie. But if i want to create playlists of related videos or organize my videos similar to galleries of imgs, am i pretty much left to use taxonomy and slap a video node with a termid? How do you organize related videos with the FlashVideo module?
I ask because most img modules have some kind of gallery associated with them. Audio has a playlist. But I'm wondering what the options are for video module or your FlashVideo module?
Anyway. most of those were my initial impressions / shortcomings of the video module. I'm curious as to how FlashVideo might implement some of those same areas. I also throw them out to you in the event you might want to add useful features in the future.
fwiw, i will try to download 5.0 this week sometime and give your mod the runthrough. Mostly because the video module seems to be lacking in a number of respects.
thanks for your input and time on your module!
NewDru,Your frustrations
NewDru,
Your frustrations with the video module is what sparked me to write the FlashVideo module. Of course, if you compare the code from my FlashVideo module with the Video module, you will see some re-used code (why reinvent the wheel), but for the most part, I stripped out all that stupid crap that the Video module requires when uploading a video. FFMPEG is wonderful and needs to be embraced by EVERYONE who wants to implement video in their website. The Video module tries to work without the power of ffmpeg, and what you get is a bloated module. I streamlined the FlashVideo module to rely on the Upload module and ffmpeg and THATS IT. What this means is that with my FlashVideo module, you get a YouTube style of upload form. All you have to do is tell me which video file to upload and THATS IT. ffmpeg does all the dirty work behind the scenes, and as far as I am concerned, that is how it should be. The secret to having a successful user-generated website is to create a site that doesn't require the user to think... KISS....Keep It Simple Stupid!!! The Video module quite frankly has the worst intimidation factor of any module that I have seen. Please don't get me wrong... I give major props to the author who wrote this module since it really did pave the way... but seriously... You shouldn't have to know the dimensions of your video... You shouldn't have to know what size..... By then the user is saying "WHO CARE'S! I just want to upload my damn video!" The FlashVideo module was written to alleviate this problem. All I need is an upload form.... and that's it! I leave the rest to ffmpeg.
I have enjoyed our conversations...
Travis.
the only unfortunate thing
the only unfortunate thing about FFMPEG, is that many shared hosts don't have it installed, wont give you shell access to install it. Many users wouldn't even know how to compile the binary if they had shell access. I think this is why the video module, avoids FFMPEG with exception to its auto thumbnailing ability.
Help with FFMPEG windows binary
Trying to get the Flashvideo module to work. Found a precompiled binary but am not sure where to place it on my machine - using WAMP for local testing - or if its as simple as just placing it in the correct directory. I'm really clueless as to how to proceed from here. The flashvideo module looks amazing and the tutorial by travist at http://www.travistidwell.com/flashvideo is great. Its just missing the details needed to get the module working with FFMPEG for less technical people such as myself. Any help would be much appreciated.
Thanks for this module
I tested out the original video module a few months ago and it just didn't fit my need. You've hit the nail on the head with the simplicity and now I can move forward with my project thanks to you travist. Keep up the good work. We all thank you. The simpleness of this is key.
-Jeff O'Hara
http://blog.zemote.com
http://www.vidication.com