1 (edited by drazvan 2010-02-22 07:50:09)

Topic: Streaming FLV stops playing after a few seconds

Hello everyone,

I'm having a bit of trouble playing a streaming FLV file (as generated by a FFMPEG process taking as input the video from a surveillance camera) on the Chumby.

Everything works fine in the desktop player, take a look at http://67.202.32.52/testflv.swf .

The problem is that the same SWF on the Chumby only displays a few seconds of video, then it stops. It still communicates with the server, I can see the TCP communication with tcpdump, but nothing gets animated on screen.

The FLV itself is at http://67.202.32.52:8090/test.flv . I've also tried it with the FLV player widget and I get the same result.

I've used the tutorial at http://wiki.chumby.com/mediawiki/index. … Connection to create my FLA.

And finally, here's what the Chumby says (over an SSH session):

--------------------


2010-02-22 17:48:44 TRACE: (Advance timer heartbeat)
2010-02-22 17:48:46 ChumbyVidStats::Dump() completed codec ? 0/0 keyframes (0 bytes) dropped, 0/0 P-frames (0 bytes), 1/57 other frames (2967 bytes) dropped
2010-02-22 17:48:46     width 0 (0 scaled), height 0 (0 scaled) rate 5 fps
2010-02-22 17:48:46     elapsed time 0.000s data transferred = 0K
2010-02-22 17:48:47 TRACE: WidgetPlayer.handleAdvanceTimer(): advance timer expired
2010-02-22 17:48:47 TRACE: WidgetPlayer.nextWidget(): loading next widget instance
2010-02-22 17:48:47 TRACE: WidgetPlayer.changeProfileEasterEgg(): Checking for profile easter egg
2010-02-22 17:48:47 TRACE:  - not found
2010-02-22 17:48:47 TRACE: WidgetPlayer.fetchWidgetInstanceXML(): processing widget instance
2010-02-22 17:48:47 TRACE: - same as current widget
2010-02-22 17:48:48 TRACE: (AlarmSet heartbeat)
2010-02-22 17:48:52 TRACE: (Master heartbeat)

--------------------

Any idea what's going on?

Thank you,
Razvan

--
Razvan Dragomirescu
Chief Technology Officer
Cayenne Graphics SRL

Re: Streaming FLV stops playing after a few seconds

I don't see any video when I try your SWF in Flash 10.1 inside Firefox 3.6.  Watching the Live HTTP Headers extension, I never see any attempt by the SWF to load the video file.

Re: Streaming FLV stops playing after a few seconds

If you go to http://67.202.32.52/testflv.swf in Internet Explorer, don't you see anything? I've just tried it again here and it works fine...

Razvan

Re: Streaming FLV stops playing after a few seconds

It fails for me in IE also... what version of Flash do you have on your desktop?

Re: Streaming FLV stops playing after a few seconds

I have version 10.0.45.2 installed (according to http://www.adobe.com/software/flash/about/). Are you able to load the SWF but it doesn't appear to request the FLV? They are both on the same server, just different ports (the SWF is on port 80 - Lighttpd, the FLV is on port 8090 - ffmpeg/ffserver).

It works fine for me both in IE and Firefox, on two computers (laptop and desktop).

Weird...

Razvan

Re: Streaming FLV stops playing after a few seconds

BTW, I've mentioned this but you probably missed this: the FLV is on port 8090, not regular port 80, so if you're sniffing traffic you should look for TCP connections to port 8090, not 80 (regular HTTP). I think that's why you're not seeing the request for the FLV.

Razvan

Re: Streaming FLV stops playing after a few seconds

drazvan wrote:

It works fine for me both in IE and Firefox

i also see nothing (IE and FF)

Re: Streaming FLV stops playing after a few seconds

I have no idea why people are unable to see my test files, they're hosted on Amazon EC2 (Elastic Computing Cloud). Anyway, I've made a little progress, this looks like a problem with the video decoder in Flash Lite. The video decoding stops after a few frames (anywhere between 1 second and 10 seconds). All it outputs is this:

2010-02-22 20:52:37 ChumbyVidStats::Dump() completed codec ? 0/0 keyframes (0 bytes) dropped, 0/0 P-frames (0 bytes), 303/1471 other frames (970430 bytes) dropped
2010-02-22 20:52:37     width 0 (0 scaled), height 0 (0 scaled) rate 12 fps
2010-02-22 20:52:37     elapsed time 0.000s data transferred = 0K

I was able to hack my way around this by doing this:

-----------------------------------------------------------------------------------
var connection_nc:NetConnection = new NetConnection();
connection_nc.connect(null);
var stream_ns:NetStream = new NetStream(connection_nc);
my_video.attachVideo(stream_ns);

stream_ns.onStatus = function(infoObject:Object) {
        if (infoObject.code=="NetStream.Play.Stop") {
            stream_ns.play("http://67.202.32.52:8090/test.flv");
        }
};


stream_ns.play("http://67.202.32.52:8090/test.flv");


--------------------------

So I'm simply restarting the stream whenever it ends. This makes it skip a second or so but it's still better than stopping altogether.

I'll continue to investigate, it's kind of weird that this whole thing works fine in the desktop player, but not in the Chumby One. BTW, is there a way to activate additional debugging in the Chumby Flash player? Maybe it can tell me why it decided to stop decoding the video.

Thank you,
Razvan