NSVx is an ActiveX control that will handle
the streaming of NSV files to a Shoutcast
server.
-------------------------------------------
Changelog:
Version 0.1.1
-Fixed framerate detection. It now can
 detect both integral and fractional
 framerates. Because of this, the
 StreamVideo function doesn't accept
 a framerate anymore.
-Basic title updating. In the
 StreamVideo function, there is an
 optional Title value you can enter.
 Enter a title and NSVx will update the
 server with it.

Version 0.1
-Inital release
-------------------------------------------
Features:
- Handles the server, all you need to is
  enter the address, port, and password.
- Smart(er) video streaming. Rather than
  just send out the data at a specified
  rate which'll cause buffering, NSVx
  actually parses through the frames,
  which always streams at the correct
  speed, even on VBR files that have a
  highly rratic bitrate.
- Low resource usage. Peaked at 2% on
  my AMD 1.83 GHz processor, staying at
  0% most of the time.
(Hopefully) Coming soon:
- Smarter title updating. Right now, you
  must enter the title that you want
  updated. I hope to have NSVx parse the
  header for title information and use
  the filename if no header is present
  automatically.
-------------------------------------------
F A Q s :
---Why does this exist?
I made it because writing out all the NSV
parsing and Shoutcast handling functions is
slow, tedious work that could be better
spent working on the actual program. I
figured this would help by not forcing coders
to concentrate on all the boring video handling.

---How do I load this into a project?
In Visual Basic 6, right-click the menu on the
left side and select Components from the drop-
down menu. Click the browse button and navigate
to where you extracted the zip. Select NSVx.ocx
and then hit OK. Now a little icon showing a
pencil writing on a little form should be in your
bar. Click this and drag it out in your form
somewhere. Remember that when you are distributing
your compiled EXE, you should include NSVx.ocx and
MSWINSCK.OCX in the same folder as the program.
It should work with other programming languages
that support ActiveX, but I don't use any others
so I can't confirm that it'll work right.

---How do I interact with NSVx?
A sample project is included that shows how you
can use NSVx. If you just want to quickly see the
commands, here they are: ("s mean the variable is
a string, no quotes means its a long)

NSVx.Setup ("Shoutcast Address", Shoutcast Port,
"Shoutcast Password", "Stream Name", "Stream Genre",
Public, "Bitrate", "URL", "IRC", "ICQ", "AIM")
-This configures NSVx with your Shoutcast details
and stream details for the header. For public, enter
0 for not listed, and 1 for public. If this is run
while you are connected, no changes will take place.

NSVx.Connect ()
-This tells NSVx to connect to the server and send
the header. Setup must have been run before this.
You can use the .State to see the progress of this.

NSVx.Disconnect ()
-This obviously will disconnect from the server. Once
disconnected, you can run .Setup again.

NSVx.StreamVideo ("Path of video", Title)
-This will load a video and stream it. This will return
a boolean when it is complete. True means it streamed
fine, False means it encountered an error. When it returns
True is when you'd want to start the streaming of the next
version. A progress bar will show in the little NSVx
window when a video is streaming, showing the current
position in the file. If you enter a Title, NSVx will
update the Now Playing title.

NSVx.StopStream ()
-This will stop streaming the video if that is what
NSVx is doing. This doesn't disconnect from the server;
you should use .Disconnect if that is what you want.
This can take up to a second to complete, use .State
to see when it actually is stopped.

NSVx.State
-This will return a number from 0-4 representing it's
current state. They mean as follows:
0 - Not connected, no errors
1 - Connected, server accepted password
2 - Connected, currently streaming a video
3 - Error, server refused password
4 - Error, lost connection to server (or never had one)




From ken52787, with love :-o
http://nsv.no-ip.com