After four months of using Flashvideo without a hitch, after doing latest update from 6.x-1.5-rc3 to 6.x-1.5-rc4 presents a conversion error:
I have this structure in the drupal mysql DB:
content_field_videos (this is where the converted flv's are placed)
content_field_videos_originales ( this is where the original videos get uploaded)
content_field_videos_thumbnails (this is where the jpg thumbnails are created by ffmpeg via flashvideo)
I also have a dir called videos in the server filesystem
I also have a dir called videos_originales in the server filesystem
I also have a dir called videos_thumbnails in the server filesystem
I also have a dir called videos_import in the server filesystem
all this dirs are under httpdocs/sites/default/files/
I have been uploading for the past four months to the drupal server mp4's and ffmpeg converts them via Flashvideo to flv's without a hitch.
I just updated to flashvideo 6.x-1.5-rc4 and now when I upload an mp4 it will not be converted to flv, it will be transfered
from videos_originales to videos and will not be converted to flv !!!
Until today's update whatever mp4 that I would upload would remain in videos_originales and then I would get a converted flv that would be placed in videos, I would also get a jpg that would be placed in videos_thumbnails.
I am aslo getting this error after I upload the mp4:
user warning: Unknown column 'delta' in 'field list' query: INSERT INTO content_field_videos_originales (vid, nid, delta, field_videos_originales_fid, field_videos_originales_list) VALUES (990, 990, 0, 2387, 0) in /var/www/vhosts/zzz.com/httpdocs/sites/all/modules/flashvideo/flashvideo.module on line 1419.
user warning: Unknown column 'delta' in 'field list' query: INSERT INTO content_field_videos_thumbnails (vid, nid, delta, field_videos_thumbnails_fid, field_videos_thumbnails_list) VALUES (1017, 990, 0, 2388, 0) in /var/www/vhosts/zzz.com/httpdocs/sites/all/modules/flashvideo/flashvideo.module on line 752.
I do not have the field 'delta' in any of those two tables, in those two tables, this are the fields that I have:
for table content_field_videos_originales
vid
nid
field_videos_originales_fid
field_videos_originales_list
field_videos_originales_data
for table content_field_thumbnails
vid
nid
field_videos_thumbnails_fid
field_videos_thumbnails_list
field_videos_thumbnails_data
Once the mp4 had been uploaded to videos_originales I made a terminal test of ffmpeg to see if ffmpeg was working ok, and it is.
It did convert from mp4 to flv.
this is what I used:
ffmpeg -i test.mp4 -f flv -b 640k -acodec mp3 -ar 22050 -ab 64k -ac 1 test.flv
In both the drupal flashvideo content type settings I have:
-i @input -f flv -b 640k -acodec mp3 -ar 22050 -ab 64k -ac 1 @output
I do have two different content types using the same fields described above, and they had been working fine since today's update.
If I upload a mov then it will not experience the problem !, mov's are converted fine from .mov to .flv and placed in the correct dirs and displayed fine, they are placed in videos for the .flv and the .mov remains in videos_originales and a jpg is placed in videos_thumbnails.
I have this settings enabled (checked) in the enabled flashvideo content types:
Disable the [video] tag.
Change Node Status after Conversion.
Convert videos immediately.
I am using Flowplayer to display the flv's
I am using Drupal 6.13 under redhat linux (latest)
this is a bug that was not happening before the update, nothing changed in the system except for the update, please help.
Comments
Comment #1
okeedoak commentedI'm new to FlashVideo but do have a guess. Since newer versions of Flash can now play mp4 files natively, the files are considered already converted - no processing needed. You can override this though. Under FlashVideo's "universal settings" look in the text area called "Flash MIME Types:" There's a line "video/mp4". The text area's description reads, "The MIME types that will be considered a Flash Video." I don't know the consequences of removing this line however.
Also you probably need to change the [FileType, MIMEType, DefaultPlayer] configuration line: [mp4, video/mp4, flash]. Not sure though.
No idea on the error.
See also: http://drupal.org/node/571252 and http://drupal.org/node/233995
Comment #2
vr_mex commentedhave the changes suggested in http://drupal.org/node/233995 been made to 6.x-1.5-rc4?
Comment #3
JustinJohnson commentedI am also experiencing this same issue. However for me it has nothing to do with MP4 files, the files I'm working with are all FLVs.
I am trying to run off filefield. I have 3 fields: Video, Videolist, and Imagelist (similar to above). When I upload I get the same "delta" error as above. I also don't have "delta" within any of the 3 tables, although the only one it complains about is the Imagelist one.
Checking it out. Conversion works fine, the videos and thumbnails get transferred to the right folders. However, none of the files get attached to the right mysql tables. The video file is still attached to the "Video" filefield (it should get transferred to "Videolist") , and the thumbnail doesn't attach to anything. Looking at the Videolist and Imagelist tables, show no data entries (NULL) from any of the processed videos.
Also, I have been able to get FlashVideo to work fine using the upload module. These errors have popped up since I've been trying to get it to work with filefield.
Comment #4
parkej60 commentedI'm also having this same issue and have found that messing around with the MIME Type settings doesn't help at all. Unless I couldn't find the right configuration.
In either case I understand that MP4 files are set to not convert to FLV files anymore because they can be played in the flash player, however they will not stream and take forever to play. There has to be some easy work around to get it so that the MP4 files will convert to FLV files within flash video. Any suggestions?
Comment #5
pobster commentedYou can't change this in a setting, the code has changed in several places to actually test for the extension (maybe actually even the filemime I forget) to remove this new 'feature' you'll have to alter the many if statements in the main module.
Pobster
Comment #6
attheshow commentedYes, this is by design and is the result of requests coming from the community. See #233995: MP4 support.
Comment #7
umimi commentedhi, my friend also met that problem before, he couldn't find the right solution, so he used iWisoft Free Video Converter instead to convert mp4 to flv, now I'm using it to deal with all kinds of video conversions too. It's free and good without ads and watermark. You can also give it a try. Good luck.
Comment #8
lorenlang commentedHow about making it optional? I, for one, would like to standardize on a single video format and FLV is the logical choice.
Comment #9
project10 commentedThis new feature means that the module is only suited to website owners/editors uploading video to their sites, they (might) know how to compress their video in to an MP4 so that it will best play back on their site. However for user generated content this makes it very difficult, if they are savvy enough to compress their vids in to the correct size and format then great, but at that point why use this module? They could just be told how to do it as an FLV or MP4 and be done. What about the people who don't have a clue how to compress video (most people) they'll upload some 80MB 5 second MP4 monster and wonder why it takes an age to playback.
Can it PLEASE be optional. FFMPEG can handle it, so why limit it?
Thanks for all the hard work BTW.
Ant
Comment #10
ore commentedI've just made the module drop flv altogether and encode everything with mp4. The code change was minor to make mp4 the only output. The module now takes any mp4 or other format, converts it to whatever size you define as video size in ffmpeg settings in flashvideo. If an mp4 file is greater than the video size then it will perform a conversion with my optimal ffmpeg mp4 settings (as found from many hours of looking on ffmpeg tutorials for mp4 settings). Also if a vid has dimensions over video size, then an HD version is also converted to a size < max dimensions in ffmpeg settings. This process takes a lot longer for ffmpeg to process (being HD) so is handled by the cron task. The HD icon in the player only appears when this run has been completed.
As for the streaming issue. I've added the tool qt-faststart to fix the atoms once the mp4 has been converted. This allows the streaming to happen.
You can view a demo here.
http://www.offroadexpress.co.nz/video/contour-hd-demo-click-hd-icon-pres...
There is a bug in the player which stops the HD icon from switching once you have clicked play. So to see the HD version click the HD icon before you do any streaming. to see the low def one, refresh the page and then press play.
This video was generated in this sequence.
~80mb 1080p HD avi was uploaded to site.
initial run converted to low def 640x480 at 6.33mb mp4
cron run 5 mins later converted original to 1280x720 at 19mb mp4
original deleted.
I've only just finished all these modifications and need to give them to travis. They have been made purely for my server setup so are not complete for an "all cases scenario" like playlists etc. Somebody who knows the module a lot better than i do needs to fully integrate the changes so this is not a "heres the code now use it" solution just yet. I'll work with travis with these changes as much as possible but only if he wants to put them in.
cheers
mike
Comment #11
travist commentedHey Mike,
Thanks again for your efforts. I am pretty sure that I will want these changes, so feel free to send them my way and I will look at them. Also, I believe that you are a CVS maintainer of this module, so you are more than welcome to make these changes generic and check them into HEAD. I will then look through the diffs and see if any changes need to be made.
Whatever is most convenient for you, I am cool with.
Thanks again.
Travis.