VJForums  

Go Back   VJForums > Technique > Software

Reply
 
Thread Tools Display Modes
  #1  
Old 1st November 2007, 01:10 PM
bigfug's Avatar
bigfug bigfug is offline
Flying Fingers of Fury
 
Join Date: Feb 2005
Location: Brighton, UK
Posts: 53
Send a message via Skype? to bigfug
Default WinAmp AVS to FreeFrame - Alpha Release

There's something I've been meaning to do for ages: recompile AVS with the fugStreaming code built in.

So now I've done it...

Extract the attached archive to your WinAmp directory

This is an ALPHA release - there are know problems such as:

- It won't save and load your streaming settings

- If you start streaming, stop, change settings, and start streaming again, it may not work. It's best to choose the correct settings first, click 'Streaming' and then leave it alone

- Resizing seems to work fine but your mileage my vary. Again, set everything up as you want it before starting to stream

- Frame rate choppiness... sometimes... am interested how it works for others, hence the alpha

- Make sure you have the latest fugStreaming FreeFrame plugins:

http://www.bigfug.com/index.php?/pages/freeframe.html

- You may need the latest VC++ runtimes:

http://www.microsoft.com/downloads/d...displaylang=en

- There are no docs... coming soon, promise...

Good luck and please let me know how it works for you...

Cheers,

Alex
Reply With Quote
  #2  
Old 1st November 2007, 01:39 PM
vjpixylight's Avatar
vjpixylight vjpixylight is offline
AKA Will O' The Wisp
 
Join Date: Apr 2002
Location: UNITED STATES
Posts: 5,659
Send a message via MSN to vjpixylight Send a message via Yahoo to vjpixylight
Default

So does what this plugin do is take winamp visuals and stream them into a FF compatable VJ soft for mixing/fx manipulation?
__________________
"The Pixy-Light which led people from the path was exactly like that of the Will O' The Wisp."

"Ambition is the last refuge of the failure."
Oscar Wilde
Reply With Quote
  #3  
Old 1st November 2007, 01:49 PM
bigfug's Avatar
bigfug bigfug is offline
Flying Fingers of Fury
 
Join Date: Feb 2005
Location: Brighton, UK
Posts: 53
Send a message via Skype? to bigfug
Default

Yep, that's about it...
Reply With Quote
  #4  
Old 1st November 2007, 01:52 PM
vjpixylight's Avatar
vjpixylight vjpixylight is offline
AKA Will O' The Wisp
 
Join Date: Apr 2002
Location: UNITED STATES
Posts: 5,659
Send a message via MSN to vjpixylight Send a message via Yahoo to vjpixylight
Default

sounds like a useful tool! Thanks for sharing
__________________
"The Pixy-Light which led people from the path was exactly like that of the Will O' The Wisp."

"Ambition is the last refuge of the failure."
Oscar Wilde
Reply With Quote
  #5  
Old 1st November 2007, 04:16 PM
asterix's Avatar
asterix asterix is offline
IMAGINEER
 
Join Date: Dec 2002
Location: AUSTRALIA
Posts: 3,574
Send a message via MSN to asterix
Default

wicked mate. Finally with cpu advances, avs can run parrallel to vj software reasonably well. So this is a useful tool Fanks mate .
Reply With Quote
  #6  
Old 1st November 2007, 04:18 PM
Liquidmetro's Avatar
Liquidmetro Liquidmetro is offline
Positively Phototropic
 
Join Date: Apr 2004
Location: UNITED KINGDOM
Posts: 1,403
Default

Cool! Anychance of a Mac variant! oke:
Reply With Quote
  #7  
Old 1st November 2007, 04:20 PM
bigfug's Avatar
bigfug bigfug is offline
Flying Fingers of Fury
 
Join Date: Feb 2005
Location: Brighton, UK
Posts: 53
Send a message via Skype? to bigfug
Default

Hah

Run WinAmp on a PC and stream it across to your Mac... ah yes, forgot, I need to compile the streaming plugins for Mac... working on it...
Reply With Quote
  #8  
Old 1st November 2007, 04:21 PM
vjair's Avatar
vjair vjair is offline
Straight in at #10
 
Join Date: May 2004
Location: UNITED KINGDOM
Posts: 1,676
Send a message via MSN to vjair
Default

seems like a great idea, but does anybody have any tips on getting this working in resolume, im getting nowhere at all.

thanks.
__________________

Reply With Quote
  #9  
Old 1st November 2007, 06:07 PM
bigfug's Avatar
bigfug bigfug is offline
Flying Fingers of Fury
 
