??http://www.peercast.org/wiki/wakka.php?wakka=frequentlyaskedquestions/files&get=faq.jpg ==http://www.peercast.org/wiki/wakka.php?wakka=frequentlyaskedquestions/files&get=faq.jpg??
What is ??PeerCast ==???
??PeerCast ==?? is an audio/video streaming server and client rolled into one. You can use ??PeerCast ==?? to tune in to dozens of ??PeerCast ==?? powered online stations, and you can also broadcast yourself. ??PeerCast's ==?? top unique feature is that you don't have to get a big server with lots of bandwidth to serve your stream to lots of people — all you need is ??PeerCast ==?? and an external broadcasting tool.
Do I have to download ??PeerCast ==?? to listen to ??PeerCast ==?? streams?!
Yes and no. ??PeerCast ==?? distributes radio stations through its own ??PeerCast ==?? network, which essentially consists of all current ??PeerCast ==?? users. ??PeerCast ==?? relies on the principle that every user who tunes in to a station can also relay it to one or more other listeners. However, Peercast also functions as a standard ICEcast/SHOUTcast server. However, the client must have the address, port, and mountpoint for doing so, and peercast itself must be set up to allow it. Although it's difficult, it's useful for LANs at work and school where everyone wants to listen to the same station.
??PeerCast ==?? uses outgoing bandwidth when I'm listening to a channel, why?
??PeerCast ==?? relies on the principle that every user who tunes in to a channel can also relay it to one or more other listeners who're interested in the same channel. Basically, instead of everybody connecting to a single streaming server, ??PeerCast ==?? clients are passing along the streams as required. This means that once you're listening to a stream, other ??PeerCast ==?? users who want to listen to the same stream may be getting it from you, causing your ??PeerCast ==?? to use outgoing bandwidth. If bandwidth is critical, you can control the maximum bandwidth used by ??PeerCast ==?? through its HTML interface. Yes, some clever minds have figured out that you can even completely stop ??PeerCast ==?? from relaying streams; however, that kind of behaviour seriously jeopardizes the ??PeerCast ==?? network. If you want to use ??PeerCast ==??, you won't get around sharing your bandwidth with other users.
Why should I share my bandwidth when I can just go to somewhere like shoutcast.com or live365 and click on a link?
This is a very good question and hard to explain to users who normally listen directly from a server, but basically it goes like this: Bandwidth is not free, someone has to pay for it, whether its a T1 connection serving a couple of hundred listeners or a broadcaster paying a subscription to a rebroadcast service like live365. A lot of DJs don`t have much money to spend on things like this, and a lot of them play some really good music. Some DJs who start getting popular give up when they find that they can`t afford to broadcast any more (and pay broadcasting fees to the RIAA etc.) and some of them have to resort to charging their listeners because of this.
??PeerCast ==?? allows anyone to broadcast to an unlimited amount of users, for free! (well nearly free, they still have pay for their ISP connection) The cost of the bandwidth is spread out evenly among the listeners using the spare bandwidth that most of them don`t even need. P2P applications like ??PeerCast ==?? even helps ISPs (although most don`t acknowledge this) because it's cheaper for them to route traffic among their own users than it is for each user to fetch his own data from an external source.
An example is when sometimes when you sit down at a dinner party and the plates start getting passed around. If everyone puts in their share of the effort then the host has less work to do and can get on and make the dessert. You could just sit there and demand that a plate be put in front of you, but then if everyone did that your host is probably not going to want to have any more parties.
In short, peercasting is just better for everyone than the standard client-server model that's so popular. If you`re happy with listening to stations that play nothing but commercials sprinkled with an occasional (boring, trite) song, then ??PeerCast ==?? probably isn`t for you. But if you want to find interesting content that you wouldn`t normally hear, then give it a try!
Sometimes when I listen to a channel the audio is skipping, or buffering often. What's going on?
You may be getting relayed from someone who is having network problems, either not enough bandwidth to relay to you or a traffic slow down at their ISP etc. ??PeerCast ==?? currently has checks to test for this and move you over to a different relay when it happens, but it's not totally automatic at the moment. You can Bump a channel by selecting Bump from the Relayed Channels window, this will force Peercast to find a different source of the stream.
Sometimes, when I start playing one of the channels from my Favorites list, I get a piece of one song for a second or so, and then it suddenly switches to another. What is going on?
??PeerCast ==?? does some internal buffering in order to prevent skipping/silence while looking for new stream sources. When you start playing a channel, ??PeerCast ==?? sometimes still has data stored in the channel buffer, usually a second or so of what you were listening to when you were last playing that channel. (This was written at the time of ??PeerCast ==?? 0.110A. It is possible that this will be changed in a future version.)
I told ??PeerCast ==?? to play a channel, it started ??WinAmp ==??, but ??WinAmp ==?? just sits there. What is going on?
When you tell ??PeerCast ==?? to start playing a channel, it usually has to find a stream source first. Very often this is really fast and doesn't take more than a second or so, but sometimes this can take a bit longer, which is why the channel playback doesn't always start right away. Also, very rarely, it is necessary to restart ??WinAmp ==?? completely before playing a channel. (This may be improved in a future version of ??PeerCast ==??.)
I got everything right with my broadcast, but no matter what I do, my stream can't get through. Should I get lost?
You are probably behind a firewall, if it is a personal firewall installed on your local PC, try turning it off. (Windows XP Pro for example..)
When I set up a broadcast and everything works, my channel name is still the same like my description text. Am I being stupid?
It may be caused by the tool you use to broadcast. Some broadcasting tools have both a name and a comment for the stream. Oddsock's DSP winamp plugin only has a description field. Unless you want to use another tool for your broadcast, there's no solution to this problem.
Of course, you may very well have them set to the same thing. Try checking your settings.
Okay, My stream is set up correctly, but no one's listening! What the foo?
It could be a number of things, Maybe you don't have any real content. Maybe there's more streams than listeners, Maybe you just started broadcasting. Maybe no one is relaying your station. Did you promote your station? Do you have good content? Is it a low-traffic time? At the moment, the peercast network is still very small. This will change as more people listen, and the demand for different kinds of music change too. So be patient, and keep trying!
Which ports do I have to open up in my firewall in order to allow others to use my ??PeerCast ==?? system as a relay station?
Whichever TCP port you tell ??PeerCast ==?? to use. By default this is 7144. Peercast does not need or use any other ports to be open on your firewall/router. It only needs a single TCP port available for outgoing (and incoming if possible) connections.
Why are there ports 7144 and 7145? Do I need both open on my router/firewall?
Normally you only need one TCP port open. But in order for Peercast to work with Shoutcast it needs an extra port (broadcast port + 1) open to accept track change information. This is part of the design of Shoutcast. Peercast`s default port is 7144 so we also open port 7145 so that Shoutcast can update its information. It also turns out though that having 2 ports is very useful for security because you can have 1 port (7144) open to the outside that only accepts Peercast connections, and leave the other port (7145) firewalled so that you can use it for broadcasting and viewing the HTML admin pages.
Why am I shown as Firewalled when I'm not even running one?
Don't panic, this is normal, really! Peercast assumes you are firewalled until it receives an incoming connection from another host. If this problem continues to persist and you know for sure that your client is NOT firewalled, you can force it to Normal mode by changing the forceNormal settings in the peercast.ini file.
When exactly am I relaying a channel to another user?
When you listen to a channel, ??PeerCast ==?? puts it into RECEIVE mode. This means that someone else can connect to you and listen to it. When you stop listening, the channel will immediately go into IDLE mode, which disconnects the channel from the source and prevents other people from connecting. In the HTML Relayed Channels page you can see the status of your channels and how many people you are relaying to (under Relays.) You can also click Keep in the Relays page, this will keep the channel in RECEIVE mode even after you stop listening to it. There is also an option in the Windows channel Info dialog that does the same thing – left click the ??PeerCast ==?? icon, select a channel, select Info and then tick the Keep box (if its not enabled then fetch the channel first by selecting Play)
I have a local network with a number of machines listening to a single ??PeerCast ==?? client, how can I limit bandwidth for only external Internet connections?
Enter an IP mask of your LAN (such as 192.168.1.255) into the Filters section of the Settings page and select Private. This will cause ??PeerCast ==?? to ignore bandwidth/connection limits for that range of IPs.
The mask works like this: 255 matches any number; any other number matches itself. So if you want to allow all machines on network 10.0.0.0 to connect, then the mask should be 10.255.255.255, but if you only want machine number 10.0.0.7 to connect, use 10.0.0.7 as the mask. If you don't know what your network number is, then you could try using 10.255.255.255 and 192.168.255.255 as a first guess – this will work for most small local networks.
— query — When I was trying to set up peercast on my linux network with the player on a different machine to the one I was listening on, it wouldn't work at all until I added a filter entry for the player machine and set the 'private' checkbox. If this is right, could someone who knows how it actually works rewrite this to make it clear? It would be good to have a proper explanation somewhere of what the 4 different checkboxes mean (network, direct, ban and private). Ban is obvious, but the others aren't really. The way I think it works is that Network means connections using the peercast network – receiving and broadcasting peercast streams, Direct means icecast/shoutcast style conventional streams (i.e. what your player listens to), and marking a network as private means those machines can receive conventional streams without the bandwidth limit set under 'max direct connections'. But it took me a while to work all this out from the docs, so worth spelling it out. ??AndyBaxter ==?? / lofty
I`m worried that someone might hack into my machine while using ??PeerCast ==??. How do I make ??PeerCast ==?? more secure?
??PeerCast ==?? contains no secret backdoors and there are only 2 ways of communicating to a ??PeerCast ==?? client. One is via PCP (??PeerCast ==??`s networking protocol). The other is via HTML. For HTML connections we require either Cookie or HTTP (basic) authentication to access any page (apart from the login) on the built-in webserver. If you are using Cookies, please ensure that you Logout after connecting to your ??PeerCast ==?? client via HTML. This will cause ??PeerCast ==?? to delete the Cookie from its own list and prevent further connections using the same Cookie. Passwords or other confidential data is not stored in the client side Cookie, it's literally just a random string of digits that is created when you enter a correct password from the Login page.
Another way to increase security is by blocking external clients from connecting to your client. ??PeerCast ==?? opens 2 ports for communications, the server port (usually 7144) and the server port +1. In the HTML Settings page, select the type of connections that will be allowed on each port.
What is the difference between Normal and Root server modes?
Nearly all clients are Normal (software, not users:) Normal clients connect to each other, exchange packets, fetch channels etc.. Root nodes are special clients that act as connection bases to the main network. yp.peercast.org is an example of one of these Root nodes.
ICY ??MetaInterval ==???, wassat?
Its the interval (in bytes) that MP3 streams have track information such as artist/title inserted. Its really only a legacy thing from ??Shoutcast/WinAmp ==??, nowadays there are much better ways of inserting meta data in streams. Such as the OGG Comment header. The ??MetaInterval ==??? only applies to client->MP3 player communications, which means it does not affect broadcasts or relays of channels.
What's the DJ Message box?
??PeerCast ==?? clients have the ability to exchange much more than just audio data between themselves. One example of this is the DJ Message, which is a message sent from broadcasters to their listeners. When a broadcaster enters a message here, it will be sent out with the stream so that clients can pick it up and display it locally. Listeners can view this message in either the Channel name->Info dialog from the task bar menu (in Windows) or from the Channel Info page in HTML. MP3 streams will also have the current track info replaced with the message every 10 seconds (by default, see broadcastMsgInterval in peercast.ini to change this.)
??PeerCast ==?? anonymous? how? I see IP addresses everywhere!
As with any P2P network, clients need to know where other clients are. (In fact, that is the single most important thing of a P2P network.) Knowing where other clients are located means that IP addresses have to be exchanged and connections made. IP addresses are not anonymous, they may not give things like your name/address away to everyone, but they are traceable to your doorstep (with the appropriate help of your ISP of course.) ??PeerCast ==?? doesn`t try to hide this fact and tries to show what's going on as much as possible, even if we did hide it from plain view the information can still be obtained by looking at network traffic, connections etc. However, the way ??PeerCast ==?? is anonymous is that it does not tell other nodes if they are broadcasting the channel or simply relaying it. It would be possible, with some time and effort to map the tree of the network to show the top most node of each branch, but even that does not tell you if a particular IP address is broadcasting the channel because the source could come from another machine directly connected to it. Either via ??Shout/Ice ==??, or from another listener on another ??PeerCast ==?? network.
I have quite a bit of bandwidth spare, how can I make use of that to help the network?
If all clients could receive and send data at full speed without worrying about bandwidth, we`d have a very reliable network indeed. But most people don`t, alot of people connect for 5 minutes then disconnect, and even more still are firewalled and can`t give much back to the network anyway. If you have an Internet connection that can accept incoming connections and have some Kilobits/second spare you can help the network by increasing your Max Relays option. This value can be set from the UI or from the HTML Settings page
What are the Channel IDs, and how do they work?
The channel IDs are a way of uniquely identifying every channel on the network. Without them two people could broadcast channels with the same name and cause lots of confusion – it would also be possible to hijack other people`s channels.
Each ID is a unique 128 bit value that is generated from:
1. The broadcasting client`s unique ID
2. The channel name
3. The channel`s mount point
4. The channel`s bitrate
This means that if any of the above things change, then the channel ID will also change. It also means that you can broadcast multiple bitrate channels, all with the same name.
How do I find my Channel`s ID?
The easiest way is to find your channel in the Yellow Pages and then look at the Play link shortcut. Or you can click on the Channel Info link in your Relays page and look at the ID value in there.
How do I put a link to my channel on my own website?
Open ??http://yp.peercast.org ==?? in your browser and find your channel, then copy the Play shortcut into your web page.
Please note that you must use a ??peercast:// ==?? style link not a ??http:// ==?? style link in case your listeners are using a port other than 7144.
People seem to have difficulty connecting to my channel, why?
This could be because of a number of reasons:
Are you behind a firewall or router? If so, it will help if you allow incoming connections through to the machine doing the broadcasting. Otherwise you will only be able to broadcast to other non-firewall clients.
Increasing your Max Relays value will also allow more people to connect to your client and so give people a better chance at connecting. You have to make sure that you don`t exceed your connection`s upload bandwidth though, otherwise your channel will continuously skip.
What do the different connection types mean on the Connections page?
??PeerCast ==?? is actually comprised of two P2P networks. One network connects all broadcasters together, the other connects listeners and broadcasters. So in your connections page you will see several different connection types depending on whether you are listening, broadcasting or doing nothing. COUT and CIN are broadcaster-broadcaster connections, these connections form the basic backbone of the ??PeerCast ==?? network, streaming data is not transfered over this network, but all communications back to the top level YP (peercast.org) are sent via this. So when you start broadcasting you will see one or more of these connections types.
Relay and Direct are broadcast-listener-listener connections. Relays form the network that carries the actual audio/video data across from peer to peer. Direct connections are like standard ??ShoutCast ==?? connections in that they are broadcaster->listener, ie. they bypass the ??PeerCast ==?? network altogether.
If you access you ??PeerCast ==?? client from a web browser, this also uses a Direct connection. But these connections are opened and closed quite quickly.
When I play peercast channels, all I get is a notepad file with some code!
Generally it's because you haven't set up your computer to associate playlists with your mp3 player. Most mp3 player installations automatically do this. In a pinch, you can cut and paste a single line from the file into your player.
If I am behind a router and cannot open up port 7144 for incoming connections, does that mean that my client is a dead-end?. ie. Does it mean I am unable to relay the channel to another listener?
No you are not a dead-end. In these cases peercast uses a method called pushing that is used to tell clients such as yours to create new outgoing relay connections to other clients. Of course if you are able to change your router to accept incoming connections then it is still better for the network as a whole.