What About your compressed Audio Format?

Started by
5 comments, last by Taylor Softs 7 years, 10 months ago
Hello everyone,
i'm going to launch a small business based on client/server chat(text,audio and video)
in the past i have released two or three application based on audio compression manager(ACM by microsoft) using their api, the formats used was Truespeech from DSP group,Speex...now i'm planning to use GSM 6.10 in my new project
Please can you talk here about your experience with audio streaming over tcp network and what is the best format for you and why
Thank you
Taylor
Advertisement
First, TCP is not great for interactive audio. If you want to speak with people, you really want to use UDP.

Second, an alternative to GSM 6.10 might be the Opus codec. If you haven't evaluated that yet, you probably should.
enum Bool { True, False, FileNotFound };

if i'm correct UDP is when you use peer to peer architecture...in my case i'll use a client/server architecture so i think TCP is great in this case no?

i'll check this codec (Opus Codec)

Opus is a lossy audio coding format developed by Xiph and standardized by the IETF, designed to efficiently code speech and general audio in a single format, while remaining low-latency enough for real-time interactive communication and low-complexity enough for low end ARM3 processors

Anyway Thank you mate

if i'm correct UDP is when you use peer to peer architecture...in my case i'll use a client/server architecture so i think TCP is great in this case no?

No, that's not the case. UDP is just a connectionless, unreliable protocol, so you can send a single packet to a destination IP address/port and you don't need to be connected to it, and you won't know if it gets there using UDP by itself. TCP is a connection oriented streaming protocol, so it requires 2 IP addresses to connect, and the data sent is streamed and guaranteed to get there in the order sent.

Both TCP and UDP can be used with peer-to-peer, and both can be used for client/server. Typically a game will include both TCP (for sending those must have data pieces ), and UDP (for sending the often updated states of players).

In your case, since you're doing interactive audio, you might want to use UDP since it will decrease communication time to/from others. If you happen to drop a packet myou'll get a blip in the audio, but the other guy can just say, "What was that?"

My Gamedev Journal: 2D Game Making, the Easy Way

---(Old Blog, still has good info): 2dGameMaking
-----
"No one ever posts on that message board; it's too crowded." - Yoga Berra (sorta)

if i'm correct UDP is when you use peer to peer architecture


No. Client/Server vs Peer-to-peer is a topology; TCP vs UDP is a protocol.
That's a pretty basic networking fundamental, so my guess is you're not particuarly well versed in how to run a networking-based business.
What value are you adding to your customers by starting this business, that existing solutions like Webex or Google Hangouts or Skype or Zoom don't already give them (for cheap or free)?
enum Bool { True, False, FileNotFound };

if i'm correct UDP is when you use peer to peer architecture


No. Client/Server vs Peer-to-peer is a topology; TCP vs UDP is a protocol.
That's a pretty basic networking fundamental, so my guess is you're not particuarly well versed in how to run a networking-based business.
What value are you adding to your customers by starting this business, that existing solutions like Webex or Google Hangouts or Skype or Zoom don't already give them (for cheap or free)?

I know the TCP and UDP are two different protocol

Client/Server Clients are connected via server and a direct connection between users is not allowed...Client/Server is safe for users and you know why...

I'm a Network programmer and not business manager i'll ask my team about your question if they know how to run a business or not lol

Free or payed it's not my work...my work is to write some code in a company called NadTalk

if i'm correct UDP is when you use peer to peer architecture...in my case i'll use a client/server architecture so i think TCP is great in this case no?

No, that's not the case. UDP is just a connectionless, unreliable protocol, so you can send a single packet to a destination IP address/port and you don't need to be connected to it, and you won't know if it gets there using UDP by itself. TCP is a connection oriented streaming protocol, so it requires 2 IP addresses to connect, and the data sent is streamed and guaranteed to get there in the order sent.

Both TCP and UDP can be used with peer-to-peer, and both can be used for client/server. Typically a game will include both TCP (for sending those must have data pieces ), and UDP (for sending the often updated states of players).

In your case, since you're doing interactive audio, you might want to use UDP since it will decrease communication time to/from others. If you happen to drop a packet myou'll get a blip in the audio, but the other guy can just say, "What was that?"

you know i'll not use the same work as Skype, Skype for example they use a direct connection using UDP Hole Punching you can connect to a specifc port behind router so you don't need to forward port in your router and this is not safe in a chat room
i agree with UDP you can lose some Pakcet it's not guaranted...i'll allow UDP hole punching between friends (i mean if you have this user in your friend list)

This topic is closed to new replies.

Advertisement