Convert video to .flv or .swf on upload

s_t_harvey

Joined: 2006-07-26
Posts: 24
Posted: Sun, 2006-10-08 23:03

I'd like any video that is uploaded to my site to be automatically converted to .flv or .swf - I'm pretty certain this is possible of ffmpeg which I have installed but not sure how to implement this with gallery2

Does anybody know of how this can be done and is willing to explain to me (in fairly simple terms because I'm not an advanced user).

Thanks a lot

Simon

 
suprsidr
suprsidr's picture

Joined: 2005-04-17
Posts: 8339
Posted: Mon, 2006-10-09 02:37

The resources necessary for transcoding video are too high. Not to mention how long it takes.
We discuss it in detail here.

-s

 
s_t_harvey

Joined: 2006-07-26
Posts: 24
Posted: Mon, 2006-10-09 03:29

Thanks for such a quick reply suprsidr.

I have read that info but there is so much I am not sure which parts are relevent.

The video clips that are uploaded to my site are max of 5 seconds long... would short length videos be too much?...

If i can clear it with my host would somebody be able to give me some advice on how to implement it?

Thanks

Simon

 
s_t_harvey

Joined: 2006-07-26
Posts: 24
Posted: Mon, 2006-10-09 12:21

Ok... I'm clear with the host because of the short length of the video clips.

I can run ffmpeg from the command line and I can do a simple file conversion, but how do I make it happen as part of Gallery2?

I have made a swf player and that is opperating with any swf clips that are uploaded to the site... all I need to do is make it so uploaded files of other formats are converted to swf and that gallery2 treats them as swf.

Any help would be appreciated.

Thanks

Simon

 
rotesgummibaerchen

Joined: 2006-10-08
Posts: 13
Posted: Mon, 2006-10-09 17:08

I think a that a few people have their own rootservers for this it would be amazing :)

Can't be that hard.

 
s_t_harvey

Joined: 2006-07-26
Posts: 24
Posted: Tue, 2006-10-10 05:54

Ok,

I have managed to get this working... the only thing is the gallery cache doesn't update to the amended data.

Any ideas on how this can be done?

Thanks

Simon

 
valiant

Joined: 2003-01-04
Posts: 32509
Posted: Tue, 2006-10-10 10:13

it would probably be an additem option (like watermarking, exif auto-rotation, ..).
so as soon as g2 adds an item, the option checks if the added file is a movie and if so, it checks if there's a toolkit that can transcode it to .flv.
ffmpeg would then transcode it and you'd rescan the movie to store its new properties in g2.

of course you'd first need to modify the ffmpeg module in g2 to add a "convert mimetype x to flash movie" operation.

that would be the clean way. but you certainly can hack it with less code somewhere in your g2.

 
rotesgummibaerchen

Joined: 2006-10-08
Posts: 13
Posted: Tue, 2006-10-10 16:19

suprsidr started to build it into g2

 
s_t_harvey

Joined: 2006-07-26
Posts: 24
Posted: Tue, 2006-10-10 16:47

I've got it all working now thanks...

It's a complete hack but it does the job... just been fine tuning it to make sure it changes filenames if there is file with the same name already, and had to make it delete its own cache file after upload to force a refresh and make it work... but all works now! yippeeee!!!

Thanks

 
mcomsto

Joined: 2006-10-13
Posts: 1
Posted: Fri, 2006-10-13 17:19

Can you post the changes that you made? I would like to get something like this working as well.

 
s_t_harvey

Joined: 2006-07-26
Posts: 24
Posted: Sat, 2006-10-14 01:19

Hi,
I can try, but I made so many changes, correcting problems as they occured, that I'm not sure I can remember everything I did.

My method is not the best way to do it, but with my limited programming skills it was the only way I knew how.

DO NOT DO THIS WITHOUT YOUR HOSTS PERMISSION - As mentioned previously video conversion is very resource intensive and should only be used on a dedicated server, or on very short video clips.

This will only work on my setup but can be modified to suite your needs. My site is a sign language dictionary where the root album is language (british sign language, american sign language, australian sign language) the next level is the letters (a-z) then within those 'letter' albums people can upload their content, nowhere else.

