Old 2nd March 2004, 13:16   #1
Jay
Moderator Alumni
 
Jay's Avatar
 
Join Date: May 2000
Location: Next Door
Posts: 8,942
Introduction to NSV

Introduction to NSV


NSV can be played using Winamp 2.90+, Winamp 5.0+, and using the appropriate plug-ins with Internet Explorer and Netscape (Mozilla)

For the higest quality results use VP6 for video and AAC for audio when streaming. VP6 video is supported in Winamp 5.0. If you have an older version you can download it below.

General
- NSV Homepage
- Unoffical NSV Information Website
- SHOUTcast Audio And Video Streaming Guide

Tools
- ActiveX Playback controls
- Latest NSVSCSRC
- nsvscsrc clone for Linux

Viewing on other OS's
- VLC Media Player
- Xine
- Xbox Media Center
- Mplayer
- Totem

Howtos:
-- NSV Streaming Information
-- Using AAC Audio with NSV
-- Streaming Video with NSV SHOUTcast
-- Encoding NSV Video Files (NSVenc CLI)
-- Encoding NSV Video Files (NSV Batch Encoder GUI)
-- Streaming Pre-encoded Videos (nsvscsrc CLI)
-- Streaming Live Video (nsvenc CLI)
-- Streaming Live Video (nsvcap GUI)
-- Playback
-- Streaming Live Video with NSVenc
-- NSVenc Stuff (From Developers)
-- Additional Notes
-- NSVenc Command Line Switches and Options
-- Video Guidelines


Videos:
- Videos
- More NSV Samples
- Nullsoft Television


Technical Documentation:
- Nullsoft Video Format Specification
- Nullsoft Video Bitstream Library Source

[Last updated : 6.11.10 - sankt]
Jay is offline  
Old 2nd March 2004, 13:16   #2
Jay
Moderator Alumni
 
Jay's Avatar
 
Join Date: May 2000
Location: Next Door
Posts: 8,942
Streaming Video with NSV SHOUTcast
by Sawg
Last Edited: 08-01-2003

WARNING: The NSV Format and associated NSV Tools is beta software. Therefore streaming video is not currently recommended for the novice computer user or novice SHOUTcast DJ. This tutorial assumes knowledge of how to use command line tools in the Windows environment. The tutorials also assume basic knowledge of setting up the SHOUTcast DNAS. Refer to the streaming audio tutorials for information on the SHOUTcast DNAS, these tutorials use the default configuration, though. Both the command line tools and GUI tools are explained (excluding FLASK currently). NSV SHOUTcast is not currently meant for general end-user use, so if you are not willing to put some effort into this stop reading now. If you want to stream video and are willing for a challenge then keep reading.


Required Software:
- NSVTools - April 19, 2003
- SHOUTcast DNAS 1.9.2



Encoding NSV Video Files (NSVenc CLI)
This is for encoding .nsv video files. Pre-encoded files then can be served on a web-server or streamed using nsvscsrc (detailed later).


1. Setup
Open the command prompt an change the directory to the NSVtool folder (Default: C:\Program Files\NSVenc).

First the encoder must be configured. At the command prompt type "nsvenc /config" (no quotes). This brings up the "NSVenc configuration." These options are the more advanced control options, which aren't covered, but feel free to play around with them. To set up the encoders click the "NSV Encoder Options" button to bring up the "NSV Encoder Options" box. Select the audio and video you want. If audio is included use "MP3 (Lame) encoder" and pick the desired encoding options (not discussed). For video choose "VP3 3.1 (proper)." Select a bit-rate to aim for (it won't be constant and may not even be near it). Hit "OK" then "OK" again to exit.

NOTE: The VP3 video format is variable-bitrate in nature, so the bit-rate won't be constant. Plus if you have a frame rate and resolution that is high and a bitrate that is lower then the actual bitrate may be much, much larger then the entered bitrate. If you need to lower the frame rate or the resolution try the option in the previous configuration window. (These settings will increase CPU usage).


2. Encoding.
Any DirectShow decodable file (AVI, MPEG, etc..) can be encoded into into NSV assuming the system has the proper DirectShow filters (if it can play in WiMP, you should be able to encode it). Also, QuickTime is supported if you have QuickTime installed.

Encoding is then straightforward:
nsvenc input.ext output.nsv

If you have any encoding problems you can force some video properties using the "source settings" and "directshow settings" switches from the command line. Just type nsvenc with no parameters for a full switch listing.



