6 ms·
FCast: Casting Made Open Source
- dblitt 2y agoCould this end up on an embedded smart tv device, like a Roku?
- nsteel 2y agoNymphCast has been around for years but it's still basically unheard of. This has more polished marketing (and a less weird name) but other than that I don't see what makes it any more likely to succeed. * https://news.ycombinator.com/item?id=22457351 https://news.ycombinator.com/item?id=22457351 * https://news.ycombinator.com/item?id=27482699 https://news.ycombinator.com/item?id=27482699
- oezi 2y agoI wonder what is their ecosystem play? Why would Netflix implement this in their app? Why would any TV manufacturer?
- koen31 2y agoI am not counting on anybody to implement this on their TV. We don't have big budgets to pay TV manufacturers to put FCast receivers inside. Instead, I hope to have receivers that the user can install if they wish.
- oezi 2y agoI am more troubled by how you want to get the Cast button into Netflix, YouTube, etc.
- koen31 2y agoI am not counting on this to happen quickly if at all. Though if FCast is the thing everyone has access to (regardless of Apple TV, Fire TV, Android TV, etc) then maybe eventually it will happen. If you have a raspberry pi, and old computer or an old phone you aren't using, you can easily convert it into a FCast receiver. Doing the same with Chromecast is more tricky since the protocol is more extensive and most clients verify the certificates of the casting device to be authorized by Google.
- pzo 2y agoprobably worth to consider having official receiver for UmbrelOS [0] and CasaOS [1] in their appstores for increased user adoptions [0] https://umbrel.com/ https://umbrel.com/ [1] https://casaos.zimaspace.com/ https://casaos.zimaspace.com/
- JonChesterfield 2y agoJellyfin exists on various hardware as an optional install so it seems likely FCast would work on that distribution model.
- riedel 2y agoWhy not use straight UPnP (DLNA). Tons of open source there. The only problem was standardising codecs (also related to the Chromecast spinoff)
- brnt 2y agoI don't know that you can 'cast' using DLNA. Live streams and such.
- nsteel 2y agoI think it depends on the server. I believe serviio supports it. Mediatomb supposedly could (another project I thought was dead but turns out has been reborn under the 'Gerbera' name!). They transcode the original stream into something that a dumb DLNA renderer (i.e. your TV) supports.
- IshKebab 2y agoUPnP/DLNA seems to be a bit of a disaster protocol wise. As you say the codec support is "eh whatever" which means whether it works or not depends on too many random factors. It's also a massively over-complicated design-by-committee relic. There also isn't a good open source DLNA server (presumably because of the above issues).
- nsteel 2y agoThat's actually pretty fair. I was ready to jump in and say that miniDLNA is such a server but having looking I see it's actually been unmaintained for 10+ years! It has worked pretty well for me but I think I must have just gotten everything in the right formats years ago so I don't notice the issues I see reported now (I used to just restart it to avoid the notify issues). Presumably you still need some kind of media server for the fcast receiver to stream from when playing local media, I assumed that would be dlna based but what is the actual idea here?
- _volatile 2y agoIs it currently usable in anything other than GrayJay? I wish I could use this with local videos.
- qmarchi 2y agoThus far, nope.
- pihug12 2y agoCloudstream uses it too: https://github.com/recloudstream/cloudstream/blob/master/app/src/main/java/com/lagradost/cloudstream3/utils/fcast/FcastSession.kt https://github.com/recloudstream/cloudstream/blob/master/app... For local videos with GNOME Nautilus, there is https://gitlab.com/futo-org/fcast/-/tree/master/clients/nautilus https://gitlab.com/futo-org/fcast/-/tree/master/clients/naut...
- nsteel 2y agoThere's a terminal client at https://gitlab.com/futo-org/fcast/-/tree/master/clients/terminal https://gitlab.com/futo-org/fcast/-/tree/master/clients/term... which supports local videos.
- koen31 2y agoSomeone also made it possible to stream anything that yt-dlp can download https://git.sr.ht/~shironeko/fcast/tree/yt-dlp/item/clients/yt-dlp/fcast.py https://git.sr.ht/~shironeko/fcast/tree/yt-dlp/item/clients/...
- justinclift 2y agoSeems to use confusing terminology? In FCast, a "client" is a device or software application that discovers and communicates with a "receiver". The client, which can be a terminal client or an Android application, uses the FCast protocol to send media content to the receiver, such as a TV or media top box. The client initiates the media streaming by connecting to the receiver, launching the media, and then the receiver begins playing the media. Once the media is launched, the client can control the playback, allowing operations like pause, resume, seek, and volume adjustment. Seems like basically a client-server relationship, but with the "client" acting as a server and a "receiver" acting as a er... client? But with the "client" being the thing to control the start/stop/etc of the media, which is a weird thing for a server to do.
- riedel 2y agoSpeaking of terminology. I open the discussion because I thought the title was about the manufacturing process (casting with a mold).
- nsteel 2y agoWhat in the above makes you think that? The receiver is the "server". Playback happens on the "server" (just like mpd, if that helps).
- justinclift 2y agoIn a more normal client-server architecture, initial requests are sent to a server, which then responds with the requesting data. ie: give me file XYZ With the FCast project, it seems like the bulk of the transmitted data is from the "client" to the "receiver"? At least, that's what it sounds like from this description? The client [...] uses the FCast protocol to send media content to the receiver, such as a TV or media top box. Is my reading of this wonky? :)
- nsteel 2y agoThe client provides a pointer (usually a URI but I think they also support playlists) of what to play. The receiver then requests the actual content directly from that URI and plays it. I guess it sends some kind of ok/fail response back to the client when it's done that. The receiver does not send requests to the client. The receiver is server-like in that it responds to client requests, but it's not like a file server, those responses don't contain media data. Their description could be clearer.
- ravenstine 2y agoNow we're talking! The experience of casting has recently become a bigger headache for me than ever. Last month, I made a comment on HN about how the original Chromecast was great and that I'm disappointed in the state of the current Chromecast devices; a lot of people seem to agree with this. I've also had trouble with Airplay since streaming from Quicktime seems to only support h264, and even that hasn't really worked for me even though my 1st gen Chromecast worked great before my TCL television fried it. Casting video should be simple, straight forward, and open. Glad to see there's projects like this trying to solve this problem rather than leaving it up to advertising firms.
- ilrwbwrkhv 2y agoI swear like all of these things used to be so much better and if given a chance large companies will make it worse. I'm glad we are taking this into our own hands. The programming community is learning that we have to make the software ourselves and also fund it ourselves to have quality software in the future.
- koen31 2y agoFCast engineer here. Look forward to FCast receivers on platforms like AppleTV, Roku, Tizen (Samsung), WebOS (LG).
- grepexdev 2y agoWill there be a receiver for Fire TV too?
- koen31 2y agohttps://www.amazon.com/dp/B0CLKVH8GZ/ref=sr_1_1?keywords=fcast&s=mobile-apps&sr=1-1 https://www.amazon.com/dp/B0CLKVH8GZ/ref=sr_1_1?keywords=fca... personally only tested on a Fire TV Stick but I believe it should be equivalent?
- teruakohatu 2y agoAre any efforts being made to incorporate this into VLC? Both as a receiver and caster?
- junon 2y agoQuestion, is it named after the sites?
- akvadrako 2y agoWhat about as a Kodi plugin?
- r-w 2y agoThis project comes from FUTO, which is now making a name for itself by releasing and maintaining OSS alternatives like this, as well as sponsoring development of other OSS options. I personally first came across them when Louis Rossmann announced his affiliation. Very excited to see where this goes! As an aside, I wonder what it will take to get the protocol integrated into browsers? I presume Chrome is a foregone conclusion, but maybe Firefox and/or Brave would be interested in an integration?
- westurner 2y agoHow does FCast differ from Matter Casting? https://news.ycombinator.com/item?id=41171060&p=2#41172407 https://news.ycombinator.com/item?id=41171060&p=2#41172407 "What Is Matter Casting and How Is It Different From AirPlay or Chromecast?" (2024) https://www.howtogeek.com/what-is-matter-casting-and-how-is-it-different-from-airplay-or-chromecast/ https://www.howtogeek.com/what-is-matter-casting-and-how-is-... : > You can also potentially use the new casting standard to control some of your TV’s functions while casting media on it, a task at which both AirPlay and Chromecast are somewhat limited. Feature ideas: PIP Picture-in-Picture, The ability to find additional videos and add to a [queue] playlist without stopping the playing video
- koen31 2y agoInstead of waiting, hoping that big companies will implement the standard. Just make it as easy as possible to adopt by having receivers for all platforms and making client libraries that can cast to AirPlay, Chromecast, FCast and others seamlessly.
- pzo 2y agoDoest current app support AirPlay and Chromecast as different receivers/backends? Websites doesn't mention anything about it. Is there any plan also for iOS app? Some feedback: I would also add dedicated buttons for downloading MacOS and Windows binaries - for typical users gitlab button will be to scary. Website also not clear if there is and SDK for developers (the one that supports also airplay and chromecast) and what languages bindings it supports.
- westurner 2y agoGitHub has package repos for hosting package downloads. A SLSA Builder or Generator can sign packages and container images with sigstore/cosign. It's probably also possible to build and sign a repo metadata index with GitHub release attachment URLs and host that on GitHub Pages, but at scale to host releases you need a CDN and release signing keys to sign the repo metadata, and clients that update only when the release attachment signature matches the per-release per-platform key; but the app store does that for you
- zigzag312 2y agoI'm not a native English speaker, but FreeCast would be better, more meaningful name in my opinion.
- boomboomsubban 2y agoAlready taken https://en.wikipedia.org/wiki/FreeCast https://en.wikipedia.org/wiki/FreeCast
- zigzag312 2y agoOh, that's unfortunate. Thanks for pointing that out.
- throwaway81523 2y agoI've used Icecast before. It worked great. Is Fcast better somehow?
- koen31 2y agoHad not heard of Icecast before, but it doesn't look like they have the same aim of having receivers on every platform (AppleTV, Roku, TizenOS, Android, Linux, MacOS, Windows, ...)