This uses ffmpeg, which you need to have installed for it to work.

In ItemAddFromBrowser.inc:

Below: GalleryCoreApi::loadEntitiesById($status['addedFiles'][$i]['id']);

Gets the item id and lets me use it how I want:

Quote:
GalleryCoreApi::loadEntitiesById($status['addedFiles'][$i]['id']);
$simon1= $status['addedFiles'][$i]['id'];

Find out the mimeType for the upload:

Quote:
$query = "SELECT g_mimeType FROM g2_DataItem WHERE g_id='$simon1'";
$result = mysql_query($query)
or die("<b>error</b>: failed to execute query <i>$query</i>");

$desiredContent = mysql_fetch_array($result, MYSQL_ASSOC);

mysql_free_result($result);

$mime=$desiredContent[g_mimeType];

Although I changed all the relevent mime types to application/x-shockwave-flash in gallery admin some were still registering as their original type, so this catches them and changes it to the flash in the database:

Quote:
if ($mime == "video/mpeg"){
$query = "UPDATE g2_DataItem SET g_mimeType = 'application/x-shockwave-flash' WHERE g_id = '$simon1'";
$result = mysql_query($query)
or die("<b>error</b>: failed to execute query <i>$query</i>");
$mime = "application/x-shockwave-flash";
}
if ($mime == "video/quicktime"){
$query = "UPDATE g2_DataItem SET g_mimeType = 'application/x-shockwave-flash' WHERE g_id = '$simon1'";
$result = mysql_query($query)
or die("<b>error</b>: failed to execute query <i>$query</i>");
$mime = "application/x-shockwave-flash";
}

Now that any files that we want to convert are considered as flash we need to check that this file is one we want converting and then get details about it:

Get the filename:

