Macromedia Flash Server - Access the original dimension of a live video stream

This is Interesting: Free IT Magazines  
Home > Archive > Macromedia Flash Server > August 2005 > Access the original dimension of a live video stream





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Access the original dimension of a live video stream
lti-1a8g-LMbKfuCQv7pBDgjK7y7TUQ@public.gmane.o

2005-08-26, 5:45 pm

Hello,

I've just wondered if there is a way to know the exact size of a live
video stream, given only the stream and the video object ?
I'm currently designing a "few to many" live event broadcasting/meeting
solution, and given the wide array of connection types (broadband, but
from 512/128 to 1024/1024 to 20Mbs/1Mbps), each broadcasting individual
will have to send the best he'll afford : from 120x90@5fps to 320x240@20fps.
There will only be one "presenter" *on air* at the time, so only one
video object in the UI, and I'm not too keen in displaying a 120x90
highly macroblock'd video stretched to 320x240, so I'd like to adapt in
the "viewer" interface, the video object size according to the source
material.
One easy way, as I'll know before hand what kind of connection and
webcam each presenter will be equiped with, is to store such
user-dependant data, retrieve it by XML and blablabla.

But isn't there a way to access some *hidden* (or less well documented)
properties on the video object that would give me the original capture
size of a live stream (at actionscript level, of course) ?
I know that should be possible in flash player 8 (well, locally, as far
as I know) but hey ...

Regards.

=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Wilton Rossi

2005-08-26, 5:45 pm

I think that the best solution is to use a shared
object that stores all user config soon after the
settings are defined. That info can be retrieved any
time later. That's very easy to implement.=20

Regards,

W

--- lti-1a8g-LMbKfuCQv7pBDgjK7y7TUQ@public.gmane.org wrote:

> Hello,
>=20
> I've just wondered if there is a way to know the
> exact size of a live=20
> video stream, given only the stream and the video
> object ?
> I'm currently designing a "few to many" live event
> broadcasting/meeting=20
> solution, and given the wide array of connection
> types (broadband, but=20
> from 512/128 to 1024/1024 to 20Mbs/1Mbps), each
> broadcasting individual=20
> will have to send the best he'll afford : from
> 120x90@5fps to 320x240@20fps.
> There will only be one "presenter" *on air* at the
> time, so only one=20
> video object in the UI, and I'm not too keen in
> displaying a 120x90=20
> highly macroblock'd video stretched to 320x240, so
> I'd like to adapt in=20
> the "viewer" interface, the video object size
> according to the source=20
> material.
> One easy way, as I'll know before hand what kind of
> connection and=20
> webcam each presenter will be equiped with, is to
> store such=20
> user-dependant data, retrieve it by XML and
> blablabla.
>=20
> But isn't there a way to access some *hidden* (or
> less well documented)=20
> properties on the video object that would give me
> the original capture=20
> size of a live stream (at actionscript level, of
> course) ?
> I know that should be possible in flash player 8
> (well, locally, as far=20
> as I know) but hey ...
>=20
> Regards.
>=20
>

=3D-----------------------------------------------------------
> Supported by Fig Leaf Software -
> http://www.figleaf.com
>

=3D-----------------------------------------------------------
>=20
> To change your subscription options or search the
> archive:
>

http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>=20




=09
________________________________________
____________
Start your day with Yahoo! - make it your home page=20
http://www.yahoo.com/r/hs=20
=20

=3D-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=3D-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Naicu Octavian

2005-08-26, 5:45 pm

There might be 2 solutions:
1) use netStream.send() to call a function on every
subsciber's client that resizes the video object to
the parameters sent. You can use send() every x
seconds or whenever a new user joins.

2) use the onMetaData() event (search the list it has
been discussed before) but I do not know if you will
recieve any size information from live streams!

--- Wilton Rossi <wiltonrossi-/E1597aS9LQAvxtiuMwx3w@public.gmane.org> wrote:

> I think that the best solution is to use a shared
> object that stores all user config soon after the
> settings are defined. That info can be retrieved any
> time later. That's very easy to implement.=20
>=20
> Regards,
>=20
> W
>=20
> --- lti-1a8g-LMbKfuCQv7pBDgjK7y7TUQ@public.gmane.org wrote:
>=20
> of
>

=3D-----------------------------------------------------------
>

