This is a Python client wrapper for the video streaming receiver found at fcast on GitLab. The FCAST_Client
class provides an easy-to-use interface to communicate with the reciever and control video playback.
Ensure you have Python installed and the required libraries. This wrapper uses the socket
, json
, and struct
libraries which are part of the Python standard library.
First, create an instance of the FCAST_Client
:
client = FCAST_Client(host="your_host_here", port=46899)
Plays a video.
client.play(container="video/mp4", url="http://example.com/video.mp4")
Parameters:
container
: The MIME type (e.g., "video/mp4").url
: The URL to load (optional).content
: The content to load (e.g., a DASH manifest, optional).time
: The time to start playing in seconds (optional).
Pauses the video.
client.pause()
Resumes the video.
client.resume()
Stops the video.
client.stop()
Seeks to a specific time in the video.
client.seek(time=120) # Seeks to 2 minutes into the video.
Parameters:
time
: The time to seek to in seconds.
Sets the volume of the video.
client.set_volume(volume=0.5) # Sets the volume to 50%.
Parameters:
volume
: The volume level (0.0 - 1.0).
Closes the connection to the reciever.
client.close()
To use the FCAST_Client
wrapper with the fcast
reciever, follow the steps below:
-
Ensure the
fcast
reciever is running and listening on the desired host and port. -
Create an instance of the
FCAST_Client
and connect to thefcast
reciever:
from fcast import FCAST_Client
# Replace with the appropriate host and port of your fcast reciever
client = FCAST_Client(host="your_host_here", port=46899)
- Play a video:
# Play a video from a URL
client.play(container="video/mp4", url="http://example.com/video.mp4")
- Control the video playback:
import time
# Pause the video after 5 seconds
time.sleep(5)
client.pause()
# Resume playback after another 5 seconds
time.sleep(5)
client.resume()
# Seek to 2 minutes into the video after 5 seconds
time.sleep(5)
client.seek(time=120)
# Adjust the volume to 50%
client.set_volume(volume=0.5)
- Once done, close the connection:
client.close()