Quote:
if ($mime == "application/x-shockwave-flash"){
$query = "SELECT g_pathComponent FROM g2_FileSystemEntity WHERE g_id='$simon1'";
$result = mysql_query($query)
or die("<b>error</b>: failed to execute query <i>$query</i>");

$desiredContent = mysql_fetch_array($result, MYSQL_ASSOC);

mysql_free_result($result);

$fileName=$desiredContent[g_pathComponent];
$fileName2=$desiredContent[g_pathComponent];

Get the album id:

Quote:
$query = "SELECT g_parentId FROM g2_ChildEntity WHERE g_id='$simon1'";
$result = mysql_query($query)
or die("<b>error</b>: failed to execute query <i>$query</i>");

$desiredContent = mysql_fetch_array($result, MYSQL_ASSOC);

mysql_free_result($result);

$album=$desiredContent[g_parentId];

Get the album name (in my case the letter of the alphabet):

Quote:
$query = "SELECT g_pathComponent FROM g2_FileSystemEntity WHERE g_id='$album'";
$result = mysql_query($query)
or die("<b>error</b>: failed to execute query <i>$query</i>");

$desiredContent = mysql_fetch_array($result, MYSQL_ASSOC);

mysql_free_result($result);

$albumName=$desiredContent[g_pathComponent];

Get the parent album id:

Quote:
$query = "SELECT g_parentId FROM g2_ChildEntity WHERE g_id='$album'";
$result = mysql_query($query)
or die("<b>error</b>: failed to execute query <i>$query</i>");

$desiredContent = mysql_fetch_array($result, MYSQL_ASSOC);

mysql_free_result($result);

$language=$desiredContent[g_parentId];

Get the parent album name (in my case the language name):

Quote:
$query = "SELECT g_pathComponent FROM g2_FileSystemEntity WHERE g_id='$language'";
$result = mysql_query($query)
or die("<b>error</b>: failed to execute query <i>$query</i>");

$desiredContent = mysql_fetch_array($result, MYSQL_ASSOC);

mysql_free_result($result);

$languageName=$desiredContent[g_pathComponent];

Get the filename without its extension

Quote:
$ext = strrchr($fileName, '.');
if($ext !== false)
{
$fileNamenos = substr($fileName, 0, -strlen($ext));
}

Get just the original extension and splice them so that video.avi would become videoavi (otherwise when you upload video.avi and video.mpeg they will both become video.swf and will overwrite each other - this way they become videoavi.swf and videompeg.swf):

Quote:
$fileExtt = strstr($fileName2, '.');

$fileExtt2 = ereg_replace("[^A-Za-z0-9]", "", $fileExtt);

$fileName = ($fileNamenos . $fileExtt2);

This is the business part - convert your file into flash:

Quote:
system("/home/xxxxxxx/bin/ffmpeg -i /home/xxxxxx/xxxxxx_g2data/albums/" . $languageName . "/" . $albumName . "/" . $fileName2 . " -an -r 8 -y /home/xxxxxxx/xxxxxxx_g2data/albums/" . $languageName . "/" . $albumName . "/" . $fileName . ".swf");

This stores the path (without file name):

Quote:
$pathtofile=("/home/xxxxxxx/xxxxxxx_g2data/albums/" . $languageName . "/" . $albumName . "/");

Updates the database with the new details for the file name and path:

Quote:
$fileNameswf = ($fileName . ".swf");

$query = "UPDATE g2_FileSystemEntity SET g_pathComponent = '$fileNameswf' WHERE g_id = '$simon1'";
$result = mysql_query($query)
or die("<b>error</b>: failed to execute query <i>$query</i>");

Delete the orginal file:

Quote:
unlink("../../xxxxxxx_g2data/albums/" . $languageName . "/" . $albumName . "/" . $fileName2);

Get the new file size and update the DB:

Quote:
$pathfile = filesize("../../xxxxxxx_g2data/albums/" . $languageName . "/" . $albumName . "/" . $fileName . ".swf");

$query = "UPDATE g2_DataItem SET g_size = '$pathfile' WHERE g_id = '$simon1'";
$result = mysql_query($query)
or die("<b>error</b>: failed to execute query <i>$query</i>");

Insert the new record into the entity tables but keep the original there because when you upload it'll check the original file name and not the new one, this way it prevents overwriting (using a negative value to make it easy to trace and to stop conficts with entity IDs:

Quote:
$altsimon = ("-".$simon1);
$query = "INSERT INTO g2_FileSystemEntity (g_id, g_pathComponent) VALUES ('$altsimon', '$fileName2')";
$result = mysql_query($query)
or die("<b>error</b>: failed to execute query <i>$query</i>");

$query = "INSERT INTO g2_ChildEntity (g_id, g_parentId) VALUES ('$altsimon', '$album')";
$result = mysql_query($query)
or die("<b>error</b>: failed to execute query <i>$query</i>");

Clear the original cahce so that your new files show:

Quote:
$file=$simon1;
$files = str_split($file);
unlink("/home/xxxxxx/xxxxxx_g2data/cache/entity/" . $files[0] . "/" . $files[1] . "/" . $simon1 . ".inc");

In ItemDelete.inc
Below: $ret = GalleryCoreApi::deleteEntityById($selectedId);
Deletes the extra DB records we made we made:

Quote:
$simon1 = $selectedId;

$altsimon = ("-".$simon1);
$query = "DELETE FROM g2_FileSystemEntity WHERE g_id='$altsimon'";
$result = mysql_query($query)
or die("<b>error</b>: failed to execute query <i>$query</i>");

$query = "DELETE FROM g2_ChildEntity WHERE g_id='$altsimon'";
$result = mysql_query($query)
or die("<b>error</b>: failed to execute query <i>$query</i>");

 
aidanlister

Joined: 2005-12-07
Posts: 56
Posted: Sun, 2006-10-15 05:20

Wow, that is a fairly impressive modification!

Rather than hacking into the gallery source for this, I'll see if I can create a module (or add it onto the back of another module) to do this portably.

I guess there are a couple of approaches.
1) Converted on upload
2) Converted manually afterwards via a module in the siteadmin

Both approaches are reasonable, mindless/valiant what do you have in mind, and what steps need to be taken in each approach?

For 2, I imagine:
Select all GalleryMovieItems and grab mimetype
If mimetype isn't FLV, display in list with checkboxes
Loop through the checked items (on submit):
- Create the FLV file using the FFMPEG module (rather than directly issuing sys calls)
- Issue the relevant API calls to update the database and set as preferred derivative
Done

