RichFLV – Apollo FLV Editing Tool

RichFlv can:

  • Read flv Metadata
  • read/edit/modify/delete cuepoints
  • cut flvs
  • convert the sound of the flv to mp3
  • convert flv to swf

The API i developed for RichFLV implements most of the FLV file specificaton and some parts of the SWF file specification in Actionscript.
It`s all done with pure Actionscript (Byte Array Baby!) so no external tools are used. The cool thing is that the only thing that depends on the apollo framework is the part were RichFlv actually saves the files to your desktop (FileStream.writeBytes()). The same could be done as a none apollo app in the browser and than send to the server. Imagine this as an extension to popular video sites. It would enable real flv remixing in the clients browser!

RichFlv is currently an alpha release so expect some limitations and bugs. Current known issues are:

  • All flvs will be saved with a framerate of 25/s
  • Exported SWF will only contain the Video information (no audio)
  • Cuepoint Timeline does not scale properly if application is resized
  • overall handling and accuracy needs improvements
  • I would not use files bigger than 30 mb.

These problems will be corrected until RichFlv reaches 1.0 status.
Future versions will have the ability to mix several flv together to one file. I have this all ready but need more time on the UI.

Download RichFLV Alpha 1

Updated to Alpha 2.0: See post here.


!!! New Version Available See This Post !!!

Watch a quick introduction Video here.

(Again it`s an alpha release – use on your own risk)
Here are some Screenshots:

Cue Point Editor

CuePoint Timeline

Cutting Slider

