-
Notifications
You must be signed in to change notification settings - Fork 978
WebRTC plugin
The AVideo WebRTC plugin enables real-time streaming and includes the WebRTC2RTMP server as a core component. Additionally, it provides functionality for video calls between users, making it a versatile tool for both live streaming and real-time communication.
- WebRTC to RTMP Conversion: Real-time conversion of WebRTC streams into RTMP streams via the WebRTC2RTMP server.
- Video Calls: Allows users to make unlimited video calls for unlimited durations, even in the free version.
- Automatic Start: The WebRTC2RTMP server starts automatically when the WebRTC plugin is enabled.
- User-Friendly: Simple setup and minimal configuration.
The WebRTC plugin requires the following plugins to function properly:
Make sure these plugins are installed and activated before enabling the WebRTC plugin.
- Go to the Plugin Manager page.
- Enable the WebRTC plugin.
- Wait for about 1 minute, and the WebRTC2RTMP server will start automatically as part of the plugin.
No complex configurations are required. The only configurable option is the port number:
- By default, the server uses port 3000.
- To change the port, go to the WebRTC plugin settings in the Plugin Manager and set your desired port.
The WebRTC2RTMP server, as part of the WebRTC plugin, does consume some CPU resources, but the usage is minimal for most setups. The number of live streams you can run simultaneously depends on your server's capacity. Ensure your server has sufficient resources if you plan to host multiple live streams at the same time.
The free version of the WebRTC plugin is a great way to get started with live streaming. It offers all the basic functionality you need to stream, but with some limitations:
- One Stream at a Time: Perfect for testing or occasional use, the free version allows only one RTMP stream to run at a time.
- 1-Hour Stream Limit: Great for short broadcasts or quick updates, but longer sessions may require an upgrade.
- Watermark Included: Your streams will display a watermark, ensuring you can try the plugin risk-free before committing to a premium plan.
The video call functionality included in the WebRTC plugin has no limitations in the free version:
- Unlimited Calls: Users can make an unlimited number of calls.
- Unlimited Duration: Calls can last as long as needed without restrictions.
- High Quality: Video and audio quality depend only on the network and device capabilities, not the plugin version.
Upgrading to a premium version unlocks a host of additional features, such as:
- Multiple Simultaneous Streams: Expand your capabilities to stream more than one event or camera angle at the same time.
- Longer or Unlimited Stream Durations: Ideal for events, webinars, or 24/7 streams.
- Watermark-Free Streaming: Deliver a professional, clean look for your audience.
For detailed pricing and plan options, visit the WebRTC2RTMP Marketplace. Explore plans that fit your needs and take your live streaming to the next level.
You can find the live streaming options in two places:
-
"Go Live" Menu:
- Look for an item called "Go Live" with a camera icon in the top menu. It is located alongside other options like "Encoder," "Upload," and "Meet."
-
Live Configuration Page:
- When you visit your live configuration page, you will see two options:
-
Live Stream with Software:
- This option provides your streaming credentials. Use these credentials with software like OBS to start your live stream.
-
Live Stream with Webcam:
- This option allows you to go live directly from your webcam. When you click on it, your webcam will open automatically, and you can start streaming immediately.
-
Live Stream with Software:
- When you visit your live configuration page, you will see two options:
Both options are designed to make live streaming simple. You can start a live stream with a single click, without needing to copy or paste any information.
If something doesn't seem to be working, you can check the server status:
- In the WebRTC plugin settings, click the Server Status button.
- You will see detailed information about the server, including its current status and any errors.
- If you need further help, check the Log Section on the Server Status page.
If the WebRTC server is not functioning as expected or you need to update it manually, follow these steps:
-
Navigate to the Tools Directory:
Open a terminal and go to the tools folder inside the WebRTC plugin directory:cd /var/www/html/AVideo/plugin/WebRTC/tools
-
Run the
forceAll.php
Script:
Execute the script to forcefully stop, update, and restart the WebRTC server:php forceAll.php
-
Expected Output:
The script performs the following actions:- Searches for the WebRTC server's port (default: 3000 or configured port).
- Stops the server if it's already running.
- Checks and applies updates to ensure the latest version is running.
- Restarts the server.
Example output:
Starting WebRTC Server Searching for port: 3000 No Need to kill, port NOT found WebRTC::checkAndUpdate: You are already running the latest version. Starting WebRTC Server [15-Jan-2025 12:54:46 Africa/Abidjan] Socket error: Connection refused [15-Jan-2025 12:54:46 Africa/Abidjan] Port 3000 is not open, start the server execAsync Linux: nohup sh -c "/var/www/html/AVideo/plugin/WebRTC/WebRTC2RTMP --port=3000 > /var/www/html/AVideo/videos/WebRTC2RTMP.log & echo \$!" > /dev/null 2>&1 & Command output: [] Return value: 0
-
Verify the Server Status:
After running the script, check the WebRTC server status to confirm it's running correctly.- Navigate to the Server Status section in the WebRTC plugin settings.
- Look for confirmation that the server is active and ready to use.
-
Log File:
If there are issues, consult the log file for more details:/var/www/html/AVideo/videos/WebRTC2RTMP.log
-
Important Notes:
- Ensure the configured port is not blocked by a firewall.
- If the server still doesn't start, verify that the WebRTC plugin is enabled and properly configured.
-
Server Not Starting:
- Ensure the WebRTC plugin is enabled.
- Wait at least 1 minute after enabling the plugin.
-
Port Issues:
- Verify that the port (default: 3000) is not blocked by a firewall.
If you encounter issues while updating the WebRTC plugin, such as conflicts or permission errors, refer to the detailed guide here: Resolving Specific Git Conflict: WebRTC2RTMP Permission Issue