Possible Problem 1: You video has not converted
There are many reasons why your video did not convert. I will probably not be able to cover them all, but I will definately try to touch base with all of the most popular reasons for a non-converting video. And they are...
- You do not have FFMPEG - I know this sounds silly, but you would be surprised how many support request that I get that my module isn't working when they actually do not have FFMPEG. If you are using a hosting company to host your site, you will simply need to ask them if they provide FFMPEG. If not, then you can either find another hosting company that does (like CirtexHosting), or you will just need to run your own server (which is a pain). I would just recommend in this case to create a test site with CirtexHosting for just $2.50 per month and start out with that solution...
- Your path to the FFMPEG binary is wrong - If you do not provide the right path to your FFMPEG binary within the FlashVideo Settings, you will most definately have an issue with converting your video. The first thing you will need to do is figure out the path for your FFMPEG executable. Once you have this information in your hands, you will then need to go to the FlashVideo Settings page and then click on the FFMPEG Settings. In this section, you will then need to place to correct path where it says FFMPEG Path.
- You do not have an MP3 codec installed for your FFMPEG installation - This is a very common failure and I have devoted an entire troubleshooting section to figuring out how to solve this issue. The way that you can figure out if this happened is if you look into your output directory and find the Thumbnail of the vidoeo, but then see a 0 byte FLV file as the video that is unplayable. Please go to http://www.travistidwell.com/node/281 to read more on this issue.
- Your files directory or your output directory is not writable - In order for your FFMPEG executable to be able to add files to your file system, the directory in which it is placing those files MUST be writable (chmod 644). So, try this and see if it solves your problem.
- You forgot to run the Cron Cycle after submitting the node - The FlashVideo module will not try to convert your video right away after your submit your node. It does this to keep the browser from hanging every time the user creates a new video node. What it does instead is just add that video to the Cron Cycle conversion queue, meaning that it places it in a list to be converted later. Then when the cron cycle runs, it will go through all videos in this list and convert them one by one. If you want to force a cron run, then you can do this by going to the Status Report within your Administration page and then click on the link under the Cron Cycle that says "Run cron manually". However, before you launch your site to the public, you will need to set up the cron to get triggered automatically on your site. You can either do this with the PoorMansCron Module, or you can just do it on your server by following the steps given at http://www.travistidwell.com/node/
- FFMPEG may not have been able to convert your video - Ok, so you have FFMPEG, your paths are correct, but still "Video Currently not Available". Well, when this happens, it is possible that FFMPEG was not able to convert your video. The only real way to find out is to turn on the Log Conversion Data checkbox located in the FFMPEG Settings section of the FlashVideo Settings. What this will do is place an entry in your ffmpeg_data table within your Drupal database that contains the data from the conversion. Most importantly, it will tell you if FFMPEG puked when it tried to convert your video. What is also handy about this table is that it will also give you the command that it tried to use to convert your video. If you are using a Linux Box, you can just copy this entry and paste it into the terminal to try and replicate the failure. What you may find out is that FFMPEG will tell you everything that is going wrong with the conversion.
Possible Problem 2: FlashVideo cannot find the converted file
This is much less common than the previous problem, but I do have to help people who have this issue alot. Basically the main cause for the FlashVideo file not being able to find your video which has converted just fine has to do with incorrect database entry of your video. Basically what the FlashVideo does when it is looking for a video is it tries to locate within the flashvideo table and the files table of your database the associated file from that node who has a status = 3 (which means "converted") and the correct Mimetype for an FLV file. So, what this means is that if you find the file association within the flashvideo table within your database and it does not have a status of 3, then that is why it isn't showing up. I have resolved most issues related to this problem so I am hoping that I won't have any more cases where the video has converted but it does not show it in the database. The next thing that could cause this is if the Mimetype (found in the files table) of that video is something that is not recognized by the FlashVideo module. You can actually see the list of valid mimetypes that the FlashVideo module will look for by just going to the FlashVideo Settings and under Global Settings you will see a text box called Flash Mime Types. If you do not see the same Mime type as you see in your database representing the converted video, then all you will need to do to fix your problem is to just add that mime type to this text box.
I hope this helps...




Flashvideo is doing nothing...
Hi Travis,
first of all, thanks for the excellent module which certainly would fit my needs (if I were able to find out how I make it work...)
I followed all steps you described in your tutorial rigorously. The problem is that when I submit a video (avi) it seems that FlashVideo is just doing nothing. I only get "video currently not available" message in my post (yes, I hit the link "run cron manually", although having the PoorMansCron's module set to run after each 1 minute).
I've run ffmpeg using the command line and it produced the flv file as expected (I tested the video in a flv player). I also checked the ffmpeg log option. It created the ffmpeg_data table (as expected) but nothing is being filled in in this table. My flashvideo table is also empty. I can only see my file uploads entry in the files table. In this table, my uploaded movies have "video/avi" MimeType, which made me include such Mime Type in FlashVideo's global settings and, still, nothing seems to be working.
After all these tests my conclusion is that FlashVideo is just doing nothing and it's too frustrating... . So, I'd like to ask you: Is there any other debug method besides the ffmpeg log option. Furthermore, how can I know if cron is actually executing the flashvideo tasks?
Thanks for any help,
Renato
What do you mean - "Most
What do you mean - "Most importantly, it will tell you if FFMPEG puked when it tried to convert your video"?
What i see when I view the ffmpeg_data table is this:
Command: /usr/bin/ffmpeg -i "/home/smeara/public_html/files/395_MOV00799.MPG.mpg" -f flv -acodec mp3 -ar 22050 -ab 64k -ac 1 "/home/smeara/public_html/files/video_output/395_MOV00799.MPG.flv"Data:
The command is there but nothing under Data:, shouldnt there be something under data.
All I see when I view the node is the "Video not available" image.
Just run the
Just run the "/usr/bin/ffmpeg -i" and so on part ... you don't need the "Command: " part in front of it.
i.e. your command that should be copied and pasted into the terminal would be:
usr/bin/ffmpeg -i "/home/smeara/public_html/files/395_MOV00799.MPG.mpg" -f flv -acodec mp3 -ar 22050 -ab 64k -ac 1 "/home/smeara/public_html/files/video_output/395_MOV00799.MPG.flv"In my case, this command didn't have the "/usr/bin/ffmpeg" in front of it, despite having that in the "ffmpeg Path" field. If I put it in there manually, the conversion worked like buttah.
I upgraded to 2.5 and it worked!
Thanks for this lovely module :)
Try to copy and paste that
Try to copy and paste that command in the terminal and press enter... it will tell you what happened.