ActionScript 3.0 :: Fetch NetStream Meta Without Playing?
Nov 30, 2011Is there any way to get a NetStream's meta from FMS other than starting playback?I want duration, framerate, etc. before the movie starts playing.
View 1 RepliesIs there any way to get a NetStream's meta from FMS other than starting playback?I want duration, framerate, etc. before the movie starts playing.
View 1 RepliesI want to get the meta from an FMS server and start buffering (really I just want the first frame). Is there any way to do this other than calling play() and waiting for meta to call pause?
View 2 RepliesI am using NetStream, NetConnection and Video object to play an mp4 file which is hosted over a web server using http.This is an AIR application and the relevant code is pasted below:
var url:String = <some http url>;
connect_nc = new NetConnection();
connect_nc.connect(null);
[code]........
I have a URL that dynamically serves an FLV file or GIF file at different times.
For example, if I put [URL] in my browser, and the server happens to serve an FLV file at that time, the browser will ask me to download the FLV file. If the server happens to serve a GIF file at that time, the browser will display the GIF. Basically [URL] will generate dynamic file content.
In my actionscript I have the following code (assume the video object, netconnection, and other initialization are already done):
netStream.play(http://www.myserver.com/path1/var=somevalue);
When the URL serves an FLV file, the video plays successfully in my flashplayer.
Note that the *actual* FLV file is not specified, only the path that is supposed to contain it. I haven't seen any example of this before, but it works when I try it.
Problem: If the URL happens to serve a GIF, my flashplayer stalls.
Question:
How can I detect that the URL served a GIF? (so that my player can recover) I tried checking if an onStatus event was fired (I'm expecting NetStream.Play.StreamNotFound), but there doesn't seem to be any. It looks like the netstream object did not react to the wrong input.
I've been searching for this for a while, and either my google-fu is weak or there is no easy to find answer yet...
I am using a NetStream to stream a video file from anywhere. The NetStream is NOT connected to any server. Here is the code:
// Create new connection and stream
_netCon = new NetConnection();
_netCon.connect(null);
[Code]....
This basically works, of course, but the video always starts playing only when it is fully loaded. It also passes the metadata only then. But the main reason to use a NetStream is so that you can play a video BEFORE it is fully loaded.
I tried playing around with the bufferTime property, but to no avail. Also made sure that there is no caching involved when loading the video. I always load a "new one" by adding some "?bla=date" value behind the url.
Is it possible that the "real" streaming only works when really connected to a server? Or am I missing something else?
I have this little NetStream movie (which I'm not allowed to show, sorry) set up like this:
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
[code].....
I'm brininging in external .flv's into my swf using the NetStream method, I can't seem to detect when the flv has finished playing so I can reset the buttons in my video playlist.
View 11 RepliesI'm sure this is a simple question, but I just can't crack it. In my video player I want to detect if the current status is playing or paused. But I can't figure out where this info comes from. Is it a property of the ns object?
View 4 Replieshow I know the status of the NetStream whether it is playing or paused or stopped
View 7 RepliesI am reusing a NetStream object to play different live streams.
What annoys me is that even though I start playing another stream name on this same stream object, when it is attached to a new Video object after issuing the "play" call, there is stale data after the previous playback. It's NOT the video object obviously, as I already create a new Video object every time I play another stream name on this NetStream object (Video.clear does not work anyway - known player bug).
I can rectify the situation by "resetting" the NetStream object - creating and setting up a new one for each playback, assigning it to the old reference - essentially transparent to the application. The problem is performance - there is the overhead of creating and setting up a new stream object every time. I wish to avoid such overheads.
I wish there was some form of "clear" call for the NetStream class as well...
I'm trying to play a 10 minute long video (h264/mp4) which is 39MB in size, after I call stream.play(fileURL) it doesn't start playback until its loaded around 12-16MB of the file (many many seconds later), I finally get onMetaData at this point too. Why doesn't it begin playback right away, or at least w/in a couple seconds? What can cause this bloated lead in time?
View 2 RepliesI'm making a small video players in AS3, and I've found that after calling NetStream.pause() or NetStream.togglePause(), no status messages are being fired any more.If I click the "pause" button while the video is buffering, I never get the Buffer.Full message.Here is some code:
_connection = new NetConnection();
_connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
_connection.connect(null);[code].....
I am working on an app that will take a snapshot of an rtmp stream of an archived video, save it to a file, and ExternalInterface the file name to the hosting page to javascript it up for display.
I actually have all pieces working great. The only time an error is thrown is when I pause the video, seek to somewhere, and then try to take a snapshot. Then there is a runtime error of:
SecurityError: Error #2123: Security sandbox violation: BitmapData.draw: mySwf.swf cannot access rtmp://myFlashServer/myApp. No policy files granted access.I've seen post after post of suggestions and have tried them, but without success.
I have the crossdomain.xml and my FlashMediaServer security setup fine (it is actually working, except for this one glitch). It just seems to be the pause-then-seek-then-BitMapData.draw() combination which is creating issues.
Another weird thing: after the error is thrown, if I resume the stream and take a snapshot, it works flawlessly again.
I want to read Meta tag information of a video file like Artist,Album,Year,etc.... I tryed "onMetaData" for a video file.But i didnt get information like rtist,Album,Year,etc... The video file can be mp4,avi,mpg,mov. I dont want them to play in swf... I just want to load the file and show the meta tag information as text. For audio files i can get id3 information after loading the song.But is there any other way to get them with out loading the sound? Each loading will take time to give the result.
View 9 RepliesI designed my friends site entirely in Flash, but now want to add things like meta tags. I've done extensive searching and found the best (or only) way to do this is to open my index.html page in dreamweaver or textedit and add them there. Sounds easy enough but when I open my html page to look at the code I get this error:
// Provide alternate content for browsers that do not support scripting
// or for those that have scripting disabled. Alternate HTML content should be placed here. This content requires the Adobe Flash Player. Get Flash.
I have Flash Player installed.
I bought a template, made some changes, published it and upload it on FTP. But each time I do a search, one one the search results is one of the orignal page names. Any tips on how to change it?
View 2 RepliesI want to create a server script that will reply with the meta of a specified stream. This is for a player I have that really needs meta, but I hate having to start playing the video to get it. Is this possible? What calls does the server need to do to fetch and transmit the meta?
View 2 RepliesI am writing a flex3 tool for our uber-geeks. The tool is for futzing around with sharing URLs to various various social sites.
private function submitRequest(evt:Event):void {
var requestURL:URLRequest = new URLRequest(constructURL());
requestURL.method=URLRequestMethod.POST;
[Code].....
I can call an external javascript function that will do a post, but however the XmlHttpRequest infrastructure only want to setRequestHeader(key,value), and seems to need to be from a very specific list of strings. setRequestHeader("foo","bar") did not add a foo header in my outgoing request.
There does not seem to be a way to add the header meta tag. via javascript. Or at lease I am not finding it off of google.
I'd like to be able to resize the stage according to the size (and aspect ratio) of the video - to do this so far I've been trying by using an external function call to javascript:
Code:
function onMetaData(info:Object):void {
objInfo = info;
ExternalInterface.call("videoPlayer.resizeVid", info.width, info.height, mcVideoControls.height);
tmrDisplay.start();
}
As you can see it happens on meta load, and in order to do that I have to attach the net stream, start playing the video to load the meta data, and then pause it:
Code:
ncConnection = new NetConnection();
ncConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
ncConnection.connect(null);
[code].....
What's happening is the player loads up at it's original size, and then with a jolt is resized as required, but responsiveness and load time of the video is very bad and hangs the browser quite easily...
1) Is there some sort of threaded pre-load I can use so that the video doesn't load with such a jolt and the responsiveness of the player isn't compromised
2) is there a way of obtaining the meta data of the video without loading it fully?
I'm trying to figure out a way to alter a path to an image that is in a meta tag. It's for a facebook share button, and I'd like the ability to change the thumbnail image that is sent to facebook depending on where the user is in my flash file. The link itself is sent from flash no problem but I'd like to update this meta tag
Code:
<link rel="image_src" href="[URL]" / >
First somehow (not sure if PHP is the answer or flashvars or what) and then send the link. I attempted to just add all the facebook meta data to a php file that had a redirect link to the facebook share but it didn't like that hack. So basically I need to alter the meta tag on the current page and send the link from flash.
Can I insert stuff like headers (<h1>) and meta keywords into flash?
View 1 Repliesthis is a part of my code
[Embed(source='dmr/images/icones/icnPresenceInline.png')];
[Bindable]
private var presentAuBureau:Class;
I know how to fetch the data from xml.. but i dont know How to save a data from flash to xml in runtime? example in e learning if a student scores 70% mark it should save in the database using xml and the data should update when he do more and more ..
View 1 RepliesIn my application I have a video playing from a NetStream. Every second on timer I update a text label with statistics like stream.info.currentBytesPerSecond. The problem occurs when the NetConnection associated with this NetStream closes: the getter for stream.info throws
[Code]...
I have a flash site which reads deep links from the URL, then using c# asp.net we read the url and write the appropriate meta tags for the page being requested. [code]...
View 1 RepliesI am communicating to an external server via a URLLoader and receiving the following warning: Warning: Domain domain name does not specify a meta-policy.Applying default meta-policy 'master-only'.This configuration is deprecated.
The provided link redirected me to another page, which didn't really explain how to remove this warning. It looks like it might involve modifying the crossdomain.xml file on the server, but I'm not sure exactly how. how to remove this warning?
I need to be able to take the meta data duration value for an flv and split it up into three separate variables: hours, minutes, seconds.
View 1 RepliesI've been trying to embed some svg files into an AS3 project using the Embed meta tag. For example:
[Code]...
However when displaying these files as Sprites only some of the gradients are surviving the embeding process. From what I've found simple (2 step) horizontal gradients seem to stand the best chance of being preserved, but sometimes other kinds of gradients are as well. In one case simply rotating an object 90 degrees causes the gradient to vanish when displayed in flash. Does anyone know a rough set of rules to use when creating svg gradient fills so they are preserved when rendered in flash? BTW: I used Inkscape to create the images in question.
Update: Bizarrely the solution to this seems to be setting the opacity of any object in the svg file whose gradient isn't displayed properly to a value below 1. Don't ask me why this works but it does. It does however have the unwanted side effect of the objects edges not being rendered as smoothly.
I am acquiring the contents of a table to fill a dropdown box in a Flex 3 application:
<mx:ComboBox dataSource="{myList}" />
The list is populated by the contents of a database table of persons:
Public, John Q
Doe, Jane
...
The combo box, however, also needs to have some other meta-entries in it that do not come from the database:
ALL
ALL MEN
ALL WOMEN
Public, John Q
Doe, Jane
...
I have an ActionScript project set up using the Flash Builder IDE. Using the Flex 4 compiler to compile it. At the top of my application class, I have:
[SWF(width="100%", height="100%")]
public class MediaPlayer extends MovieClip {
This is not acceptable to the compiler to do a release (it throws errors saying it can't parse the width/height values). Pretty annoying. I've tried to do things the "right" way, but none of the following work:
[Code]...
So the width and height attributes are being explicitly set to numbers here. I don't know much about the 'scale' attribute; maybe it is coming in to play here? And, to be clear: it will work as expected if I set the [SWF] meta tag to have width "100%" and height "100%"... so it seems like it actually is preferring the compiled arguments over the browser environment. Perhaps there are other settings I am missing?