Topic: Using ffmpeg to create .flv files

Hello,

I have created a .flv file using ffmpeg.  I can play it on my computer, but when I try to play it on my Chumby using chumbyflashplayer.x I get a bunch of spew and then it exits, without playing my video.

In the middle of the spew, I see the following lines:
2008-01-09 02:09:16 ClientObject::SWFValidateCommon(url=file:///mnt/usb/fisrtTry.flv,size=2973431) validate result 0
2008-01-09 02:09:16 ClientObject::SWFValidateCommon() - validation failed, bad movie!

I used the following command to make the .flv file:
ffmpeg -i blah.ogg -s 320x240 -r12 -b220 -ar 22050 -ab 32 firstTry.flv

Is there anyone out there who has had success playing .flv files created with ffmpeg on the Chumby?  If so could you provide some hints on how you got there?  Any hints or pointers would be greatly appreciated.  I am very new to the whole Flash and Chumby thing.

Thanks,
Brent

2 (edited by jvc 2008-01-09 01:50:15)

Re: Using ffmpeg to create .flv files

are trying to convert an audio only file (blah.ogg) to an flv?

Did you see somewhere that the chumbyflashplayer.x can play flv files natively? Usually the Flash piece needs an flv player.

Re: Using ffmpeg to create .flv files

The .ogg file is both audio and video.  The .flv file produced by ffmpeg works on my Miro player, so I know that it is not complete garbage, but I also know that means nothing w/regard to the Chumby.

On the "Developing widgets for chumby" page in the wiki, it says that "Flash video (FLV) encoded with ON2 and Sorenson Spark codecs" is a supported feature.  However, on the bottom of the same page, I see: "The movie is the wrong version - Flash Lite 3 will not play Flash 9 movies." is a common problem.  Could it be that ffmpeg is making a Flash 9 movie?  I didn't find the answer with a little Googleing around, and the --help option to ffmpeg didn't shed any light either.

So, maybe my question should instead be: has anyone used free tools to create flash videos that work on the Chumby?  If so, how?

Re: Using ffmpeg to create .flv files

You don't play FLV movies directly with *any*  version of the Flash player - you need to create a SWF file that plays it.

Re: Using ffmpeg to create .flv files

Ahhhh, many thanks for filling that hole in my head.  I'll let that knowledge guide my activities later tonight.

Re: Using ffmpeg to create .flv files

Just an update to close out my orig. question.  I never did figure out how to make my .swf file play my flash video using Flash Develop.  Granted, I didn't give it a real good try as soon became too impatient and downloaded the Flash CS3 trial from Adobe.  From there everything got easier.  Creating the Movie and publishing the .swf file was dead simple.

I'd still be interested to know how to do the movie with the free tools, but this problem for the moment is solved, at least for the next 30 days.

Re: Using ffmpeg to create .flv files

I too would like to see this

8 (edited by jvc 2008-01-13 00:49:03)

Re: Using ffmpeg to create .flv files

Best bet is to looking in the FlashDevelop forums for workflow questions. Video is exceptionally different since you can't create a Video object with just Actionscript

Check out FlashDevelop's Documents section and this thread
http://www.flashdevelop.org/community/v … .php?t=321

Developing for the Chumby isn't particularly any different than creating a Flash 8 compatible swf. If you can get it to run in the virtual chumby you are mostly there with a few exceptions. Most of these can be found in looking at the Flash lite 3 docs found here:
http://livedocs.adobe.com/flashlite/3.0 … 04811.html

Re: Using ffmpeg to create .flv files

I tried the sample, But it still wont play a video file (.FLV). However it DOES Work on the PC

import util.VideoDisplay;

/**
* Sample video integration
*
* Pre-build command to generate the video placeholder:
* "$(ToolsDir)\swfmill\swfmill.exe" simple "library/video.xml" "library/video.swf"
*/
class Main
{
    static function main()
    {
        _root.createTextField("info",0, 0,5, Stage.width,30);
        _root.info.setNewTextFormat( new TextFormat("Arial") );
        _root.info.text = "FLV video streaming, yeah!";
        
        var display:VideoDisplay = new VideoDisplay(null, _root, "display", 1);
        display.setLocation(0, 30);
        display.setSize(300, 200);
        display.play("library/Vid2.flv", 0);
        fscommand("quit")
    }
}

I also put the test video into library/Vid2.flv on the thumb drive and ran it with

chumbyflashplayer.x -i /mnt/usb/TestVideo.swf

I do get the "FLV video streaming, yeah!" Text, but no video(or audio), Any Ideas?

Re: Using ffmpeg to create .flv files

I'm not sure, but I think Flash Lite will only stream video over HTTP, not from a local file.

In order to get around this for demos, we run a local lighttpd to serve the files (see the wiki for how to install lighttpd).

11 (edited by KMyers 2008-01-13 12:15:17)

Re: Using ffmpeg to create .flv files

So if I edit the following line from

display.play("library/Vid2.flv", 0);

to

display.play("http://Site.com/TestVid.swf", 0);

It may work?

12

Re: Using ffmpeg to create .flv files

You want to try

display.play("http://Site.com/Vid2.flv", 0);

Re: Using ffmpeg to create .flv files

Thanks, that was a typo, I will test when I get home, It works on the PC

Re: Using ffmpeg to create .flv files

Very eager to hear how this goes--I'd like to use the Chumby to play a .flv file for an art project, and not depend on having a wifi connection.

15

Re: Using ffmpeg to create .flv files

benedetti, the way this thread is heading is that a wifi connection is required. In order for you to get around it you are going to have to embed the video or go the lighttpd route