Date post: | 23-Dec-2015 |
Category: |
Documents |
Upload: | linda-williamson |
View: | 221 times |
Download: | 0 times |
1
Net-HDFuture
LIVE HD TV over the web, HD movies online streaming
NGN technologies
What do we have at present? YouTube - Videos in HD quality Few another sites with more or less same
technology No streaming online
Problems? Internet bandwidth doesn’t suit the needs 720p HD live video stream needs ~2.5Mbit/sec Average connection speed is about ~2.0Mbit/sec Time - we don’t want to waste it in eternal waiting Online movies in HD quality?
Net-HDGlobal Goal of the projectHD Streaming over the web w/o changing bandwidth
Secondary GoalsDevelopment of prototype of software for experimental purposesServer/Client based applicationManager application for multiple Clients Half-Real Time VOD streaming experiments
Basic structure of application:
Net-HD
Manager Client/screate
s Serverrequest
1. Manager starts2. Manager creates instances of Clients3. Clients send a movie requests with specified
parameters4. Server finds requested references5. Server returns demanded movie
stream
Global Networking
communication
Net-HDTutorial: Introduction
To run this project requires NetBeans and VS IDE’s It also requires a dom4j.jar as external library Basic entities are:
Client – Java implemented Server – C# implemented Client Manager – Java implemented
This presentation explains uses and implementation of Client and Client Manager
This presentation uses screenshots of NetBeans IDE
Tutorial: Client
Main form
Net-HD
URL – link to movie Control options Log for Data Transfer Observation Hides this form (means it is still working when hidden) frame from which movie will be played(represents time) Edit option for this instance of client
Address of server Port of the server for client to connect
Net-HDTutorial: Manager
Main Form General Form
URL – link to movie checkbox Random URL option from created earlier list – checkbox Select randomly specified number of Clients Choose a command from the drop list for all of the selected Clients Execute chosen command for selected Clients Load and run XML file with scenario Opens Form of selected Client Log Textbox and Show/Clear options for current session log
Net-HDTutorial: Manager
Main Form Editing server settings
Set server IP address Set port through which Clients connect to server
Net-HDTutorial: Manager
Main Form Editing server settings
Open a list of URL’s from text file Save existing URL list to text file
2) Enter number of Clients
3) Choose one of the options :
b)Delete existing Client & add new one
4 )To view list of created Clients :
Press drop list
1) Press EDIT then NetHD CLIENT
a)Add new Client
Net-HDTutorial: Manager
Main Form Creation of multiple Clients
1) Press “Edit” then “URLs list”2) In next form add a link of URL3) In the “logs” window possible to
use that the URL added successfully
4) To see the added URLs press dropped list.
Net-HDTutorial: Manager
Main Form Editing URL list
Cengine – class that contains all logical functions
Cgui – class that responsible for graphical interface
Cmain – Start point for GUI
Cnetwork – class that is responsible for networking components
Cscreen – represents log box with data shown during transmission
Cvideo – class that responsible converting data to video file
RandomGUID – class that generates a unique ID for Client instance
SetingsGUI – Graphical form for setting “Host” and “Port”
Net-HDPackages explanation -
basics Client
Net-HDPackages explanation -
basics Log MainLogHD– data structure that remembers all events with application
MainFrame – basic start point for the project, brings up a screen
EditNetHDClientsWindow – Graphic window that responsible of creating new Client
EditURLslistWindow – Graphic windows for adding URLs links
FileManager – Graphic window for file chooser
Mengine - class that contains all logical functions of manager
Mgui – Graphic window of manager
Mmain - Start point for GUI
NetHDServerSetingsWindow - Graphical form for setting “Host” and “Port” of server.
Net-HDPackages explanation -
basics Manager
Net-HDCode explanation -
basics Client
Main functionsPlay pressed: Cgui.Class called Methods invoked in order of appearance
1. Cengine.setFrame(frame) Sets current Client offset frame from which movie will
starts2. Cengine.Play(URL)
Cnetwork.connect() - Connects to server Cnetwork.setMessage(msg) – Prepares a message for a
server Cnetwork.GetVideoStream() - Gets video from server
for this instance of Client
Net-HDCode explanation -
basics Client
Main functionsPause pressed: Cgui.Class called Methods invoked in order of appearance
1. Cengine.pauseSave() Sets flag request to status REPEATED Cengine.pauseTime() – saves time when movie stopped Cengine.getLastPackage() – saves last package to
restore point
Net-HDCode explanation -
basics Client
Main functionsStop pressed: Cgui.Class called Methods invoked in order of appearance
1. Cengine.Stop() If Client was receiving data then Cnetwork.sendMessage(stop) – message with “stop”
sent to server Cnetwork.disconnect() – kills connection with the
server
Net-HDCode explanation -
basics Manager
Main functionsScenario Execute pressed: Mgui.Class called Methods invoked in order of appearance
1. Mengine.scenarioExecute() Function trys to read from XML file If successfully then program executes scenario
Net-HDManager
Main function :This Manager created for manage Clients.
Execute button pressed :
_engine.setURL(); - take urls links Checking one of two options :1) _engine.selectFirstsClients(Take “All” clients); or 2) _engine.selectFirstsClients(Take num of client);
LogHD.addLog(); - add information to “Information vector - LogHD”. this.setLog(); – print all changes on screen log.
Net-HDManager
Main function :This Manager created for manage Clients.
_engine.executeSelected(take info from Comand ComboBox) { this function have Switch for 3 options : PLAY,
STOP ,PAUSE.
checking on of two options : Random or No Creat new Client ; client.SetNetHDserver(_host, _port); - set host & port data for client whos took from Server Settings
client.start(); - start new Thread/ Client with all describe data.
}