Development of an Android SRT Video Streaming Application with Custom UI, Logo, and Enhanced Features

Job ID: 37941010

Budget: €30 – €250 EUR

We are in search of an expert Android developer to create a cutting-edge application focused on Secure Reliable Transport (SRT) streaming, featuring a user-friendly and customized interface. This application is targeted at facilitating live video content broadcasting from Android devices, with in/out streaming restricted to URLs matching our specific domains (*.myserver.com).

Using SRTdroid as the foundation code, the development of the app becomes significantly straightforward and fast for an experienced programmer.
---------------------------------------------------------------------------
Core Features and Requirements:
SRT Streaming Support: The app must enable outbound SRT streaming, allowing users to broadcast live video streams directly from their Android devices.

URL Restriction: Ensure streaming is exclusively allowed to domains matching *.myserver.com to direct broadcasts only to our specified servers.

Talkback Support: Implement incoming SRT stream capabilities for audio-only or audio-video (talkback), enabling field personnel to receive real-time audio or video communication. (a simple srt link in "caller" mode)

Custom Branding: The application should prominently feature our logo across its interface, reinforcing brand identity.

Codec Selection: Provide users the ability to select between H264 and H265 codecs for their streaming needs, depending on quality requirements and bandwidth constraints.

Advanced Camera Controls: The UI should offer comprehensive access to advanced video/photo functionalities akin to leading photography apps, including resolution, frame rate, exposure adjustments, and white balance settings, front / rear camera selection. Local video recording ..

RTMP Removal: Ensure all RTMP functionalities and related UI elements are completely removed from the application, focusing solely on SRT streaming capabilities.

Android Compatibility: The application must be compatible with at least the last three versions of Android, be self-signed, and is not intended for Google Play Store distribution at this stage.



Comprehensive Streaming Settings: Users should have the ability to configure detailed streaming settings such as server URL, audio or audio+video mode, SRT mode (caller or listener), latency, passphrase, pbkeylen, stream ID, retransmission algorithm, and maxbw. These functionalities should be mirrored for the talkback SRT signal.

Specific Technical Requirements:
Utilization of the SRTDroid library for SRT functionalities, which inherently supports all required streaming and talkback configurations.

Proven experience in developing live streaming applications, especially with SRT/RTMP protocols.

Ability to deliver a self-signed APK compatible with recent Android versions, ensuring broad accessibility and user engagement.

Application Instructions:
Applicants are requested to include detailed accounts of their previous work, particularly projects that involved live streaming functionalities. Highlight experiences with implementing user authentication, push notifications, and in-app purchases. Showcase your proficiency with live streaming protocols (specifically SRT) and your talent in crafting Android applications with complex features.

GitHub Repository: All source code for the application must be uploaded to a private GitHub repository, providing a centralized and secure environment for code management and review. The chosen developer will be given access to this repository at the start of the project.

Deliverable APK: A fully functional APK must be delivered upon completion of the development phase. This APK should be tested and verified to work on the specified Android versions, ensuring it meets all project requirements and specifications outlined.

Upon first installation and at every launch thereafter, users will be prompted with the following requirements:

User Permissions: The application will request users to grant permissions for various functionalities critical to its operation. These permissions include:

Location Access: For location-based features and enhanced user experience.
Internal Storage Access: Necessary for data storage, content caching, and user preferences.
Camera Access: Essential for live video streaming and content creation.
Microphone Access: Required for audio capture during live streaming and video recording.
Each permission request will be accompanied by an explanation of its necessity, ensuring users are informed about why these permissions are needed and how they contribute to the app's functionality.

Terms of Use Agreement: Upon installation and at every start-up, users will be required to accept the Terms of Use. A link to a webpage detailing these terms will be provided within the app. This agreement will outline the legal conditions under which the app can be used, including privacy policies, user responsibilities, and other necessary legal information