CoCast – Media Casting Application

👋 Try CoCast now: https://printfer.github.io/cocast/

CoCast is a free and open-source media casting application that allows you to watch your favorite videos with friends from anywhere in the world! With CoCast, you can invite your friends and watch videos together in real-time. It’s the perfect way to catch up on the latest viral videos, enjoy a movie night with your long-distance friends, or simply share some laughs.

Features

CoCast is built using React, TypeScript, WebRTC, and Vite, among other technologies. It offers the following features:

  • 👥 Watch your favorite videos together in real-time
  • 🎵 Customizable playlist with detailed information
  • 📤 Share via link or QR code without signups or account creation
  • 🤝 Peer-to-peer technology for fast and secure data sync
  • 🌐 Cross-platform support across different networks and devices
  • 🌟 User-friendly interface with no app installation required
  • 🌗 Supports both light and dark themes for a personalized experience
  • 💻 Modern UI design for a sleek and intuitive user experience
  • 🌈 Accessibility features to ensure all users can enjoy the app.

🚧 The following features are currently under development and will be added to the app in the near future:

  • 📁 Sharing local media file through WebTorrent.
  • 📱 PWA support for device-level integrations.

Try it out!

You can try CoCast directly at https://printfer.github.io/cocast/, or you can build the project yourself. To build the project, you’ll need to have npm installed on your machine. Once you have that, simply clone this repository and run the following command:

npm install
npm run build
npm run preview

This will launch the CoCast application in your default web browser. From there, you can invite your friends and start watching videos together. You can also find a production-ready build in the dist directory.

Q&A

Why doesn’t the media pause when another peer is still loading the video?

This behavior is intentional. Although it may be inconvenient for the media to continue playing while other peers are still loading the video, pausing the other party’s media progress when loading, especially when the loading process happens frequently, might negatively impact the user experience. Currently, there are no good solutions to solve this, so CoCast remains to provide basic functions. Suggestions for improving this feature are welcome as further improvements are necessary.

Why doesn’t CoCast have a built-in chat system?

CoCast is designed exclusively for media casting and does not include additional features such as chat. In addition, CoCast is a serverless application that relies on WebRTC for peer-to-peer communication. While WebRTC is more secure than other alternatives, it still presents certain security and privacy concerns that must be addressed. Creating a chat system within WebRTC would require additional work to ensure privacy and security are adequately addressed. Therefore, it is recommended that users utilize their favorite messaging tools instead.

Contributing

Bug reports, feature suggestions, and code contributions are most welcome. Feel free to open an issue or pull request, and please check out the CONTRIBUTING.md file for more details.

Changlog

See the CHANGELOG.md file for more information.

License

This project is licensed under the GPLv3 License. See the LICENSE file for more information.

Credits

CoCast and its logo have been designed and created by Printfer with ❤️

Copyright © 2023 Printfer

GitHub

View Github