Encoding NSV Video Files (NSV Batch Encoder GUI)
WARNING: The NSV Batch Encoder seems to be a little buggy and likes to crash sometimes. If you have problems with it use the command line encoder.

Start the NSV Batch Encoder (hereby referred to as NSVate) from the Start Menu.


1. Creating Profiles
First a profile to encode the video to needs to be set-up. Open the Profile Manager Tools > Profile Manager (Ctrl-M). Select the "(default)" profile or to make a new profile click the "Add New" button. Once a profile is selected hit the edit button to set the encoder settings. This brings up the "NSVate Profile Configuration." These options are the more advanced control options, which aren't covered, but feel free to play around with them. To set up the encoders click the "NSV Encoder Options" button to bring up the "NSV Encoder Options" box. Select the audio and video you want. If audio is included use "MP3 (Lame) encoder" and pick the desired encoding options (not discussed). For video choose "VP3 3.1 (proper)." Select a bit-rate to aim for (it won't be constant and may not even be near it). Hit "OK" then "Exit" from the Profile Manager to exit.

NOTE: The VP3 video format is variable-bitrate in nature, so the bit-rate won't be constant. Plus if you have a frame rate and resolution that is high and a bitrate that is lower then the actual bitrate may be much, much larger then the entered bitrate. If you need to lower the frame rate or the resolution try the option in the previous configuration window. (These settings will increase CPU usage).


2. Encoding
First select the files to encode. Go to File > Add source file(s) (Shortcut: Ctrl-O) and select the files to add. Also select a profile. Repeat if necessary.

Once all the files are added to the batch choose Selection > Encode selected to encode the files to .nsv format.



Streaming Pre-encoded Videos (nsvscsrc CLI)

1. headers.txt
For streaming to the SHOUTcast servers the headers to use needs to be manually specified within a text file. Create a new text file and save it into the NSVenc folder. Any name should work, like headers.txt. The standard file includes:

code:

changeme
content-type:video/nsv
icy-metadata:0
icy-name:My NSV Stream
icy-genre:Video
icy-pub:0
icy-br:128
icy-url:http://www.shoutcast.com
icy-irc:#chan
icy-icq:1234567
icy-aim:SomeUser
icy-reset:1



The first line (changeme) is the password to connect to the server. If it was changed in the server configuration make sure headers.txt reflects that change. Leave lines two and three alone. The forth line down is all information about the stream. The same that would be entered in the SHOUTcast DSP. The "icy-pub" header signifies if it is a public stream, listed on SHOUTcast.com (1 for public, 0 for not public). The next header "icy-br" signifies the stream's bit-rate, guess. icy-url, icy-irc, icy-aim and icy-aim are the basic steam VJ's information. icy-metadata tells the sever to keep getting title information. Do not change icy-reset.

Save the file.


2. The Set-Up
Videos to stream need to be pre-encoded using nsvenc (NSV Command Line Encoder) or nsvate (NSV Batch Encoder) as described above. All videos must be encoded using the same encoder setup for the program to work correctly. Once done make sure the videos are in the same folder (preferably one with an easy to type path).


3. Using nsvscsrc
Open the command prompt an change the directory to the NSVtool folder (Default: C:\Program Files\NSVenc).

The basic parameters for nsvscsrc are:
nsvscsrc host:port:headers.txt directory [interm.nsv]

- host is the host (IP / DNS) that the SHOUTcast server is running on.
- port is the port to send the data to. Note this is PortBase+1. The PortBase set in the SHOUTcast server configuration (8000 by default, so 8001 to send to. Using the SHOUTcast DSP it would add the one for you).
- headers.txt specifies what text file headers are in. This should be the earlier created document in the same folder.
- directory is the directory that the files are stored in. Single files are not accepted.
- interm.nsv is I don't know.

An example setup is:
nsvscsrc 127.0.0.1:8001:headers.txt test
Where the DNAS is on the local machine with the default PortBase and the files are in the /test/ sub-directory of the NSVenc folder.

and

nsvscsrc localhost:8001:headers.txt C:\NSVFun
Where the DNAS is on the local machine with the default PortBase and the files are in C:\NSVFun.


NOTE: nsvscsrc currently is random and there is no way to switch it off. A work around to get the files to play sequentially is to zip the .nsv files with no compression and rename the .zip file to .nsv. Make sure that is the only file in the folder then.



Streaming Live Video (nsvenc CLI)
Requires a hardware capture device to be attached to the computer.

