TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Icecast: Open Source multimedia streaming

100 点作者 phantom_oracle超过 6 年前

11 条评论

moreentropy超过 6 年前
Icecast existed for ages. It&#x27;s streaming protocol (about the same as the proprietary shoutcast) is basically an endless progressive HTTP download, which means you can simply put a stream URL into an audio tag in HTML and the stream plays in a browser or save a stream using wget&#x2F;curl.<p>The protocol is&#x2F;was directly supported by about any MP3 player software since the end of the 90s, including display of metadata updated (song&#x2F;show title). One problem with Icecast streams is that content is streamed through a long lasting HTTP request. If the TCP connection breaks there is no way to recover without interrupting playback. Some Antivirus software will think the stream is a downloadable file, so it will withhold data from the browser while trying to download the whole stream. Using HTTPS for Icecast helps to keep most AV software from MITMing the stream.<p>If you implement A&#x2F;V streaming to the web today, you most probably would want to use chunked streaming with modern protocols like HLS or DASH. ffmpeg can do this. The encoder will save a live a&#x2F;v source into small fragments (like 2 seconds) on a webserver that the browser can download, reassemble and play one after the other. If one chunk download fails (because of a network change on the client side), the browser might be able to retry downloading chunks.<p>Caching&#x2F;distribution also works using standard HTTP accelerators with chunked streaming while you need to chain multiple Icecast servers if you want to scale Icecast.<p>Edit and shameless self plug: I wrote an Icecast exporter a few years ago to get nice streaming stats in Prometheus: <a href="https:&#x2F;&#x2F;github.com&#x2F;markuslindenberg&#x2F;icecast_exporter" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;markuslindenberg&#x2F;icecast_exporter</a>
评论 #18910875 未加载
评论 #18911256 未加载
评论 #18915090 未加载
soylentcola超过 6 年前
I still listen to several of these types of stations (even ran one for a few years in the early&#x2F;mid 2000&#x27;s).<p>Mine was essentially just an unlicensed stream of whatever I&#x27;d put into a huge Winamp Playlist, but I also had some friends from an online forum and we would put together silly jingles and &quot;station ID&quot; clips to sprinkle throughout the day as well.<p>Hosting was provided by a friend who worked for a small ISP&#x2F;hosting company and he just gave me free access, saying that nothing I could use would make a dent in their available bandwidth (and he would let me know if that changed).<p>It was pretty fun and I even went &quot;live&quot; on the mic occasionally if I knew there were people listening, but eventually I started looking into going &quot;legit&quot;. For a while it was looking like I could actually afford the basic ASCAP&#x2F;BMI&#x2F;etc. license with hobby money but that changed when laws were changed to require you to pay royalties per-song-per-listener (unlike terrestrial radio).<p>Ran it unlicensed for a little while after that but eventually shut it off as it got to be a hassle and I had too many other things going on in life. Still, it was cool to get emails from people around the world thanking me for my stream.<p>At a time when friends were paying monthly subscriptions for XM radio, I plugged my little Palm Treo into the car stereo and had my own station to listen to all day. Before commercial streaming, there weren&#x27;t many similar options but a good set of Shoutcast&#x2F;Icecast bookmarks gave me the best radio dial I could imagine...without the subscription!<p>I still listen to several of these stations when I&#x27;m not listening to something in my own library or the local NPR affiliate. There&#x27;s something to be said for real human-programmed playlists from people who love music. I know Spotify playlists serve this purpose for many folks, but I haven&#x27;t really gotten into that since I have so many options.
评论 #18911984 未加载
doublerebel超过 6 年前
The Icecast&#x2F;Shoutcast protocol is really simple, and supported on basically all platforms. I&#x27;ve made some fun things with implementations [0] and I know a few guys who have made a business of it.<p>[0]: <a href="https:&#x2F;&#x2F;github.com&#x2F;livebassmusicrightnow&#x2F;even-nicercast" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;livebassmusicrightnow&#x2F;even-nicercast</a>
ddevault超过 6 年前
If you want to set up a radio station which just shuffles a big playlist and takes listener requests (like my friends and I did), you will probably find my buddy&#x27;s kawa project a better solution:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;luminarys&#x2F;kawa" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;luminarys&#x2F;kawa</a><p>We started with icecast+liquidsoap and replaced it because whoo-ee is it crufty. Also check out our Python daemon for controlling it, indexing music, searching the database, and taking requests:<p><a href="https:&#x2F;&#x2F;git.sr.ht&#x2F;~minus&#x2F;stewdio-api" rel="nofollow">https:&#x2F;&#x2F;git.sr.ht&#x2F;~minus&#x2F;stewdio-api</a>
kiallmacinnes超过 6 年前
Oh wow, I forgot about shoutcast and icecast, it&#x27;s been a while!<p>Looking around, I see those stations still exist!
mikhailfranco超过 6 年前
A good example of the open source Lang Whack:<p><i>Nominate an open source project home page and challenge someone to find out the programming language.</i><p>The longest time or most traversed links wins. Sometimes you can read the whole site, understand the features, the architecture, the license, the supported platforms, the whole FAQ, how to contribute, the bug tracker, the mailing list, and even get to the main page of the github site, all without ever seeing a statement about the implementation language. The developers writing the site take it so much for granted, they never mention it.<p>However, the more obscure or fanboyish the language, the more likely it is to be mentioned early. Those developers are proud and delighted to be using that niche esoteric language. In some cases, they take more pride in using <i>that</i> language than actually implementing something useful.<p>Of course, in this case, one might suspect that media libraries would be in C&#x2F;C++, but there are many other fun examples out there. Do you have any strong contenders for Lang Whack champion?
alias_neo超过 6 年前
Slightly off topic, but there is an internet radio station I have set as my morning alarm, when my radio turns on or I switch to that station it always plays their intro track, then a song.<p>The intro is just a short ~3 second &quot;Welcome to...&quot;.<p>It&#x27;s the only station I&#x27;ve witnessed that does this but I like it, I wonder if icecast has a feature like that.
评论 #18910273 未加载
评论 #18910108 未加载
评论 #18910610 未加载
cvs268超过 6 年前
Reminds me of an &quot;How-To&quot; i wrote several years ago...<p><a href="https:&#x2F;&#x2F;thecodeartist.blogspot.com&#x2F;2013&#x2F;02&#x2F;shoutcast-internet-radio-protocol.html" rel="nofollow">https:&#x2F;&#x2F;thecodeartist.blogspot.com&#x2F;2013&#x2F;02&#x2F;shoutcast-interne...</a><p>Capturing any Shoutcast stream from the terminal in 13 lines of C code.
评论 #18912151 未加载
jypepin超过 6 年前
I have to say, for someone who doesn&#x27;t really know how those kind of things work (i usually work on web stuff) I tried to help a friend who had a radio already setup, and I couldn&#x27;t wrap my head around how anything works.<p>The documentation is extremely poor (when any) and I&#x27;m still confused at the difference between icecast and ezstream, which does what and such.<p>It&#x27;s too bad, because as another comment mentions, it does seem pretty simple and powerful once you know how it works, but the lack of documentation (official or not, yes I tried googling stuff) makes it almost impossible to do anything if you don&#x27;t know how it works already.
评论 #18910350 未加载
ds0超过 6 年前
A pleasant Icecast-using website is n10as (pronounced &quot;antennas&quot;) radio[0]. I&#x27;m a longtime listener.<p>Personally, I like to use Icecast alongside Mixxx[1], an open-source DJ software that I highly recommend, to do live mixes of dance music over the web. Mixxx comes with configuration settings for broadcasting live audio within the program itself without the need for any extra client.<p>[0] <a href="http:&#x2F;&#x2F;n10.as&#x2F;" rel="nofollow">http:&#x2F;&#x2F;n10.as&#x2F;</a><p>[1] <a href="https:&#x2F;&#x2F;www.mixxx.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.mixxx.org&#x2F;</a>
评论 #18911490 未加载
评论 #18912144 未加载
dano超过 6 年前
There remain a large number of streaming stations available. There&#x27;s the icecast directory [1] and Streamfinder [2] and I&#x27;m sure there are more.<p>1. <a href="http:&#x2F;&#x2F;dir.xiph.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;dir.xiph.org&#x2F;</a><p>2. <a href="http:&#x2F;&#x2F;www.streamfinder.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.streamfinder.com&#x2F;</a>