I can do this via the bulkmanage module, or I can add it into the FlashVideo module - which is best? Can you give me some pointers towards the API calls I should be using?

Thanks.

 
valiant

Joined: 2003-01-04
Posts: 32509
Posted: Sun, 2006-10-15 10:40

aidanlister

please see my earlier post in this thread where i describe it as an ItemAddOption.
see modules/exif/ExifDescriptionOption.inc as an example. this add option extracts exif / iptc data and puts it into item attributes. also, more interestingly, it checks some exif data and depending on it, creates a preferred derivative that is rotated.

that's the same thing you might want to do: create a preferred derivative. users might want to keep the original video since they want to have the option to get the high quality video (transcoding is coupled with losing data).

but you also might want to replace the original entity.

 
quake101

Joined: 2007-02-27
Posts: 13
Posted: Tue, 2007-02-27 14:45

Has a module been made for this?

How well does this work for people that applied it to there gallery?

 
valiant

Joined: 2003-01-04
Posts: 32509
Posted: Tue, 2007-02-27 17:03

There's no module that converts videos to .flv files, no.
Transcoding is a very CPU intensive task and usually not suited to be done on the same server that serves webpages.

--------------
Doumentation: Support / Troubleshooting | Installation, Upgrade, Configuration and Usage

 
quake101

Joined: 2007-02-27
Posts: 13
Posted: Tue, 2007-02-27 19:05

I have a dedicated server and would really like this feature. :)

 
247mixers

Joined: 2007-02-10
Posts: 9
Posted: Wed, 2007-02-28 17:18

Can this conversion be done on the client side? The client computer will be waiting for the upload anyway. I stumbled across some utility before that ran javascript on my computer prior to uploading images. I could not remember which one it is but will look around again.

This way my host server would not be overloaded. People wanting to upload the wrong (un-flv or un-swf) files know that conversion will take place already.

 
valiant

Joined: 2003-01-04
Posts: 32509
Posted: Wed, 2007-02-28 17:36

you could change the upload applet / Gallery Remote to use ffmpeg or other transcoding tools to do this conversion, yes.

--------------
Doumentation: Support / Troubleshooting | Installation, Upgrade, Configuration and Usage

 
suprsidr
suprsidr's picture

Joined: 2005-04-17
Posts: 8339
Posted: Wed, 2007-02-28 18:36

