https://github.com/bannsec/shareplayer
Python Library for Syncronized Playback of Video and Audio
https://github.com/bannsec/shareplayer
share video video-player
Last synced: about 1 year ago
JSON representation
Python Library for Syncronized Playback of Video and Audio
- Host: GitHub
- URL: https://github.com/bannsec/shareplayer
- Owner: bannsec
- Created: 2016-10-10T17:16:42.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2018-12-15T21:19:46.000Z (over 7 years ago)
- Last Synced: 2025-07-05T02:32:59.881Z (about 1 year ago)
- Topics: share, video, video-player
- Language: Python
- Size: 126 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Overview
This goal for this library is to allow people to play back audio and video together with a group of other people across networks or internet.
# Supported Platforms
The goal is to build this in such a way as to support all the major platforms. That said, for now it is only tested on Linux (Ubuntu). Some initial testing on Windows indicates some things will need to be modified on the script, but it should generally be workable in the future. I do not have a Mac so I have no way of testing that side.
# Supported Players
sharePlayer currently supports using mplayer as well as ChromeCast for shared playback.
# Installation/Quick Start
This is primarily just a python project. Installation boils down to simply `pip install sharePlayer`. Here's a useful one-liner:
`mkvirtualenv --python=$(which python3) -i sharePlayer sharePlayer`
At that point, you are in your virtual environment and sharePlayer has been installed.
# Running
To run sharePlayer, simply run the command `sharePlayer`. It's highly encouraged for you to install this into a python virtual environment, so if you did that you would want to make sure that your virtual environment is open prior to running that command.
# Caveats
This app is based on client/server configuration. The server in this case is you or your co-video watcher. You need to be able to set up your network in such a way that the client can get to the server. I have not implemented any UPnP type functionality yet.
This app has been developed with the concept of having viewing parties. However, for the moment it is only tested for having one server and one client (two people total). It will likely not work as expected or at all if you attempt to connect more. This is temporary, but for now it's a 2 person viewing system.
# Dependencies
I hope to make this mostly OS agnostic. Here are the current dependencies
- mplayer (http://www.mplayerhq.hu/)
- Debian: sudo apt-get install mplayer
- python3
- Debian: sudo apt-get install python3 python3-dev
- mplayer.py python library
- install from https://github.com/Owlz/mplayer.py -- Bugfixes over master branch
- pyNaCl for crypto
- pip install pynacl
- dill
- pip install dill
- progressbar2
- pip install progressbar2
# Configuration
Right now sharePlayer supports a configuration file. This file is in ini format and can be manually edited. It also has a menu option to edit this file through the app itself. The location of this file will differ based on your OS (using appdirs in the backend). For instance, on Linux, it will be under ~/.config/sharePlayer.
# Security Considerations
This app has been outfitted with authenticating encryption. The other end needs to know the password ahead of time to be able to connect. Choose a strong password if you're concerned about others joining this session.