Skip to content

A Python-based web server for file sharing and media playback with a custom audio and video player

License

Notifications You must be signed in to change notification settings

Sergio00166/webFILE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


This is a basic web server to share files with a custom video and audio player and the rest of files will be interpreted by the browser


The video player supports subtittles and changing the audio track
Some browsers cannot play some video formats because this project is not using transcoding to convert in realtime the video/sound, it only converts the subtitles.
To change the audio track from a video you must need to enable "Experimental Web Platform features" in your browser.
Because of the limitations of HTLM5 it can only play webVTT subs but dont worry it will convert it automatically.


Requirements:
Python3, Windows/Linux, Flask, ffmpeg
This software includes pysubs2 module under the MIT license
you can find the complete LICENSE inside the zip file in app/data/pysubs2.zip


Usage:

  • To run via flask internal HTTP server via CLI
    python3 scripts/run.py -b IP_addr -p port -d directory [--dirsize]
  • To run via flask internal HTTP server with config file (for use with load balancer)
    python3 scripts/start.py config.cfg
    • you can specify the ports with a range like 8000-8007 to spawn 8 workers and distribute the load with nginx
  • To use a WSGI for deployment -> (for example gunicorn)
    cd app; gunicorn -R --env FOLDER=/PATH --env SHOWSIZE=True -b 127.0.0.1 -w 2 app:app
    WARNING: slow video streaming with gunicorn

About

A Python-based web server for file sharing and media playback with a custom audio and video player

Resources

License

Stars

Watchers

Forks