I`m always interested in your comments, bugs and suggestions. Post them here or write directly to: info@richapps.de

Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+Pin on Pinterest

147 thoughts on “RichFLV – Apollo FLV Editing Tool

  1. Nice work! If you’d release the FLV functionality as an open source library that’d be even cooler!

  2. Hi,
    great work, I’m looking forward to use this tool!

    There seems to be a problem on Mac OS X. Just after pressing “Open”, the Application quits.

    Greetings Florian

  3. Very nice. Please, please I really want to dig into using Byte Array and Sockets. Could you send me concrete resources and tutorials I could use to learn.

  4. Wow great work. How did you get your hands on the codec information? Does it work with both on2 and sorenson?

  5. Hey,

    how did you get it to show n windowsFileDialog, when you click at the open button in the menu. is that filedialog pur actionScript from the apollo api. i know there are so classes and controls for fileopendialogs but nothing which looks like this filenOpenDialog…great work

    ArgV

  6. Thanx for all the kind comments!
    @Erik:
    I will consider releasing the whole thing as open source. But not now.
    @Florian:
    Thanks for the bug report. Does that happen when you selected a file or even before the dialog appears?
    @aSH
    Thanx! That`s a real honor for me.
    @William:
    I plan some tutorials in the future. It all depends if i find the time 😉
    @George:
    I do not touch the actual codec stuff. That`s one advantage i think because the app does not need to reencode the flv. The specification for the FLV file format can be downloaded at adobe. I just analyse the video frames in the flv. The raw video data will not be changed.
    argv:
    No it`s the standard file dialog.

  7. Looks promising! great work.

    One small thing I found: if you try to open a non-FLV file, the application stops working. The error is not being handled, so you have to close the app and start it again.

  8. where or how can i find this standard file dialog…or how did you implemented it?

    merci

  9. argv:
    There’s nothing special about that dialog, it doesn’t even need apollo, it pops up when you do FileReference.browse()
    Administrator:
    Great job, looks amazing. Is it possible we could talk regarding integrating RichFLV into a project I’m working on.

  10. hey!
    i found one more bug. if you try to open huge FLV file – 400-500 Mb. it hangs than get back but didnt open the file. also it is starting eating all the computer resources… actually no window shows that it is working on smth. just nothiong at all… :(

  11. A great tool. Thanks!

    A question: Would it be possible to add the capability of adding keyframes to existing FLVs? I ask because some FLVs generated by FCS (specifically for Adobe Connect) don’t contain ANY keyframes (they’re designed for streaming from FCS) so that they can’t be scrubbed offline.

  12. I keep getting the same error when trying to import a simple file (1MB).

    TypeError: Error #1010: A term is undefined and has no properties.

    Any idea on why this might be happening?

  13. Ignore the previous post, I got it to work. Problem is, none of my FLVs work. :/

    I get the following error message:
    Error: Error #2030: End of file was encountered.
    at flash.utils::ByteArray/readObject()
    at de.benz.dataFormat.flv.tags::MetadataTag/decode()
    at de.benz.dataFormat.flv::FLVReader/::analyseTag()
    at de.benz.dataFormat.flv::FLVReader$iinit()
    at RichFlv/::doVideoOpen()
    at Function/http://adobe.com/AS3/2006/builtin::apply()
    at ()
    at flash.utils::SetIntervalTimer/flash.utils:SetIntervalTimer::onTimer()[C:\Documents and Settings\acrorel\Local Settings\Temp\aslibc-26332\SetIntervalTimer.as:32]
    at flash.utils::Timer/flash.utils:Timer::_timerDispatch()
    at flash.utils::Timer/flash.utils:Timer::tick()[C:\Documents and Settings\acrorel\Local Settings\Temp\aslibc-26332\Timer.as:158]

  14. James could you send or upload one of your flvs that`s not working? I would like to find out what`s going on. Thanks. Benjamin

  15. Uh…not easily. I have dial up, and upload videos with dial up is a sorta no-go area.

    Basically I went on YouTube (or similar video websites) and downloaded some of the videos using the VideoDownloader extension for Firefox. I’ve tried the FLVs with other FLV players and they all work, just your has all the good features. :)

    Example:
    YouTube page: http://www.youtube.com/watch?v=D2kJZOfq7zk
    Download link that VideoDownloader gives me: http://youtube.com/get_video?video_id=D2kJZOfq7zk&t=OEgsToPDskJQnDpVlKWmTLLHYll1eimZ&sk=y6uaBQDsCwpxDB64juPIhQR
    You just have to rename is Urban Ninja.flv or whatever you want.

    Hope that helps. 😀

  16. Hi James,
    thanks for pointing me to that! I could reproduce the problem. I will try to look into it over the weekend and let you know.
    Benz

  17. Cheers Ben, glad to know there are devs that actually care about there customers (especially taking in mind that RichFLV is free :D).

  18. This looks like a fantastic little program – I can’t find anything that does what you’re trying to do even if I pay for it!!!

    I’m making FLVs for educational screencasts and would like the ability to be able to cut up or splice together many FLVs to make them more appropriate for each class that I teach.

    This tool (once the sound and multiple flvs is finished) will be absolutely perfect.

    Thanks for the hard work.

  19. Cheers :)

    I know this is slightly nooby, but what do keyframes and cuepoints do?

    Also, can you edit FLVs (like crop them)?

  20. This might be a very basic question.
    I downloaded the zip file on to my machine , I am not able to find any application to run , How do I get to the UI ?
    Thanks

  21. Hi!This program is great!
    But, I try to open a FLV file I have here, and got this error:

    An ActionScript error has occurred:
    TypeError: Error #1010: A term is undefined and has no properties.
    at RichFlv/::doVideoOpen()
    at Function/http://adobe.com/AS3/2006/builtin::apply()
    at ()
    at flash.utils::SetIntervalTimer/flash.utils:SetIntervalTimer::onTimer()[C:\Documents and Settings\acrorel\Local Settings\Temp\aslibc-26332\SetIntervalTimer.as:32]
    at flash.utils::Timer/flash.utils:Timer::_timerDispatch()
    at flash.utils::Timer/flash.utils:Timer::tick()[C:\Documents and Settings\acrorel\Local Settings\Temp\aslibc-26332\Timer.as:158]

  22. I have a customer that needs the type of functionality that this tool provides…rather than rebuild it, I would like to discuss potentially licensing it and/or working with you on a consulting basis to incorporate this into the system they need.

    Please contact me if you would like to discuss the opportunity further. Thanks for your time.

  23. Can I use this application to create an thumbnail image or does anyone know of one I can use or the best way to create a thumbmail from an flv file. Mac user

  24. Very, very nice. I’d pay serious $$ for this app if it could edit the metadata, as well! (I guess you could consider that a feature request for a future release.)

  25. @Lou will be in a next release. It`s already implemented but not in the interface.

  26. @Lou: How would you want to edit the Metadata?
    What kind of Metadata would you add?

  27. I am having a hard time getting this to work. I downloaded the “Apollo Runtime” but do not see a AIR file within your RichFLV_alpha2.zip file. After unzipping this I get 3 imgages for the logo, mimietype, RichFlv.swf and META-INF Folder. Within the META-INF folder there is an AIR folder with application.xml and hash file. Am I missing something?

    Thanks!

  28. Hi All,
    I had the same isues as Brandon. I just renamed the ZIP file from:
    RichFLV_alpha2.zip to RichFLV_alpha2.air
    Then it installs as an application (after downloading the Apollo software from Adobe)

  29. how did you get it to show n windowsFileDialog, when you click at the open button in the menu. is that filedialog pur actionScript from the apollo api. i know there are so classes and controls for fileopendialogs but nothing which looks like this filenOpenDialog…great work

  30. No offense, My first Language is German, so I like to think I am pretty open to cross-language difficulties… but, in the video he names the cut version …_cutted just wondering if this is a language barrier thing?

  31. Yup a language problem but should not cut down the functionality of the app 😉

  32. Basically I went on YouTube (or similar video websites) and downloaded some of the videos using the VideoDownloader extension for Firefox. I’ve tried the FLVs with other FLV players and they all work, just your has all the good features.

  33. @rowery: So do you have any problem playing those files in RichFLV. Let me know i`m sure i can fix that.
    Benz

Leave a Reply

Your email address will not be published. Required fields are marked *