ScreenStream is an application that allows users to stream their Android device screen in two different modes: Global mode and Local mode. These modes have unique features, limitations, and customization options. In Global mode, the app uses WebRTC technology for end-to-end encrypted communication and requires an internet connection. On the other hand, Local mode utilizes the MJPEG standard and can function without an internet connection within the user's local network. In Global mode, users can stream both video and audio by connecting with a unique stream ID and password. This mode offers more security with password protection and individual data transmission for each client. However, it requires a stable internet connection and may consume more bandwidth with an increasing number of clients. On the other hand, Local mode uses a PIN for security and sends video as a series of independent images without audio. It also has an embedded HTTP server and supports both WiFi and mobile networks. Both modes have their own limitations and warnings that users should be aware of. For example, streaming via mobile networks may result in high data usage, and there may be a delay in streaming under certain conditions. Additionally, the app is not designed for streaming HD video and may have limitations with incoming connections and certain WiFi networks. The source code for the ScreenStream app and its server and web client can be found on GitHub. This allows for customization and potential improvements by users. However, it is important to note that the number of clients is not directly limited, but it is important to consider the impact on CPU resources and bandwidth for optimal performance. Overall, ScreenStream offers a convenient and customizable way to stream an Android device screen for various purposes.









