Re: Software for streaming audio or video over LAN

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/17/18 4:27 PM, Marko Vojinovic wrote:
> 
> Hello everybody,
> 
> Huh, it's been a while... :-)
> 
> I'm interested in your suggestions/experience regarding multimedia
> tools for streaming audio and possibly also video via LAN (mostly WiFi),
> played back on multiple client machines, with little to no latency.
> 
> You know --- say I want to play some music on my laptop in the living
> room, and I want to hear the same thing play on another computer in the
> kitchen, and another one in the garage, etc... ;-)
> 
> Ideally, it should be low-latency, in the sense that playback should be
> synchronized across devices. Like, if two machines are playing in two
> rooms, and I'm in the hallway in between them, I shouldn't hear any
> offset between the two playbacks.
> 
> I'm looking for Linux-centric solutions in general, but mostly from
> Fedora or CentOS land. It should do audio, while video would probably
> depend on the WiFi speed, I guess.
> 
> So far, I've been thinking of a DIY combination of bash scripts and
> mplayer, but I guess it's easier to try out something that someone
> already made, before I end up mocking up the whole thing from scratch
> myself.
> 
> Looking for any pointers and suggestions (including keywords for
> google). ;-)

An issue I've dealt innumerable times in my ~20+ years in the streaming
business.

Most streaming platforms now use quasi-HTTP connections to packetize the
stream content (HLS, HDS, MPEG-Dash, et al.). As clients connect,
they're given a "playlist" of these packets. Depending on the server and
how it's set up, the server may have "n" "current" chunks, passes "n-1"
chunks in a playlist, and expect the player to request another playlist
when the last chunk starts playing. The gotcha here is that each client
will get a slightly different playlist. Synchronization between multiple
clients is almost impossible in this scenario if the current chunk list
is more than one. One can try to mitigate it by making the current
chunklist and the playlist exactly the same length, but that's not
always possible.

Older technologies such as Icy (Shoutcast/Icecast) and RTSP (the old
RealNetworks protocol) do support client synchronization (sorta), but
due to the inherent latencies in decoding the data, absolute
synchronization is also difficult (you'll hear the differences).

As long as the data is packetized, seamless synchronizing among multiple
clients is almost impossible IMHO. There's almost always a lag of some
sort. It's not like broadcast radio or TV. Even digitized TV signals
will display differently on different TVs in the same room due to signal
reflections, hardware differences in the decoders, software, etc.

If you're trying to emulate the experience you might have in wandering
through a shopping mall, malls typically use fully analog systems with
a distribution amplifier feeding a bus where individual loudspeaker
amps pick the signal off the distribution amplifier for local playback.
No packetization, no decoding, nada. The only synchronization issues
there are the speed of the signal on the bus (thank you, Grace Hopper).
----------------------------------------------------------------------
- Rick Stevens, Systems Engineer, AllDigital    ricks@xxxxxxxxxxxxxx -
- AIM/Skype: therps2        ICQ: 226437340           Yahoo: origrps2 -
-                                                                    -
-          "Very funny, Scotty. Now beam down my clothes."           -
----------------------------------------------------------------------
_______________________________________________
users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/users@xxxxxxxxxxxxxxxxxxxxxxx



[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux