vtalkerro

所属分类:IP电话/视频会议
开发工具:Visual C++
文件大小:35KB
下载次数:34
上传日期:2012-09-08 13:21:02
上 传 者saintsss
说明:  voip实现语音通话话的例子,推荐大家下载!
(voip example of voice calls, then we recommend downloading!)

文件列表:
vtalkerro\talker_voip\COPYING.txt (17855, 1999-12-21)
vtalkerro\talker_voip\defines.h (2285, 1999-12-18)
vtalkerro\talker_voip\dialog.cpp (12461, 1999-12-23)
vtalkerro\talker_voip\main.cpp (7838, 1999-12-23)
vtalkerro\talker_voip\resource.h (2169, 1999-12-18)
vtalkerro\talker_voip\socks.cpp (4729, 1999-12-18)
vtalkerro\talker_voip\sound.cpp (9003, 1999-12-18)
vtalkerro\talker_voip\stuff.rc (3758, 1999-12-23)
vtalkerro\talker_voip\Talker.exe (17408, 1999-12-23)
vtalkerro\talker_voip\threads.cpp (16209, 1999-12-23)
vtalkerro\talker_voip (0, 2008-09-02)
vtalkerro (0, 2012-03-18)

what is this program ? ---------------------- this program is voice-over-ip program. you can use it to talk with other people which also use the program. what are the requirements of this program ? ------------------------------------------- all what you need is win95/*** and the Layer-3 codec installed on your computer. also, the executable in the zip file was compiled with the librarys from DirectX 7 SDK, so you should also have DirectX 7 installed. somehow, I think it might also work with DX6, but no promises. how can I find out if I have the Layer-3 codec ? ------------------------------------------------ that is easy, first you open the control panel, choose the 'Multimedia' icon, switch the view to 'Devices', expand the 'Audio Compression Codecs' node, and look for a codec by the name of Layer-3. how does this program work ? ---------------------------- this program uses the Layer-3 codec in order to compress and decompress recorded sound. this is the same compression used with the MP3 files, therfore the sound quality is excellent and the size is small. it uses DirectSound and DirectSoundCapture to play and record audio. transfer is made through UDP packets. is the program using any protocol while connecting to another program on the other side of the line ? -------------------------------------------------- no, there is no protocol, I started this program with a couple of goals in mind: to make it as small as possible and as fast as possible so the conversation would be as close as possible to a phone conversation. could the lack of protocol cause any problems ? ----------------------------------------------- it causes no problems, it is merely causes some inconviniecies(?), such as: 1) each sound packet is sent with an ID which is incremented with each sent packet. the program keeps track of the ID on the incoming packets and will accept only packets which have an ID equal or greater to its internal counter; this prevents from delayed packets to be played and also assures that duplicate packets will not be played twice. this is a part of the aim to make the use of this program resemble as much as possible with a regular phone conversation. when the program on one side is closed, the program on the other side still expects packets with the ID greater than the last one received, therefore if the party which has closed the program will run it again and connect to the same person, the other person won't be able to hear anything because the program will drop the packets until their ID reaches to the last received ID. in this case, both persons should close the program and restart the session. 2) the program should be run on both ends with the same KBit rate (and the Stereo checkbox on or off); if not, the sound played might be funny, but should not cause the program to crash. the sound would be simply decompressed improperly. what if I just skipped that last big question above ? ----------------------------------------------------- then you should know this: 1) if the program is closed on one side, the other side has to close it too and both of them need to restart the session. 2) both parties should use the same KBit rate / Stereo otions. how am I supposed the to know IP of the other person I wish to talk with ? -------------- well, since most people on the net do not have static IPs, then you need to use a messaging program such as ICQ or all the other clones. you can know your IP at first when you are prompted to type in the target IP. you will see in the list of interface at least one IP which will be 127.0.0.1, which is the loopback address and can be used to connect your program to itself. most people would have the loopback IP and another one while connected to the internet they are on a local IP network. the selected interface will be your IP and that is the one which the other person has to connect to. If you wish to get more info about the IP interfaces on your PC you can run the command 'WINIPCFG', a small program that comes with windows. which interface should I use ? ------------------------------ if you have a modem then you must first connect to the internet prior to running the program. if only the loopback IP (127.0.0.1) appears, than you should simply choose cancel and run the program again. usually you should choose the first interface on the list, which will be your IP on the internet. how can I use the 'Listen' option ? ----------------------------------- the listen option simply makes the program wait until it receives a valid sound packet from anywhere on the net and connects to the source of the incoming packet. it is very simple. what is the recording format of the sound ? ------------------------------------------- the format is 11025hz & 16bit. a higher frequency would require too much bandwidth. what is the bandwidth requirements of the program ? --------------------------------------------------- 8KBit - 1000 bytes to 1200 bytes 16KBit - 2000 bytes to 2150 bytes 20KBit - 2400 bytes to 2600 bytes what about the Stereo option ? ------------------------------ well, using the stereo option doesn't make much sense unless you are going to play for the other person a CD, otherwise it requires double the time to compress which causes a bit more lag. I see that I can choose between 1/10, 1/4, 1/3 & 1/2 of a second transmission, what does it mean ? --------------------------------- it means that the program will first record the fraction of a second of your choice and then compress it and send it. the small the fraction the more overhead traffic will be generated due to the (IP + UDP + sound_packet) headers. usually the overhead is no problem and 1/4 is the best choice for now. also, using a smaller fraction, means a smaller delay in transmission and therefore a more phone like conversation. what about the compressing time of the audio, is my computer strong enough ? --------------- well, since we compress at such low bitrates there should be no problem; a Pentium 100 should be sufficient. when the Transmission Rate is 1/4 on a P2-266Mhz maching, the compressing time is between 20-30ms which is very reasonable. but what about the lag, man, the lag ?? --------------------------------------- well, it works just about like this: when operating on a transmission rate of 1/4 (250ms) recording, then we have a delay of 250ms of the recording time, plus the compressing time which is CPU dependant, plus the time it takes the packet to trave over the net, plus the decompressing time which we might say that is almost insignificat, plus another 250ms which is the playing time of the sound packet. for example, if it takes 500ms for a packet to traver from one point to another on the net then the lag in one way would be approx. 1020ms. this brings the total lag (both-ways) to approx. 2050ms which is quite excellent. there is one additional factor which is computer dependat and that is the latency between the playing of the sound by the program and the actuall sound being generated by the speakers; according to the DirectX SDK this should be approx. 20ms on hardware accelerated sound buffers, and less than 150ms on software sound buffers. I have used the program with ppl with a total lag of 4 seconds and althogh it wasn't like a phone call, it was pretty close. how can I cut the lag to a minimum ? ------------------------------------ well, you shouldn't be doing any heavy downloading while talking or even not dowloading at all; also, intensive usage of the CPU by other programs will cause the compressing time to be higher and might even cause skips in the recording. also, check if your sound card can accelerate sound, and if not try and use the primary buffer by simply marking "Primary Buffer" in the address selection screen. are there any bugs in the program ? ----------------------------------- how dare you :) well, there are, but I think that it doesn't crash anymore, so it usually will be a buffer overrun which means that you might hear some noise playing or some audio repeating itself. no big deal. but I'll work on it.

近期下载者

相关文件


收藏者