Setup
Open the command prompt an change the directory to the NSVtool folder (Default: C:\Program Files\NSVenc).

First the encoder must be configured. At the command prompt type "nsvenc /config" (no quotes). This brings up the "NSVenc configuration." These options are the more advanced control options, which aren't covered, but feel free to playa round with them. To set up the encoders click the "NSV Encoder Options" button to bring up the "NSV Encoder Options" box. Select the audio and video you want. If audio is included use "MP3 (Lame) encoder" and pick the desired encoding options (not discussed). For video choose "VP3 3.1 (proper)." Select a bit-rate to aim for (it won't be constant and may not even be near it). Hit "OK" then "OK" again to exit.

NOTE: The VP3 video format is variable-bitrate in nature, so the bit-rate won't be constant. Plus if you have a frame rate and resolution that is high and a bitrate that is low then the actual bitrate may be much, much larger then the entered bitrate. If you need to lower the frame rate or the resolution try the option in the previous configuration window. (These settings will increase CPU usage).

Plug-in the video capture device you wish to use. (Web cam, video cam, video capture card, etc...). Audio, if used, can be set up using Windows Recording Control.

Start up the server; make sure it is waiting for a connection.


2. headers.txt
For streaming to the SHOUTcast servers the headers to use needs to be manually specified within a text file. Create a new text file and save it into the NSVenc folder. Any name should work, like headers.txt. The standard file includes:

code:

changeme
content-type:video/nsv
icy-metadata:0
icy-name:My NSV Stream
icy-genre:Video
icy-pub:0
icy-br:128
icy-url:http://www.shoutcast.com
icy-irc:#chan
icy-icq:1234567
icy-aim:SomeUser
icy-reset:1



The first line (changeme) is the password to connect to the server. If it was changed in the server configuration make sure headers.txt reflects that change. Leave lines two and three alone. The forth line down is all information about the stream, the same that would be entered in the SHOUTcast DSP. The "icy-pub" header signifies if it is a public stream, listed on SHOUTcast.com (1 for public, 0 for not public). The next header "icy-br" signifies the stream's bit-rate, guess. icy-url, icy-irc, icy-aim and icy-aim are the basic steam VJ's information. icy-metadata tells the sever to keep getting title information. Do not change icy-reset.

Save the file.


3. Encoder Startup
Once everything is configured and plugged in it is time to start the encoder. Use the following line (or a variation based on your needs.):
nsvenc /cfgcap cap:0,N sc:127.0.0.1:8001:headers.txt

- /cfgcap brings up the capture configuration
- cap:0,N says to capture from the first video capture source and capture no audio. Use cap:0,0 for first device video and audio. Use cap: to list all available capture devices, and use the number of the device in subsequent runs to automate. Use audio device 'I' for MiniDV source audio (interleaved)
- sc: says to send the data to a SHOUTcast server
- 127.0.0.1 is the IP address of the server. The IP of 127.0.0.1 is for the server being on the same system as NSVenc.
- 8001 is the port to send the data to. Note this is PortBase+1. The PortBase set in the SHOUTcast server configuration (8000 by default, so 8001 to send to. Using the SHOUTcast DSP it would add the one for you).
- headers.txt specifies what text file headers are in. This should be the earlier created document in the same folder.

Up next should be the "Capture Configuration" box (also know as "Poopie Properties"). Select a capture frame rate and resolution. Start kind of low. The encoding takes a lot of CPU power.


4. Connection
The encoder should start encoding the video and sending it to the server. If it connects the encoding output will look something like what follows:

code:

from: cap:0,N
video=320x240@20.00000000fps
to : sc:127.0.0.1:8001:headers.txt
video=VP31

(hit ESC to abort)
0:59:10 @ 19.8fps 95kbps (d=0,vinq=0,ainq=0)



Also the SHOUTcast server should show a connection. The normal connection information should appear in the log. An example is an output like:

code:

<12/13/02@16:40:29> [source] connected from 127.0.0.1
<12/13/02@16:40:30> [source] icy-name:My NSV Stream ; icy-genre:Video
<12/13/02@16:40:30> [source] icy-pub:0 ; icy-br:128 ; icy-url: http://www.com
<12/13/02@16:40:30> [source] icy-irc:#chan ; icy-icq:123456 ; icy-aim:SomeUser



If there are any errors, re-read the above steps and try again. If there are no errors the stream can now be viewed.



