Windows Media Source Manager

What’s this for?
About a week ago I was given the task of providing a website with a live surf cam. After getting all the hardware setup and running; my next challenge was to secure the feed so that I would not get leached off (hot linking).

At first I was using IIS6 but then switched to Apache because I found out about a .htaccess file that allows the administrator to configure and filter, rewrite, and redirect clients. After setting this up I then discovered that the embedded video players don’t transfer a ht-referer tag. This basically made all this useless to me. I tried just about every single type of embedded video player, and even tried a flash stream server but that failed. I was unable to obtain the video feed from the device.

Finally I decided to try and build a server side application that would move my video source around. I started using ASX files to mask my MMS: address. This worked great but when a client would click on the properties of the player it would display the ASX source address. I atemped to disable the right click event from the page and the players but this just slows a potential leecher down, it doesn’t stop them since you can turn these featurs off in firefox and other browsers.

The application displayed below was developed so that the web administrator could rename the asx file every few minutes and update an html page with the new link.

Interface

 

The image above is a screen grab of the main interface. This interface consits of two major sections.

The first one is the [Object List], this list displays all the current ASX instances that you have setup. As you can see the [Reference Name] is for easy referencing. The [HTML File] is the website or document that contains the link to the asx file.[Current File] is the current filename of the asx file. The status tells you if its running, stopped, or failed. Lastly the Intervals display how many minutes before the next rename.

Note that this software is not extention limited, meaning you can use it for just about anything. Like, moving images, videos, html pages, ect... Just be aware that with FTP connection the target and source files have to be downloaded and then reuploaded; on a local host everything happens live so no need to worry.

The lower portion of the screen displays the details of the selected object; it also displays the current state. This is where most of your setup takes place.

The HTML File
This is the (html/xml/php/what ever) where the .asx link exists. Currently the software only allows for ONE HTML file but as many references inside its contents. Perhaps in the future I’ll incorporate multiple Location Files.

The Current ASX
This is the (asx/rpm/xml/what ever) that you wish to rename periodically. Please note that this file can be anything you want. But take the file size into consideration, because the software will download this file for temporary manipulation with a FTP connection. Perhaps in the future I will discover a way to perform an FTP copy command. So avi mpg and anything larger than a MB might take to long to download. The software will still do it, it just won’t be done under a second.

Browse Buttons
These buttons are available when the object has the UseFTP unchecked. These buttons allow you to navigate around your local/LAN directories for easy file locating. This is the fastes and most recomened way to use this application. This software can be ran on the server it self or from a remote system using the FTP settings.

The interval (minutes)
When the Object is started it will generate a trigger time by adding the interval to the current start time. So if the current time is 12:00 and an interval of 30 is given then at 12:30 it will rename the object. This will continue to happen every 30 minutes. The max allowed time is 9999 minutes (166.65 hours). Every second the application checks all the objects for their trigger time, if they are running.

Use FTP
This option enables the system to connect to a ftp server to perform its task. When this check is left blank, the user can setup the software to perform the actions on the local host. This will also work in a network environment if you have the appropriate permissions. When the UseFTP is enabled; the two browse buttons are enabled for easy file locating, otherwise they are disabled.

FTP
This button opens up the FTP settings windows. In this window you can enter your ftp login formation, Host Address, Username, Password. When the information is saved to the hard drive it is stored in a encrypted object so that to add another layer of security to your connection settings. Note each object contains its own ftp reference properties. Allowing the administrator to use one application on multiple sites.

Under Hood
The application uses an internal time that triggers ever 1000 milliseconds (1 second). When this happens it runs down the list of objects and checks to see if they are running. If an object is running it then checks to see if the current time is equal to or later than the objects end time. If an end time is detected it then tells the object to process its task.

When the object starts processing its task, it turns on a busy flag so that it is not triggered again if the process has not finished before the next time interval. After the flag is setup it then checks the object to see what type of update method to use (Local Host/FTP).

Each object is capable of launching its own process in a separate thread. This allows the system to perform many updates at the same time with out having to wait on the provisos object.

FTP and Local host work the same way except that when the system is using local host it uses basic window commands to perform its task on the local or network drives. On an FTP method it connects to the ftp site and downloads both the ASX file and HTML file. This way it can easy perform its takes on the local host and then upload the results at the end.

The processes have many fail points, and nothing is processed until all the fail points are cleared. In other words they are about 15 different fail points, if any thing fails in any of those 15 points; then the process is canceled and the object is flagged as failed and the processes ends.

The process takes the ASX file and generates a new random name the extension is inherited from the original target file. This file is then placed back to the website folder and the html page that contained the target file link is then modified to replace the old link with the newly generated one. Then the html file is placed back into the web directory.

When everything is complete the process then cleans up the old target file and all the temporary files that it generated in FTP mode only.

After every process is complete the system then saves the instances of the object collection to ensure that it retains all of its information just incase something was to happen (like power outage, or an alien attack)

 

 

 

Purchase now for direct download.....
Life time updates and e-mail support.
SPECIAL OFFER $20.00..................