=3D-----------------------------------------------------------
>

http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>=20
>=20
>=20
> =09
> ________________________________________
____________
> Start your day with Yahoo! - make it your home page=20
> http://www.yahoo.com/r/hs=20
> =20
>=20
>

=3D-----------------------------------------------------------
> Supported by Fig Leaf Software -
> http://www.figleaf.com
>

=3D-----------------------------------------------------------
>=20
> To change your subscription options or search the
> archive:
>

http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>=20



________________________________________
__________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around=20
http://mail.yahoo.com=20

=3D-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=3D-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

lti-1a8g-LMbKfuCQv7pBDgjK7y7TUQ@public.gmane.o

2005-08-26, 8:45 pm

Hmm well, I forgot to mention that I'll be using a dual server set-up :
actually, the live feeds will be done via Speedera (that is, with their
Speedera Encoder (separate swf)) whereas our own Flashcom server will be
used in a second setup to propagate the "active channel" to all viewers.
To sum up, all viewers will connect to the main app, which maintains
with a SharedObject, the current external RTMP feed to connect to.

Of course, as you mention it, I could also propagate each
presenter/current presenter encoding settings, but it will be
pre-recorded settings (in a xml, file, a database, etc). Actual settings
used in the Speedera Encoder won't be available on the main app, located
on another Flashcom server.
Except if I load the Speedera Encoder as an external swf in a MovieClip
inside a "front box" swf and try access to access adequate properties
(active Camera properties logging : current framerate, video size, etc),
and then connect to the main app server, and propagate them.
But that might require a bit too much reverse engineering (that is, to
build the front end)...

Thanks

Wilton Rossi wrote:

>I think that the best solution is to use a shared
>object that stores all user config soon after the
>settings are defined. That info can be retrieved any
>time later. That's very easy to implement.
>
>Regards,
>
>W
>
>--- lti-1a8g-LMbKfuCQv7pBDgjK7y7TUQ@public.gmane.org wrote:
>
>
>
>=-----------------------------------------------------------
>
>
>=-----------------------------------------------------------
>
>
>http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>
>
>
>
>
>
> ________________________________________
____________
>Start your day with Yahoo! - make it your home page
>http://www.yahoo.com/r/hs
>
>
>=-----------------------------------------------------------
>Supported by Fig Leaf Software - http://www.figleaf.com
>=-----------------------------------------------------------
>
>To change your subscription options or search the archive:
>http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>
>



=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

lti-1a8g-LMbKfuCQv7pBDgjK7y7TUQ@public.gmane.o

2005-08-26, 8:45 pm

Regarding the first solution (I too think the onMetadata event is not
fired on a live stream, but I'll check), wouldn't it be more
cost-effective on a bandwith usage point of view to use a SharedObject
that holds the current video dimensions ?
Each time the "current/active" dimensions are modified, the onSync
method on the subscribers is called and so on.

That lets the matter of how to detect such a change and access the
encoding properties. See my reply to Wilton Rossi's answer for more
details (at this point the encoding is done on a separate Flashcom
Server that the one that will be used to "tune" the subscribers on the
correct live feed).

I think that I'll go first for Dave Simmons' solution. It has the
advantage of the simplicity.

Thanks.

Naicu Octavian wrote:

>There might be 2 solutions:
>1) use netStream.send() to call a function on every
>subsciber's client that resizes the video object to
>the parameters sent. You can use send() every x
>seconds or whenever a new user joins.
>
>2) use the onMetaData() event (search the list it has
>been discussed before) but I do not know if you will
>recieve any size information from live streams!
>
>--- Wilton Rossi <wiltonrossi-/E1597aS9LQAvxtiuMwx3w@public.gmane.org> wrote:
>
>
>
>=-----------------------------------------------------------
>
>
>=-----------------------------------------------------------
>
>
>http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>
>
>=-----------------------------------------------------------
>
>
>=-----------------------------------------------------------
>
>
>http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>
>
>
>
> ________________________________________
__________
>Do You Yahoo!?
>Tired of spam? Yahoo! Mail has the best spam protection around
>http://mail.yahoo.com
>
>=-----------------------------------------------------------
>Supported by Fig Leaf Software - http://www.figleaf.com
>=-----------------------------------------------------------
>
>To change your subscription options or search the archive:
>http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>
>



=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com