Join Date: Feb 2005
Location: Brighton, UK
Posts: 53
Send a message via Skype? to bigfug
Default fugStreaming Documentation - see, I promised ;)

This is a work in progress but I hope it will be a bit of a help. For WinAmp streaming you don't need the config file, just set the protocol, address, and port in the AVS config panel... More docs on that soon...


A Beginners Guide to Video Streaming with bigfug

Introduction

Most VJ software programs are like garden hoses. Not a great analogy, but bear with me. In one end goes your source material such as video files, camera inputs, flash files, etc, and the other end is connected to a device that will spray all this cool stuff out to your ever appreciative audience.

Some software programs are a simple hose, other ones allow multiple inputs and outputs and all sorts of twists and turns and weird connections, but on the whole the inputs connect to the outputs however complex the route they may travel.

Now, to complete this odd picture, imagine that FreeFrame plugins act like little hoses that can be inserted somewhere along this hose. They have one or more inputs, they have one output, so as long as the main hose has the same connections (i.e. supports FreeFrame plugins) you can connect them together and the plugin will work as part of the main system making your output even more special.

It's important to note at this point that all the inputs are connected to all the outputs and there are no loose ends, it is one massive crazy bundle of hoses all connected together.

This is where the bigfug video streaming plugins differ in their design. They have an input and an output so they can be plumbed in just like any other FreeFrame, but they have one major difference: one has an extra input (fugStreamReceive) and the other an extra output (fugStreamSend) that are not connected to the main system, they are T-junction hoses.

So imagine if you have two VJ programs running. By adding the fugStreamSend to one and fugStreamReceive to the other you can essentially add a new hose that connects the two. Whatever video goes into the sending program magically appears at the receiving one.

It is both possible to do this inside one computer and also send the video out over a network connection to a completely different machine. There is also the possibility of broadcasting the video out to multiple other machines.

And finally we have arrived at the core of what these plugins do: they copy video from one program to another in real-time.

Sounds simple, doesn't it? Unfortunately there are a fair few technical details and considerations to take into account which we shall cover in the following sections.

We shall start with memory streaming, which is connecting two software programs within the same machine and then move onto networked streaming, which is more complicated.

Streaming Basics

The principle of streaming with the bigfug plugins is very simple: set up the correct addressing on both send and receive and press go. There are some difficulties, however.

An address is comprising of an IP address and a port number. If you're not used to dealing with IP addresses they look like this: 127.0.0.1 and 192.168.1.17, basically four numbers between 0 and 255 separated by periods/full-stops. Generally they describe a single machine on a network, but this isn't always the case. Several IP addresses can point to the same machine, and one machine will have different IP addresses for each network, and even network card, it is connected to.

Confusing? You bet. For memory streaming however we only need one address which is the same on all machines. It is the local host address:

127.0.0.1

To further complicate matters, for each IP address you have 65535 port numbers. These are used by programs and services running on a single machine. For instance port 80 is the standard port number for a web server and port 21 is used by FTP. When we want to talk to a specific service on a specific machine we need the address and port number like so:

localhost:80

This address would be the web server running on the local machine. Of course the 'localhost' bit is just for the benefit of your human mind, it actually converts to an IP address. 'localhost' is the name that maps to 127.0.0.1 so the above could be written like so:

127.0.0.1:80

(Mind you, don't think for a moment that every IP address maps to a single domain name, oh no it's much more complicated than that. Sit down with a nice book on DNS sometime and until you feel yourself crying inside...)

There are quite a few standard port numbers so it's generally a good idea to stay away from them. For the examples below we'll be using port numbers above 30000, which are going to be pretty safe, by which we mean that two services can't use the same port number so if one is in use then you'll just have to use another one.

Setting up a Receiver

Receiving is much simpler than sending. As the receiver already knows where it is, it doesn't need you to tell it its address, just the port number you want to listen to.

Simple enough. Yes?

Well, pretty much, apart from one thing: the interface that various VJ programs use to control the parameters of a FreeFrame plugin can be a little... well, indelicate when you're trying to select the port number out of 65535 possibilities. Rather than being able to select exactly the number you want most programs will jump a little, or a lot, between values. This is where we shall use the Help mode.

Receiver Help Mode

If your VJ program allows precise settings then you can skip this section, although it is useful to understand how Help mode works if you run into any problems later on.

So, in your VJ program of choice, add a fugStreamReceive plugin and open up its parameters which are as follows:

- Receive
- Protocol
- Port
- Help!

