Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Communication, No encoding IP to IP (Read 8511 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Communication, No encoding IP to IP

Okay the Title doesn´t really make much sense.

But what i want to ask is, is there a way to communicate like, for example, Mumble, but without any encoding (Opus, AAC or whatever).
Meaning, pure PCM going from one end to the other?

And doing this between 2 PCs, meaning IP to IP, No Server along the way (One of the PCs can act as a server of course), but no IP1 -> Server -> IP2, if you get it.


I know this is probably not what anyone really wants, but i would like to know if it exists, or is a easy way to do it?
I am guessing, as i don´t want any complicated things like, Encoding, Noise Reduction etc etc, it should be fairly easy.


But well, then again, i haven´t found anything.

Thanks

PS: A moderator, if you can come up with a better Topic, just change it, cause it doesn´t even make sense;S

Communication, No encoding IP to IP

Reply #1
Meaning, pure PCM going from one end to the other?


Not sure of why you would want to do it, but you could easily write a program that sends raw PCM from one PC to another. You probably need to implement your own synchronisation and error correction mechanism.

Quote
And doing this between 2 PCs, meaning IP to IP, No Server along the way (One of the PCs can act as a server of course), but no IP1 -> Server -> IP2, if you get it.


No, unfortunately at least I don't get it. What do you mean with "IP"? Clearly not Internet Protocol?


Communication, No encoding IP to IP

Reply #2
Meaning, pure PCM going from one end to the other?


Not sure of why you would want to do it, but you could easily write a program that sends raw PCM from one PC to another. You probably need to implement your own synchronisation and error correction mechanism.

Quote
And doing this between 2 PCs, meaning IP to IP, No Server along the way (One of the PCs can act as a server of course), but no IP1 -> Server -> IP2, if you get it.


No, unfortunately at least I don't get it. What do you mean with "IP"? Clearly not Internet Protocol?


Well sadly, my programming skills are close to Null:


And when i mean IP i do mean The IP Address. Meaning, that the only connection done, is from 1 Address to The Other, Excluding of course the routing going on from your Internet Provider.

But not like, Skype for example, there i will always have to use, Microsofts(i guess) server, which will add to the latency.

And why i want it, is cause, Bandwidth isn´t a problem, and latency isn´t either.

The one i will be connecting to is 3ms away in latency.
So if i encode the audio, the frame-size latency will be much bigger then the latency itself.

And yes, i know that it´s probably not noticeble and all that, but still i would like it.


But if i have to program is form scratch, then i have to give up sadly, i have no idea how to do that.

Communication, No encoding IP to IP

Reply #3
What's the purpose of this transmission? If you give details on how you would be using said connection, we could probably point you to alternatives. Is this local or internet (probably local with this ping)?
edit: typo.

Communication, No encoding IP to IP

Reply #4
But not like, Skype for example, there i will always have to use, Microsofts(i guess) server, which will add to the latency.


I haven't followed the details of Skype that much since the Microsoft takeover, but used to be that skype servers were only involved in hooking you up with your destination.  Once that was done all the actual talk/video was straight between you and him.  Might be different for conference calls.

Now I read that Msoft is helping Homeland Security monitor audio/video when ordered to, so apparently they've poked some holes in the encryption for compliance purposes. I guess you need a pre-microsoft version if you want privacy from that.

Communication, No encoding IP to IP

Reply #5
Didn´t know that about Skype. But well Skype isn´t the greatest when it comes to Audio, though i love the chat.

And well, the purpose of this is simply, to talk to each other, that´s it.

And it´s not Local.

But we both got Fiber, and live close to each other, so the latency is close to none, and i really want to use that to it´s fullest.
As bandwidth isn´t a problem between us, there is no need for compressed audio.

Communication, No encoding IP to IP

Reply #6
Theres literally hundreds of direct video conferencing apps.

Communication, No encoding IP to IP

Reply #7
Theres literally hundreds of direct video conferencing apps.


I am not interested in Video, though it would be nice to have that, and a lossless codec.
But that is surely a lot more complex as i can´t see any software using that.


What i am looking for is just Audio chat, without encoding.
Just pure PCM going through.

 



Communication, No encoding IP to IP

Reply #11
Cause it adds latency, which i don´t want in this case.


Using the network will add more latency than the encoding.


Not in this case i think.

The latency is 3ms between us.

Or well, sure Opus 2.5 is less than 3ms, but it´s like 75% the latency added.

And well, i just want it, but i clearly understand that it´s not very useful overall.

Communication, No encoding IP to IP

Reply #12
You realize when you are quibbling about single digits of milliseconds it is like worrying about the latency if the other person was in the same room as you speaking directly from 5 feet away, right?

Communication, No encoding IP to IP

Reply #13
You realize when you are quibbling about single digits of milliseconds it is like worrying about the latency if the other person was in the same room as you speaking directly from 5 feet away, right?


Yes

Communication, No encoding IP to IP

Reply #14
Cause it adds latency, which i don´t want in this case.
Else i would gladly use Mumble, even though they haven´t allowed settings it to 2.5ms.


The latency in the rest of your system will be larger than that anyway, so this reasoning is pointless. 

I am not interested in Video, though it would be nice to have that, and a lossless codec.
But that is surely a lot more complex as i can´t see any software using that.


Then don't use it?

Seriously, a couple minutes on Google and you could have something working ...

Communication, No encoding IP to IP

Reply #15
You don't find any solution to your problem, because your problem is not considered a problem that needs a solution.

You also forget other parts which add latency, namely the soundcard input/output.

Everything less than 20milliseconds is considered realtime. Your mobile phone is probably in the order of hundreds of milliseconds.

You could also consider a VoIP phone.

Communication, No encoding IP to IP

Reply #16

You don't find any solution to your problem, because your problem is not considered a problem that needs a solution.

You also forget other parts which add latency, namely the soundcard input/output.

Everything less than 20milliseconds is considered realtime. Your mobile phone is probably in the order of hundreds of milliseconds.

You could also consider a VoIP phone.


Probably, damn, well it was worth asking for it.

And yeah of course, the soundcard, not sure how much latency that adds with WASAPI and the like, but is surely isn´t Zero that´s for sure.

Not into knowledgeable about VoIP, but isn´t that just a normal phone that works with your IP instead?
Meaning, you don´t use your PC, just the Phone line (which is the same as the Internet line).

Though may be wrong about that, i don´t even have a phone except mobile.

Thanks for answering, much appreciation.

Communication, No encoding IP to IP

Reply #17
Not into knowledgeable about VoIP, but isn´t that just a normal phone that works with your IP instead?
Meaning, you don´t use your PC, just the Phone line (which is the same as the Internet line).


Just trying to understand the terminology here... "IP" is either "Intellectual Property" (unlikely) or "Internet Protocol". Thus the phrase "Your IP" doesn't really make sense. "Your IP network", "your IP connection", "your IP address" are all possible...

Your internet connection might or might not use your physical phone line (using ADSL), but they are not the same thing. The actual copper line can be shared between your internet (ADSL) service and your POTS dialtone service, but that is all they have in common.

VoIP is transmitting voice over an IP connection, either from a computer or a dedicated phone device.

Communication, No encoding IP to IP

Reply #18
Not into knowledgeable about VoIP, but isn´t that just a normal phone that works with your IP instead?
Meaning, you don´t use your PC, just the Phone line (which is the same as the Internet line).


Just trying to understand the terminology here... "IP" is either "Intellectual Property" (unlikely) or "Internet Protocol". Thus the phrase "Your IP" doesn't really make sense. "Your IP network", "your IP connection", "your IP address" are all possible...

Your internet connection might or might not use your physical phone line (using ADSL), but they are not the same thing. The actual copper line can be shared between your internet (ADSL) service and your POTS dialtone service, but that is all they have in common.

VoIP is transmitting voice over an IP connection, either from a computer or a dedicated phone device.


Well my english is lacking, and what i am trying to say is simply.

PC to PC, a straight connection, send and recieve.

Like most chat or communication probably work.

And i don´t have ADSL, i got Fiber, and if i want to use a phone, i am pretty sure it will use my IP as the "phone number", then just translating it or something.
As you can´t use the actual IP as a phone number when calling.

Or well, you probably Can, but it would be hard to remember them.

Communication, No encoding IP to IP

Reply #19
Looks like I added more confusion than needed when talking about VoIP..

There are several technologies, and they just share the concept, not how they are provided (also, see footnote about ADSL).

Telephone over IP: An internet provider, if implemented, is able to provide a phone number (real) which is routed using the Internet Service. In this case, the phone is connected directly to the router (Any digital telephone. Not a VoIP one), and the signal sent over the IP protocol, which does NOT mean sending it over Internet (IP is just a way to send messages between machines of different networks, in a way that the origin and destination machines do not need to know where they are located).
In this scenario, you can only use a real phone number

Voice over IP: With Skype and a few other early services, appeared the possibility to make phone calls to classical phones (POTS) from a computer and also receive phone calls from those phones. In this case, the service provides a platform that sends/receives calls, and the call is routed via Internet to the destination (If implemented properly, it will only use internet in part of the path, and use other more efficient paths where possible).
In this scenario, you could use a real phone number.

Internet phone calls: This is the classic method of talking with other people, and what the Original poster was asking for: This was made popular with some Instant Messaging applications, like Messenger, and is also the usual way to make calls with Skype (when not having the paid service).
Since the main use was internet, and communications speeds weren't what they are today, lossy codecs are used, and latency might not be as good as possible.
In this scenario, you need to have the other user as a contact in the program

Mixtures of VoIP and Internet Phone: In the recent years, a nice solution for phone in enterprises has been a Digital switchboard, and having USB phones (like: http://www.polycom.com/products-services/v...ip-321-331.html ). The telephones are connected via USB to the PC, are seen as a soundcard by the PC, and the communication program uses it for transmitting audio and other advanced feature.
In this scenario, you can either use the contact, or a phone number. (Generally, as a contact you have an extension number, internal to the enterprise and the enterprise can have several lines to outside).


Footnote:
ADSL: The phone service provided usually with ADSL is not VoIP. ADSL technology allows reusing the signal used for classic telephone to also send internet service, but both services just share the cable, nothing more.

Communication, No encoding IP to IP

Reply #20
IMO the key information is still missing - why do you need communication with so low latency. I would understand if you wanted to run networked computers doing audio work which requires low latency - for that specifically jackd + netjack were developed.

Communication, No encoding IP to IP

Reply #21
To put the "3 ms of latency" figure into perspective:

3ms = 0.003 seconds

Or, about 1/330th of a second.

As someone said before me, a cell phone might have 1/4 or 1/5 of a second latency, which is noticeable, but not bad.
1/50th of a second latency, not humanly perceptible.
1/330th of a second latency, not perceptible to the point of ridiculousness.

Unless you have some kind of superpower that lets you slow down time - in which case, my apologies.

Additionally, "I have extra bandwidth" has never been a valid reason to waste bandwidth. Eventually, you will have something that actually needs to use the extra bandwidth. Or, someone else in your neighborhood will have a need to use the extra bandwidth. When you waste bandwidth, it doesn't only waste your bandwidth, but everyone in your neighborhood's bandwidth. You are on the same network they are.

Communication, No encoding IP to IP

Reply #22
To put the "3 ms of latency" figure into perspective:

3ms = 0.003 seconds

Or, about 1/330th of a second.

As someone said before me, a cell phone might have 1/4 or 1/5 of a second latency, which is noticeable, but not bad.
1/50th of a second latency, not humanly perceptible.
1/330th of a second latency, not perceptible to the point of ridiculousness.

Unless you have some kind of superpower that lets you slow down time - in which case, my apologies.

Additionally, "I have extra bandwidth" has never been a valid reason to waste bandwidth. Eventually, you will have something that actually needs to use the extra bandwidth. Or, someone else in your neighborhood will have a need to use the extra bandwidth. When you waste bandwidth, it doesn't only waste your bandwidth, but everyone in your neighborhood's bandwidth. You are on the same network they are.



Yes i know, the point is, i am not trying to waste, case it´s fun.
I got my own reasons for it. It´s not like i want to run 100mbit down 24/7 just to make use of my internet.


But i am currently trying to make an application for this, which will take years at my programming skills.
Though i stumbled on something very interesting.

Webrtc, the latency there is extremely small, i am utterly impressed.
Sadly i don´t know hot to implement it myself or if it´s possible to control the bitrate etc, but for those who don´t know about, it may be worth checking out, quite fascinating.

Communication, No encoding IP to IP

Reply #23
You could use  do something like pipe the audio output to netcat sending to an IP & port no.

Code: [Select]
< /dev/dsp | nc  remote.host.ip 4444

on the sending side,  and


using netcat to listen on the local port redirected to the audio output.
Code: [Select]
nc -l 4444 > /dev/dsp

on the listening side.

You can add lame / sox / ffmpeg to do some encoding / decoding in between if required.

Sorry for the rushed answer, but have a play.


Communication, No encoding IP to IP

Reply #24
You could use  do something like pipe the audio output to netcat sending to an IP & port no.


It certainly works but IMO is not optimal in terms of latency. Piping introduces quite large latencies. Plus the alsa-oss emulation (the case for vast majority of linux distributions) goes through another layer of alsa-lib which most likely allocates its own buffer too.

Unfortunately in the long run it will produce over/underruns as two independent clock domains are involved.

In the unix world I would use jackd + netjack, a tool designed for the purpose of zero/low latency audio communication.