Comments (15)
Hello, and thank you for your interest in the project!
The current capabilities and features are listed in the Readme for the project. At this point RTMP streams can be played back on the NymphCast server. I imagine that server functionality (along with transcoding) would require a significant amount of work.
I'll of course gladly accept ideas and pull requests :)
from nymphcast.
thank you for your reply
I read readme but I needed more information.
typically instead of (or in addition) redirect the flow to the RPI's hdmi port, could we redirect it to a flow software for example FFMPEG or GSTREAMER?
on readme : "3rd party audio / video streaming protocol support on the server side" as...ffmpeg or gstreamer?
I am working on a project (on a RPI4) with gstreamer which generates an RTMP stream from a camera. This flow is then processed by an NGINX server for broadcasting.
Ideally the idea would be to keep roughly the same architecture as possible to broadcast the camera of a smartphone.
from nymphcast.
NymphCast already uses ffmpeg internally, which means it's mostly a matter of implementing code that exposes this functionality. At this point such a feature has not been planned, however.
from nymphcast.
thank you for your return.
Can we interact on the ffmpeg command line directly in the code?
Personally for my project I planned to use chromecast (out of spite) ... I would much prefer to use yours.
If there is a direct possibility to modify the processing of ffmpeg and if you can tell me where in the code, I can test in this direction.
from nymphcast.
Hello,
The project looks fantastic and I will certainly try it. From what I understand it aims at replacing closed source solution from industrial such as Google Chromecast and other Anycast Miracast compatible devices.
What I'd like to know, if it is compatible with a specific standard, or is it a complete new solution that could be integrated in the device of our choice and in the app of our choice.
i.e:
- I need to develop or add the capabilities to stream to nymphcast on my existing mobile apps
- I need to integrate the nymphcast in my desktop app in order for my user to stream from my mobile app
Thanks a lot for the clarification. I'm sorry if I miss something somewhere, I did not find any piece of information regarding :
Miracast / Unicast / Chromecast / Airplay
Thanks a lot !
from nymphcast.
@Florent4223 Sorry for taking a while to answer. Could you summarize your requirements if you are still interested in such a solution?
@gabrielstuff NymphCast uses its own (RPC-based) protocol. There is no compatibility with other systems as they're either proprietary or overly complicated to implement.
The NymphCast client library is the current C++ reference implementation for client-side communications with a NymphCast server (receiver). The 'client' implementation shows how to use it in a CLI application, with the Qt-based NymphCast Player showing integration of it in a GUI-based application.
An Android-based client is also under development that uses the NDK with the client library.
from nymphcast.
NymphCast uses its own (RPC-based) protocol. There is no compatibility with other systems as they're either proprietary or overly complicated to implement
I came to this issue looking to see if the existing android apps I have with a Google Cast button (spotify, NPR, other radio apps) could cast to a NymphCast server without support from the developer. Your quoted reply seems to indicate that this is not possible. Is that correct?
from nymphcast.
@Ramblurr That is correct. ChromeCast protocol receivers ('servers') require authentication by clients (like the Spotify app) using secret keys that only Google knows. This means effectively that implementing one's own ChromeCast receiver is impossible.
In NymphCast the idea to circumvent this in two ways: a) by allowing these client apps to also implement NymphCast support, and b) by using NymphCast server-side apps to provide access to these services without first-party app support.
As an example, there's a SoundCloud app in NymphCast that allows one to search and play back all publicly available music on that service. This can be extended to other services, including Spotify, Netflix, YouTube, etc.
I hope this answers your question :)
from nymphcast.
Brilliant @MayaPosch, it definitely answers my question. I didn't realize the chromecast protocol was so locked down, I figured it would just take some reverse engineering.
Looking forward to NymphCast's future!
from nymphcast.
Thank you, @Ramblurr :)
Back with the CastV1 protocol (based on DIAL) it was possible to write one's own client and server, but with the v2 protocol which Google introduced with ChromeCast v2, they use a full authentication chain with secret keys.
Some references on the v2 protocol:
The receiver authentication challenge-response:
https://blog.oakbits.com/google-cast-protocol-receiver-authentication.html
Essentially, while even a DIY client can authenticate that a receiver is genuine, a genuine client (using the Cast SDK) will reject anything but a genuine receiver (providing the correct response). In addition, the actual Cast apps (Netflix, Spotify, etc.) are loaded from remote servers (HTML & JS), which appear to have their own authentication checks and secret keys for backend APIs.
from nymphcast.
I am wondering how VLC does it, since it can stream media to a Chromecast? I am also using https://airflow.app/ which works very well.
from nymphcast.
@mapl Streaming to a ChromeCast instance is a supported feature, it is the 'build your own receiver' part that's impossible, unless you want to build the equivalent of a first-gen ChromeCast with the v1 DIAL protocol.
from nymphcast.
I didn't catch that. Thx! :)
So the nymphcast receiver could not just output the stream to a directly attached Display or GUI, but also stream to a Chromecast?
from nymphcast.
Yes, that would be a possibility, just like streaming to e.g. DLNA or RTMP devices, I guess. This falls outside the use cases of NymphCast, of course.
from nymphcast.
This would still be a neat extension to the Project to have an Output or Render Plugin for the NC receiver :)
from nymphcast.
Related Issues (20)
- Unable to install Android client HOT 2
- NymphServer Windows Binary HOT 11
- Nymphcast Player - Manually add Remote Server HOT 8
- FreeBSD packaging HOT 1
- Build issues, Clang, C++11 or C++17, FreeBSD HOT 3
- Player: video seeking not working HOT 3
- Nymphcast "Server" Naming
- raspberrypi nymphcast_server[9460]: /usr/local/bin/nymphcast_server: error while loading shared libraries: libPocoUtil.so.70: cannot open shared object file: No such file or directory HOT 5
- Integration with Home Assistant HOT 1
- Client app in Kirigami HOT 1
- Firefox addon
- Integration with Plasma Bigscreen HOT 4
- Flatpak package
- Need help getting started HOT 4
- Failure to install Android APK "App not installed as package appears to be invalid" HOT 4
- Playing status is not synced over clients on launch HOT 7
- Groups are not listed under "Group remotes" and thus can not be removed or renamed HOT 1
- Unable to play to group because of "Please check that all remotes in the group are online" error HOT 8
- NymphCast-MediaServer no longer build on Arch Linux HOT 3
- NymphCastPlayer no longer build on Arch Linux HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nymphcast.