First, set the Protocol parameter to maximum (which selects Memory Streaming) and then Help to maximum, and finally Receive to maximum.

At this point a little message box should appear with a message something like:

MEM:10486

This means that we are indeed using MEMory streaming, and the current port number is 10486

Now, to change the port number it is best to turn Receive off then change the Port then turn Receive back on else you'll get tied up with the message box every time the Port changes.

With Receive off, slide the Port parameter to around the half way mark (we're aiming for somewhere in the 30000's) and turn Receive back on. You should see a new message box saying MEM:30195 or there abouts. Don't worry about getting the exact number, just that it's above 30000.

Just before you turn Help mode off, make a note of this number as you will need it shortly when setting up a Sender.

So that's it, you've set up your fugStreamReceive plugin correctly. Too easy? Fine, let's take a look at sending...

Setting up a Send

You'll no doubt be pleased to learn that the parameters for fugStreamSend are even simpler!

Sadly however, this is because the configuration is too complicated for simple controls and we need a seperate configuration file. On Windows this lives in:

My Documents\FreeFrame\bigfug.com\fugStreamSend.cfg

And looks like this:

; ------------- start of config file -------------
;
; Format for each configuration line is:
;
; <group number>=<ip address>:<port>:<protocol>

; Memory Streaming

0=127.0.0.1:30000:MEM

; Network Streaming (over TCP)

1=192.168.0.12:30000:TCP

; Network Streaming (over UDP)

2=192.168.0.12:30000:UDP

; Network Broadcasting
;

3=255.255.255.255:30000:UDP

; The width of the streamed video

WIDTH=320

; The height of the streamed video

HEIGHT=240

; The bit depth of the streamed video - 16, 24, or 32 (includes alpha)

DEPTH=32

; ------------- end of config file -------------

We will cover the details of this file later on but for now you need to make one change to this line:

0=127.0.0.1:30000:MEM

You need to change 30000 to whatever port number you set in your receiver (which you made a note of, didn't you?)

So if, as above, our port number is 30195, we change the line to:

0=127.0.0.1:30195:MEM

And save the file. Make sure not to change anything else for now - just the port number.

In another VJ program load up a fugStreamSend plugin. As promised this only has two parameters:

- Send
- Configuration

The Configuration can be left at minimum, i.e. zero, which corresponds to the number at the beginning of the line you just changed.

| This is the configuration number
v
0=127.0.0.1:30195:MEM

The eagle eyed readers among you will have already deciphered this as:

Address: 127.0.0.1 (the internal IP address of this machine)
Port: 30195 (as decided when setting up fugStreamReceive)
Protocol: MEM (MEMory streaming)

Which perfectly matches the settings in fugStreamReceive (which already knows it's on 127.0.0.1).

Now - the exciting bit - move the Send parameter to maximum and voila the video starts streaming and everyone cheers and I can stop writing this document and go down the pub instead! Yay!

Or... well, perhaps not. If it didn't work first time DON'T PANIC - this isn't as easy as you might think and there's lots of things that can go wrong. Here's a check list to go through that may help:

For Receiving:

- Is the fugStreamReceive plugin activated? (It still needs a video input to work)
- Is the Receive parameter set to max?
- Is the Protocol parameter set to max?
- Is the Port parameter correct (use Help mode to check - don't rely on your VJ software even if it says 30000, it might not be! Use Help mode to make sure)

For Sending:

- Does the fugStreamSend plugin have any input to send?
- Make sure the Port number is correct in this line:

0=127.0.0.1:30195:MEM

- Make sure that line is absolutely formatted as above (i.e. no extra spaces anywhere)
- Is the Configuration parameter set to minimum (i.e. zero)
- Is the Send parameter on

If none of that works then try removing both plugins and starting the process again. Yes, it's tedious but once set up it should give you no further problems (until you start getting fancy with the more advanced options!)

Hopefully with a bit of tinkering you've got it to work. There will be guides for specific VJ programs available in the coming weeks or perhaps you can write one yourself and add it to the wiki (address to be supplied soon)

--- rest of document to follow ---
Reply With Quote
  #10  
Old 1st November 2007, 06:26 PM
vjair's Avatar
vjair vjair is offline
Straight in at #10
 
Join Date: May 2004
Location: UNITED KINGDOM
Posts: 1,676
Send a message via MSN to vjair
Default

you sir, are a gentleman!
__________________

Reply With Quote
Reply

Thread Tools
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


All times are GMT. The time now is 05:05 AM.


Powered by vBulletin® Version 3.7.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.