Streaming Live Video (nsvcap GUI)
There is an easier GUI method for streaming live video also, and is recommended. Start NSVcap from the Start Menu.

1. Setup
First the server needs to be set up to connect to the SHOUTcast server. First Select File > Set Capture Device. Under the Output drop-down select Shoutcast host. The Shoutcast server filed has the address of the SHOUTcast DNAS. Port is the port for the server. Notice it is equal to the PortBase setup in the DNAS, not PortBase+1 like the Command Line tools. Password is the password for the server.

The headers box is just like heders.txt for the command line tools. Enter information like what follows:

code:

changeme
content-type:video/nsv
icy-metadata:0
icy-name:My NSV Stream
icy-genre:Video
icy-pub:0
icy-br:128
icy-url:http://www.shoutcast.com
icy-irc:#chan
icy-icq:1234567
icy-aim:SomeUser
icy-reset:1



The first line (changeme) is the password to connect to the server. If it was changed in the server configuration make sure headers.txt reflects that change. Leave lines two and three alone. The forth line down is all information about the stream, the same that would be entered in the SHOUTcast DSP. The "icy-pub" header signifies if it is a public stream, listed on SHOUTcast.com (1 for public, 0 for not public). The next header "icy-br" signifies the stream's bit-rate, guess. icy-url, icy-irc, icy-aim and icy-aim are the basic steam VJ's information. icy-metadata tells the sever to keep getting title information. Do not change icy-reset.

Click "OK" to save the information.


2. Capture Devices
Next from the Devices menu select a video and audio input device.


3. Encoder Configuration
Next, select he NSV menu and the Config... option to configure the encoder. This brings up the "NSVenc configuration." These options are the more advanced control options which aren't covered, but feel free to playa round with them. To set up the encoders click the "NSV Encoder Options" button to bring up the "NSV Encoder Options" box. Select the audio and video you want. If audio is included use "MP3 (Lame) encoder" and pick the desired encoding options (not discussed). For video choose "VP3 3.1 (proper)." Select a bit-rate to aim for (it won't be constant and may not even be near it). Hit "OK" then "OK" again to exit.

NOTE: The VP3 video format is variable-bitrate in nature, so the bit-rate won't be constant. Plus if you have a frame rate and resolution that is high and a bitrate that is low then the actual bitrate may be much, much larger then the entered bitrate. If you need to lower the frame rate or the resolution try the option in the previous configuration window. (These settings will increase CPU usage).


4. Capturing
Once all the settings are good from the Capture menu select Start Capture. Now it should start capturing. Also the SHOUTcast server should show a connection. The normal connection information should appear in the log. An example is an output like:

code:

<12/13/02@16:40:29> [source] connected from 127.0.0.1
<12/13/02@16:40:30> [source] icy-name:My NSV Stream ; icy-genre:Video
<12/13/02@16:40:30> [source] icy-pub:0 ; icy-br:128 ; icy-url: http://www.com
<12/13/02@16:40:30> [source] icy-irc:#chan ; icy-icq:123456 ; icy-aim:SomeUser



If there are any errors, re-read the above steps and try again. If there are no errors the stream can now be viewed.



Playback
Now that you have the streaming part done you can now playback you can view your own stream.

Streaming NSV files can be played in Winamp3 Winamp 2.90+, nsvplay (included with NSV Tools, not discussed), NSVPlayX (ActiveX for Internet Explorer, not discussed) and NSVPlayMoz (Mozilla/Netscape plug-in, not discussed).

The URL for the stream is different then the standard MP3 stream URL. Without any modification Winamp will not be able to determine that it is a NSV file it is receiving and not a MP3 stream. The stream URL for a NSV stream is as follows:
http://your_ip:8000/;file.nsv

Where "your_ip" is the IP of the system running the SHOUTcast server. The port is 8000 by default (not 8001) or something else if you changed it in the SHOUTcast configuration (PortBase). There is no typo, use ";file.nsv" and not "listen.pls" after the address and port.

Open that URL in Winamp (Ctrl-L). If everything is working it will connect, buffer, and then the video window will pop up and play.

If you have your stream set to public and it is working eventually it will show up under "Internet TV" in Winamp 2.9X.


[update by jkey 14 sept 2008]
Nsv tools download links will now work again.
Jay is offline  
Closed Thread
Go Back   Winamp & SHOUTcast Forums > SHOUTcast > SHOUTcast TV / Nullsoft Video

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump