> Can you tell me how I can figure out what it speaks?
Finding that information doesn't appear to be hard:
"The full specification for Yamux is provided in the
spec.md file. It can be used as a guide to implementors of interoperable libraries."
> Also, by chance do you know of an alternative that would provide multiple streams for a connection that happens different protocols or for TCP?
Here are some things you can look at:
* http/2 -- and other protocols which run on top of it, e.g. grpc.
* ssh. You can open multiple sessions over the same connection, and you can do TCP port forwarding. The command-line ssh client also supports port forwarding using the SOCKS protocol (-D flag).
* message routing protocols like
nats.io, nanomsg, zeromq
*
BEEP (that is very old-school)
It really depends what your application requirements are. It might be simplest for your application to do its own multiplexing.