Python module to, stream videos via authenticated sessions using FastAPI
Project description
Deployments
Video Streaming
Python module to, stream videos via authenticated sessions using FastAPI
Install
python -m pip install stream-localhost
Sample Usage
import asyncio
import os
import pystream
if __name__ == '__main__':
kwargs = dict(
username="foo",
password="bar",
video_source=os.path.join(os.path.expanduser('~'), 'Downloads'),
)
# Add the following to host on local IP address, skip for localhost (127.0.0.1)
# kwargs["video_host"] = pystream.utils.get_local_ip()
asyncio.run(pystream.start(**kwargs))
Env Variables
:bulb: Environment variables can be loaded from any file. Filename defaults to
.env
To use custom filenames, set the env varenv_file
askey
and the filename as itsvalue
Mandatory
- USERNAME: Any username of choice.
- PASSWORD: Any password of choice.
- SECRET: Any private key to encode and decode JWT.
- VIDEO_SOURCE: Source path for video files.
:bulb: Files starting with
_
(underscore) and.
(dot) will be ignored
Optional
- VIDEO_HOST: IP address to host the video. Defaults to
127.0.0.1
- VIDEO_PORT: Port number to host the application. Defaults to
8000
- FILE_FORMATS: Sequence of supported video file formats. Defaults to
(.mp4, .mov)
- WORKERS: Number of workers to spin up the
uvicorn
server. Defaults to1
- WEBSITE: List of websites (supports regex) to add to CORS configuration. Required only if tunneled via CDN
- AUTO_THUMBNAIL: Boolean flag to auto generate thumbnail images for preview. Defaults to
True
Coding Standards
Docstring format: Google
Styling conventions: PEP 8
and isort
Release Notes
Requirement
python -m pip install gitverse
Usage
gitverse-release reverse -f release_notes.rst -t 'Release Notes'
Linting
pre-commit
will ensure linting, run pytest, generate runbook & release notes, and validate hyperlinks in ALL
markdown files (including Wiki pages)
Requirement
pip install sphinx==5.1.1 pre-commit recommonmark
Usage
pre-commit run --all-files
Pypi Package
https://pypi.org/project/stream-localhost/
Runbook
https://thevickypedia.github.io/pystream/
License & copyright
© Vignesh Rao
Licensed under the MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for stream_localhost-1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f31ed50c030494dc0c230f70c569489ce262f049c9fdab9caef2fd901a8cf30c |
|
MD5 | d63a08fc5e1b9906929311262d5ace1a |
|
BLAKE2b-256 | afd11344554fdf58753aa157e9e1eddca6b48ea41b1780db58c6c03772990548 |