|
January 1, 2007: FLVMDI 2.94 and FLVMDIGUI 1.05 released! FLVMDI now saves huge files faster, with /p switch outputs progress (which helps if you are getting an error) and some interface related bugs (like /v switch checking for existence of the folder though it was unnecessary) were fixed. FLVMDIGUI now supports the /v and /p switches. Also files (or folders) can now be dragged and dropped to the text fields. October 2, 2006: FLVMDIGUI 1.04 released! This minor update adds support for the '/l' switch (controls onLastSecond event injection). (Support for '/v' switch will be available in a future version). August 24, 2006: FLVMDI 2.9 released! After months of version 2.8 beta, we have released the new version as 2.9 to avoid confusion. /v switch extracts the current metadata from a FLV file as XML. Injection of onLastSecond event is now optional and controlled by the /l switch. Also two issues, both rarely encountered, have been fixed. March 31, 2006: Adobe released SWF 8 specs which includes FLV specs As soon as we find some free time, we will revise FLVMDI. UPDATE (April 13): It turns out FLVMDI 2.7 does not need any modification as a result of the released specs. November 8, 2005: FLVMDI 2.7 released! This version optionally adds keyframes object to metadata, which has video key frame time and file position arrays. Unlike the beta, release version also adds this info to the XML output. November 2, 2005: FLVMDI 2.7 Beta available for download! This version optionally adds keyframes object to metadata, which has video key frame time and file position arrays. You don't need it unless you need that specific info. September 13, 2005: FLVMDI 2.5 and Flash 8 trial now available FLVMDI 2.5 released. We will update this page later, because we are currently too busy. FLVMDI 2.5 supports new video codec and adds some data that Flash 8 video encoder adds... June 22, 2005: FLVMDI 2.0 released! - After two months of beta - and only one bug found and fixed! BTW, our FLV Captioning tool Captionate also has the ability to inject the same metadata as FLVMDI 2.0. September 10, 2004: FLVMDI GUI frontend version 1.00 released! April 26, 2004: FLVMDI version 1.00 released! What is FLV MetaData Injector? FLV MetaData Injector (FLVMDI) is a Win32 console (command line) application that can add 'onMetaData' AMF data to FLV files. (There's also a GUI frontend FLVMDIGUI). FLVMDI optionally saves an XML version of the injected data, and can add an additional string data or save the onMetaData data to an XML file. FLVMDI has some unique functionality, but it's not as vital now because flashcom 1.5.2+ and Flash Video Exporter 1.2+ adds the required metadata. (Unfortunately there's still a gotcha with Sorenson Squeeze 4, also see Sorenson Squeeze (4.1) FLV Metadata upate...). Flash 8 Video Encoder inserts the correct MetaData. Also Sorenson Squeeze 4.2 is released on Sept 20, 2005, hopefully they fixed the metadata issues. FLVMDI is free to use, but you cannot distribute it or link directly to the download. FLVMDI is not exactly freeware, but only free to use and at your own risk that is. All rights other than granted here belong to Manitu Group. Linking to this page is welcome. [www.buraks.com/flvmdi]. More Info Current Status Version 2.94. No known bugs. (Maximum FLV size FLVMDI can handle is around 700-750MB. We will get rid of this limitation with version 3, which will be using a brand new FLV library). What info does the injected onMetaData event have? We tried to have all the info that is added by Flash Video Exporter and Flash 8 Video Encoder and some more... The data is added at the start of the file with a timestamp of 00:00:00. If there's existing metadata, some standard (known) fields will be changed as stated below. If there is Flash 8 cue point information in the metadata, it will be preserved along with any non-standard values (Note that these values are not exported to the XML file). With version 2.9 and the /v switch, you can save the existing onMetaData data present as an XML file.
How to use FLVMDI? FLVMDI takes parameters from the commandline. Usage is: flvmdi inFile [outFile] [/v] [/s] [/x] [/e] [/l] [/k] [/p] inFile is the source file (or folder). If outFile parameter is not supplied, inFile will be overwritten, else the outFile path will be used for saving. If inFile parameter is a folder, all FLV files in that folder will be processed (but not files in subfolders). If outFile parameter is specified when the inFile parameter is a folder, it must also be an existing folder, where output files will be written. (If you don't supply the full path for the parameters, Windows will use the current working directory when searching for the file(s)). The result of the operation will be written to the console. If /s is present, then the resulting string will be a one digit return code (still a string). Also versions 1.3 and above will return exit codes matching the values below.
If /x switch is specified, an XML file with the data is also created at the same location as the FLV file, with the FLV file name but .XML extension (Flash 8 cue points info and any other imported non-standard values are not exported to the XML file). You can specify a string which will be written as 'xtradata' with the /e switch (like /eHeresmydata). If the string has spaces you should specify the whole parameter in quotes like: "/eThis is data with spaces". Obviously, using "s in the string is not supported. This string is directly written into the FLV file without any further encoding. If /k switch is specified, 'keyframes' object is added to the metadata. (Otherwise, any existing 'keyframes' object in the metadata will be deleted). Values in the keyframes object may be used for 'seeking' progressive downloaded FLV files using a serverside script. (See www.asvguy.com/2005/11/streaming_flash.html for some more information). If /l switch is specified, FLVMDI also injects onLastSecond event. It is inserted at 1 second minus the last timestamp value. You can add the event to NetStream just like onMetaData event. If /v switch is specified, all other switches are ignored and FLVMDI writes the onMetaData event data present as an XML file (using FLV name with XML extension). Original FLV file is not modified and no metadata is injected. If /p switch is specified (v2.94 and above), FLVMDI outputs the progress, which may help if you are getting an error to find out at what stage it happens. FLVMDI GUI frontend FLVMDIGUI is a GUI frontend for FLVMDI. It uses (and so requires) FLVMDI.EXE, in the same folder for your convenience. Version 1.05 has been only tested on Win XP, and hopefully will require no help. If you do not feel comfortable using the command line interface, then FLVMDIGUI is for you! Downloads FLVMDI 2.94 (flvmdi294exe.zip 228KB) FLVMDIGUI 1.05 (flvmdigui105.zip 453KB) Links Creative COW Leader Lee Brimelow explains &page=/articles/brimelow_lee/flv_meta_injection/index.html" target="_blank">how to inject extra metadata into your Flash video (FLV) files. Short video: Using flvmdi to inject metadata into flvs by Flashcomguru. Compressing FLV video tutorial by Jeroen Wijering FLV Metadata Viewer Free MetaData Viewer application in property sheet extension form, for Windows XP (by Manitu Group) You need to submit your link in order to be listed in this section. We reserve the right to reject/accept any link submitted. Thanks We'd like to thank to Justin Watkins (for his help with the AMF Data format); Stefan and Abdul for suggestions and following people for their miscellaneous help: Michael Harris. Also special thanks to Ivn Cavero Belaunde (Video Architect, Flash Authoring) of Macromedia. FAQ I get a black window pop up and disappear when I run FLVMDI. What's going on? This is expected behavior. FLVMDI is a command-line console application. (On XP, you can run CMD.EXE, navigate to the folder you have FLVMDI and run it from command-line to see the output). FLVMDIGUI provides a Graphical User Interface for running FLVMDI. FLVMDIGUI displays a message box saying 'FLVMDI.EXE not found'. What now? FLVMDIGUI is a front-end for running FLVMDI. Download if you haven't and copy FLVMDI.EXE to the folder you have FLVMDIGUI.EXE and it will be able to find and run FLVMDI. How to use FLVMDI with ColdFusion? Thanks goes to Stefan for the following sample: You need to use cfexecute like: <cfexecute How to get the MetaData? You will need to add onMetaData event (and onLastSecond event, if you'll be using it) to NetStream object. Here's a sample code snippet for onMetaData event: nc = new NetConnection(); nc.connect(null); nets = new NetStream(nc); video.attachVideo(nets); //Video is an Embedded Video symbol nets.play("sample.flv"); nets.onMetaData = function(metadata){ trace('onMetaData event at '+nets.time); trace(' duration: '+metadata.duration+newline+ ' lasttimestamp: '+metadata.lasttimestamp+newline+ ' lastkeyframetimestamp: '+metadata.lastkeyframetimestamp+newline+ ' '+metadata.width+newline+ ' '+metadata.height+newline+ ' videodatarate: '+metadata.videodatarate+newline+ ' audiodatarate: '+metadata.audiodatarate+newline+ ' framerate: '+metadata.framerate+newline+ ' creationdate: '+metadata.creationdate+newline+ ' filesize: '+metadata.filesize+newline+ ' videosize: '+metadata.videosize+newline+ ' audiosize: '+metadata.audiosize+newline+ ' datasize: '+metadata.datasize+newline+ ' metadatacreator: '+metadata.metadatacreator+newline+ ' metadatadate: '+metadata.metadatadate ); }When you are using AS2, you may need to add the event(s) using the following syntax: nets["onMetaData"] = function... nets["onLastSecond"] = function...For adding onLastSecond event when you are using Flash MX 2004 professional video components, you may need to access the NetStream object in the component. For example, if the media display component has the instance name 'md', you can access the NetStream Object like the following: var nets = md._playerImpl._ns; nets.onLastSecond = function...Is FLVMDI source available? Unfortunately, no. FLVMDI uses our internal commercial FLV Library which we wouldn't like to give away. IS AMF data format available? The data format is documented in SWF 8 specs. (FLV format is defined in SWF specs). Can I include FLVMDI with my application? Yes, but generally, you'll need to,
Can you provide me a custom FLVMDI build to include in my application? Yes, please contact us with your specific need. If it's simple enough, you may even get it free. I love FLVMDI so much. Can I make a donation which will help further development of FLVMDI? Thank you! Note that a donation is not necessary or required, FLVMDI is free to use for any purpose. Still, if you wish to donate: You can also consider purchasing Manitu Group products to support us... Support FLVMDI is not an officially supported product. But you'll most likely receive a response when you write to flvmdi@buraks.com. Please let us know your experience and about bugs, suggestions are always welcome. |
Copyright © 2004-2007 Manitu Group, Istanbul, Turkey. All rights reserved. All trademarks acknowledged.
General Privacy Policy of Manitu Group |