Or you could license On2's new transcoder.
But its a shame what that costs. :(
-s
FlashYourWeb and Your Gallery

 
floridave
floridave's picture

Joined: 2003-12-22
Posts: 27300
Posted: Wed, 2007-02-28 18:48
247mixers wrote:
Can this conversion be done on the client side?

I use http://www.rivavx.com/index.php?encoder&L=3
to convert my movies.

Dave

_____________________________________________
Blog & G2 || floridave - Gallery Team

 
baseball2487

Joined: 2007-02-08
Posts: 13
Posted: Mon, 2007-04-02 20:56

aidanlister -

Before I attempt to implement this from the code provided above, did you ever get a working prototype of the convert to flv on upload module you talked about earlier?

Thanks

 
aidanlister

Joined: 2005-12-07
Posts: 56
Posted: Wed, 2007-04-04 13:43

Hi baseball2487,

I didn't ever get a working prototype, I did make some progress but haven't had time to follow it through.

I'm happy to work with you on this, send me an email (aidan@php.net)

 
aidanlister

Joined: 2005-12-07
Posts: 56
Posted: Tue, 2007-04-10 09:03

Okay ... let's get this ball rolling again.

The first step is adding a function to the ffmpeg module to handle the transcoding.

In FFmpegToolkit.class:

	case 'convert-to-video/flv':
	    $args = array('-f',         'flv',
                      '-vcodec',    'flv',
                      '-acodec',    'mp3',
                      '-ab',        '64',
                      '-ar',        '22050',
                      '-s',         '640x480',
                      '-deinterlace',
                      $tmpFilename);
        
	    list ($ret, $results) = $this->_ffmpeg($sourceFilename, $args);
	    if ($ret) {
		    return array($ret, null, null);
	    }

	    $outputMimeType = 'video/x-flv';
	    break;

It's missing a bunch of steps, I just thought I'd get something up and running (installing ffmpeg and lame was hard enough).

The next step is working out how to validate that the ffmpeg binary has the required juice - ffmpeg -formats (from ffmpegtoolkithelper) would return a "DEA mp3" if we have lame enabled, and we need x-flv too.

Hopefully I can spend some time with bharat (I think he wrote this module) and work it all out. If you're interested in working on this, please drop a line here and we'll start getting serious.

 
baseball2487

Joined: 2007-02-08
Posts: 13
Posted: Tue, 2007-04-10 14:48

I'd be interested in working\helping on the module, however I'm swamped with projects at the moment and thus won't be able to spend much time on it for about a month.

 
aidanlister

Joined: 2005-12-07
Posts: 56
Posted: Tue, 2007-04-10 15:53

I'm writing a quick and nasty hack to convert all my existing videos to FLV now. I think there are some valid points that this type of modification could cause hosts to get upset, so I'm going to finish some other projects first. If a consensus is reached that this feature is wanted in gallery-core, then I'll continue working on it at some stage.

 
hstraf

Joined: 2002-09-28
Posts: 27
Posted: Sun, 2007-05-20 19:16

I would like to see this added to gallery as either core or a module.

The ability to upload a .mov file directly from my camera to my G2 gallery and have it auto-converted into a flash video would be fantastic!

(And yes, I do have my own dedicated server, so the load issue is not a problem.)

Thanks!

 
donwillingham

Joined: 2003-08-17
Posts: 25
Posted: Sun, 2007-07-22 22:01

Good news, an effort on this has been started. See the patch here: https://sourceforge.net/tracker/index.php?func=detail&aid=1758576&group_id=7130&atid=307130 This is not complete. Warning: DO NOT use this on a production level gallery. I'd suggest creating a second "development" gallery as to not break your gallery.

 
mstorman

Joined: 2006-05-08
Posts: 20
Posted: Thu, 2008-02-28 20:37

How does one go about downloading this patch?

 
donwillingham

Joined: 2003-08-17
Posts: 25
Posted: Sat, 2008-03-01 15:56

Updated "[ 1758576 ] [G2] Encode videos as flash" with a current snapshot of my changes. (2 .tgz files) https://sourceforge.net/tracker/index.php?func=detail&aid=1758576&group_id=7130&atid=307130 See instructions on patch page. Caution: I might be in the middle of something and it not work.

 
mstorman

Joined: 2006-05-08
Posts: 20
Posted: Sat, 2008-03-01 21:52

Ok. I am getting a broken thumbnail when trying to play the video. here is what I did:

1. from ssh: svn checkout https://gallery.svn.sourceforge.net/svnroot/gallery/trunk/gallery2
2. Install gallery2 via the web installer. I did not install any modules.
3. Downloaded transcode_2008_03_01.tgz and extracted tot he gallery2/modules directory.
4. Downloaded ffmpeg_2008_03_01.tgz and extracted the contents to the /gallery2/modules/ffmpeg directory, overwriting existing files.
5. Logged into the admin area.
6. Installed and activated ffmpeg, imagemagick, transcode and flashvideo
7. Checked the "Automatically convert videos to flash video format on upload" option in the Transcode Settings area.
8. Uploaded a .MPG file approx(6MB). Thumbnail was created sucessfully. But when I go to view the movie all I see is a broken thumbnail. see: http://www.mostconsulting.net/test/gallery2/v/MOV01652.MPG.html

The Eventlog shows this:

Event Details
Date Sat Mar 1 12:42:26 2008
Type Gallery Error
Location http://www.mostconsulting.net/test/gallery2/main.php?g2_view=core.DownloadItem&g2_itemId=19&g2_serialNumber=1&g2_fileName=MOV01652.flv
User Id 6
Client 76.79.238.81
Summary ERROR_TOOLKIT_FAILURE
Referer http://www.mostconsulting.net/test/gallery2/v/MOV01652.MPG.html
Details Error (ERROR_TOOLKIT_FAILURE)in modules/ffmpeg/classes/FfmpegToolkit.class at line 327 (GalleryCoreApi::error) in modules/ffmpeg/classes/FfmpegToolkit.class at line 36 (FfmpegToolkit::_getMovieDimensions) in modules/core/classes/GalleryDerivativeImage.class at line 166 (FfmpegToolkit::getProperty) in modules/core/classes/helpers/GalleryDerivativeHelper_advanced.class at line 844 (GalleryDerivativeImage::rebuildCache) in modules/core/classes/GalleryCoreApi.class at line 983 (GalleryDerivativeHelper_advanced::rebuildCache) in modules/core/classes/helpers/GalleryDerivativeHelper_simple.class at line 50 (GalleryCoreApi::rebuildDerivativeCache) in modules/core/classes/GalleryCoreApi.class at line 970 (GalleryDerivativeHelper_simple::rebuildCacheIfNotCurrent) in modules/core/DownloadItem.inc at line 102 (GalleryCoreApi::rebuildDerivativeCacheIfNotCurrent) in main.php at line 437 (DownloadItemView::renderImmediate) in main.php at line 103 in main.php at line 88 Request variables: Array ( [view] => core.DownloadItem [itemId] => 19 [serialNumber] => 1 [fileName] => MOV01652.flv )

System Information:

Gallery version = 2.3-svn core 1.2.30 r17493
API = Core 7.48, Module 3.9, Theme 2.6, Embed 1.4
PHP version = 5.2.5 apache
Webserver = Apache/1.3.39 (Unix) PHP/5.2.5 mod_log_bytes/1.2 mod_bwlimited/1.4 mod_auth_passthrough/1.8 FrontPage/5.0.2.2635 mod_ssl/2.8.30 OpenSSL/0.9.8b
Database = mysqlt 4.1.22-standard, lock.system=flock
Toolkits = ImageMagick, Ffmpeg
Acceleration = none, none
Operating system = Linux srv1.mostconsulting.net 2.6.18-53.1.13.el5 #1 SMP Tue Feb 12 13:01:45 EST 2008 i686
Default theme = matrix
gettext = disabled
Locale = en_US
Browser = Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Avant Browser; Maxthon; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Rows in GalleryAccessMap table = 3
Rows in GalleryAccessSubscriberMap table = 2
Rows in GalleryUser table = 2
Rows in GalleryItem table = 2
Rows in GalleryAlbumItem table = 1
Rows in GalleryCacheMap table = 0

 
SUBERIP

Joined: 2008-03-03
Posts: 23
Posted: Mon, 2008-03-03 08:19

I have a same problem when i am trying to rebuilt the thumbnails (maintence). After the rebuilt all flv are corrupted :(
(i am thinking that the error appears cause the files already exist.I will try to post the log in 5 hour about)

although nice module and thx :)

Can you add a built all check with same option pls ?

 
SUBERIP

Joined: 2008-03-03
Posts: 23
Posted: Mon, 2008-03-03 13:30

This ewrror appears when i do Build all thumbnails/resizes

Error Output:
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et
al.
  configuration: --prefix=/usr --libdir=${prefix}/lib
--shlibdir=${prefix}/lib --incdir=${prefix}/include/ffmpeg --enable-shared
--enable-libmp3lame --enable-gpl --enable-libfaad
--mandir=${prefix}/share/man --enable-libvorbis --enable-pthreads
--enable-libfaac --enable-xvid --enable-libdts --enable-amr_nb
--enable-amr_wb --enable-pp --enable-libogg --enable-libgsm --enable-x264
--enable-liba52 --enable-libtheora --extra-cflags=-Wall -g -fPIC -DPIC
--cc=ccache cc --enable-swscaler
  libavutil version: 49.4.0
  libavcodec version: 51.40.2
  libavformat version: 51.11.0
  built on Feb  4 2008 14:45:57, gcc: 4.1.2 20061115 (prerelease) (Debian
4.1.1-21)
Input #0, mpeg, from
'/var/www/xgaleryx/g2data_yo/cache/derivative/1/7/17361.dat':
  Duration: 00:00:02.8, start: 0.110000, bitrate: 3248 kb/s
  Stream #0.0[0x1c0]: Audio: mp2, 32000 Hz, mono, 64 kb/s
  Stream #0.1[0x1e0]: Video: mpeg1video, yuv420p, 640x480, 104857 kb/s,
25.00 fps(r)
Output #0, flv, to '/var/www/xgaleryx/g2data_yo/tmp/fmpg_22RbkC.flv':
  Stream #0.0: Video: flv, yuv420p, 640x480, q=2-31, 200 kb/s, 25.00 fps(c)
  Stream #0.1: Audio: mp3, 22050 Hz, mono, 64 kb/s
Stream mapping:
  Stream #0.1 -> #0.0
  Stream #0.0 -> #0.1
Press [q] to stop encoding
frame=   40 fps=  0 q=31.0 size=     236kB time=1.6 bitrate=1209.0kbits/s  
 
frame=   82 fps=  0 q=31.0 Lsize=     330kB time=3.3 bitrate=
823.0kbits/s
video:300kB audio:26kB global headers:0kB muxing overhead 1.083244%
Status: 0 (expected 0)
rename(/var/www/xgaleryx/g2data_yo/tmp/fmpg_22RbkC.flv,
/var/www/xgaleryx/g2data_yo/cache/derivative/1/7/17361.dat)
chmod(/var/www/xgaleryx/g2data_yo/cache/derivative/1/7/17361.dat, )
is_dir(/var/www/xgaleryx/g2data_yo/cache/derivative/1/7/17361.dat)
realpath(/var/www/xgaleryx/modules/core/classes/../../../)
realpath(/var/www/xgaleryx/)

Error (ERROR_UNSUPPORTED_OPERATION) : composite video/x-flv in
modules/core/classes/GalleryDerivative.class at line 427
(gallerycoreapi::error) 
in modules/core/classes/GalleryDerivative.class at line 275
(galleryderivativeimage::_rebuildcache) 
in modules/core/classes/GalleryDerivativeImage.class at line
153 (galleryderivative::rebuildcache) 
in
modules/core/classes/helpers/GalleryDerivativeHelper_advanced.class at
line 839 (galleryderivativeimage::rebuildcache) 
in modules/core/classes/GalleryCoreApi.class at line 914
(galleryderivativehelper_advanced::rebuildcache) 
in
modules/core/classes/helpers/GalleryDerivativeHelper_simple.class at
line 49 (gallerycoreapi::rebuildderivativecache) 
in modules/core/classes/GalleryCoreApi.class at line 901
(galleryderivativehelper_simple::rebuildcacheifnotcurrent) 
in modules/core/classes/BuildDerivativesTask.class at line
99 (gallerycoreapi::rebuildderivativecacheifnotcurrent) 
in modules/core/AdminMaintenance.inc at line 90
(buildderivativestask::run) 
in ??? at line 0 (adminmaintenancecontroller::runtask) 
in modules/core/classes/GalleryTemplateAdapter.class at line
915
in
g2data_yo/smarty/templates_c/%%4284856719/%%3A^3A8^3A818B59%%theme.tpl.php
at line 69 (gallerytemplateadapter::trailer) 
in lib/smarty/Smarty.class.php at line 1258
in modules/core/classes/GallerySmarty.class at line 61
(smarty::fetch) 
in modules/core/classes/GalleryTemplate.class at line 209
(gallerysmarty::fetch) 
in main.php at line 480 (gallerytemplate::display) 
in main.php at line 94
in main.php at line 83
 
Bodrum villas

Joined: 2008-03-24
Posts: 2
Posted: Mon, 2008-03-24 08:54

thanks

 
donwillingham

Joined: 2003-08-17
Posts: 25
Posted: Sat, 2008-05-03 22:12

Sorry for taking 2 months to get back on this. I don't think I ever got "transcode on upload" to work properly. My efforts have been towards getting the necessary changes to ffmpeg reviewed, and into G2.3. The trascode module will then be my focus. Try not checking the transcode on upload. Upload the mpeg, avi, or mvi normally. Then select "Edit Movie". Next select the "Transcode" tab. Try just checking "Enable transcoding", and click "save". Hopefully that works. It's probably best not to mess around with any of the other options until simply enabling it works. I am sorry for any confusion, remember this stuff is still kind of beta and the kinks haven't been worked out. Unfortunately, nobody has been working on this since I haven't been.