Ns2 Video Streaming Projects – How to create Video-Streaming Projects using Ns2.
What is video-streaming?
- Streaming-media is video-data transmitted over a computer network for immediate playback rather than for file download and later (offline) playback.
- Examples of streaming-video include Internet television broadcasts, and corporate webcasts.
Challenges Faced in video-projects:
- Power control system.
- Scheduling for video streaming.
- Traffic modeling and prediction for video-scheduling.
- Congestion coherence.
- Server replication.
- Multiple descriptive coding etc.
Benefits of Ns-2 Video Projects
- Can control your messages.
- Can be very engaging.
- There is no need for waiting until completion of downloading the videos.
- Instant playback.
- Privacy protection.
- Reaching out to a real-time audience who has opted-in to watch.
Sample Ns-2-code for Video-streaming Projects
#include "ns-process.h" static class ProcessClass : public TclClass { public: ProcessClass() : TclClass("Process") {} TclObject* create(int, const char*const*) { return (new Process); } } class_process; void Process::process_data(int, AppData*) { abort(); } void Process::process_data_buffer(int, AppData*,int,int) { printf("hola1 process\n"); abort(); printf("hola2"); } AppData* Process::get_data(int&, AppData*) { abort(); /* NOTREACHED */ return NULL; // Make msvc happy } int Process::command(int argc, const char*const* argv) { Tcl& tcl = Tcl::instance(); if (strcmp(argv[1], "target") == 0) { if (argc == 2) { Process *p = target(); tcl.resultf("%s", p ? p->name() : ""); return TCL_OK; } else if (argc == 3) { Process *p = (Process *)TclObject::lookup(argv[2]); if (p == NULL) { fprintf(stderr, "Non-existent media app %s\n", argv[2]); abort(); } target() = p; return TCL_OK; } } return TclObject::command(argc, argv);}Tweet