mirror of
https://github.com/dmunozv04/iSponsorBlockTV.git
synced 2025-12-07 20:36:44 +03:00
README
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -153,3 +153,4 @@ cython_debug/
|
|||||||
|
|
||||||
#config folder
|
#config folder
|
||||||
config/
|
config/
|
||||||
|
config.json
|
||||||
4
main.py
4
main.py
@@ -1,10 +1,8 @@
|
|||||||
import sys
|
import sys
|
||||||
import asyncio
|
import asyncio
|
||||||
from webbrowser import get
|
|
||||||
import pyatv
|
import pyatv
|
||||||
import aiohttp
|
import aiohttp
|
||||||
from async_lru import alru_cache
|
from async_lru import alru_cache
|
||||||
from datetime import timedelta
|
|
||||||
import json
|
import json
|
||||||
|
|
||||||
|
|
||||||
@@ -127,7 +125,7 @@ async def loop_atv(event_loop, atv_config, apikey, categories):
|
|||||||
except:
|
except:
|
||||||
atv.close()
|
atv.close()
|
||||||
|
|
||||||
def load_config(config_file="config/config.json"):
|
def load_config(config_file="config.json"):
|
||||||
with open(config_file) as f:
|
with open(config_file) as f:
|
||||||
config = json.load(f)
|
config = json.load(f)
|
||||||
return config["atvs"][0], config["apikey"], config["skip_categories"]
|
return config["atvs"][0], config["apikey"], config["skip_categories"]
|
||||||
|
|||||||
55
readme.md
Normal file
55
readme.md
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
# iSponsorBlockTV
|
||||||
|
|
||||||
|
Skip sponsor segments in YouTube videos playing on an Apple TV.
|
||||||
|
|
||||||
|
This project is written in asycronous python and should be pretty quick.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Docker
|
||||||
|
`WIP`
|
||||||
|
|
||||||
|
### From source
|
||||||
|
|
||||||
|
You need to install [python](https://www.python.org/downloads/) first, and to make it available in your PATH. After, clone the repo.
|
||||||
|
Then you need to download the dependencies with pip:
|
||||||
|
```python3 -m pip install -r requirements.txt```
|
||||||
|
Lastly, run ```main.py```
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
You need to retrieve airplay keys to be able to connect to the Apple TV. (It will be made simpler in the future)
|
||||||
|
For now, use `atvremote`, a script included in pyatv:
|
||||||
|
1. atvremote scan
|
||||||
|
2. atvremote pair --protocol airplay --id `identifier you got on the previous step`
|
||||||
|
|
||||||
|
Get [YouTube api key](https://developers.google.com/youtube/registering_an_application)
|
||||||
|
|
||||||
|
Edit config.json.template and save it as config.json
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
Run iSponsorBLockTV in the same network as the Apple TV.
|
||||||
|
|
||||||
|
It connect to the Apple TV, watch its activity and skip any sponsor segment using the [SponsorBlock](https://sponsor.ajay.app/) API.
|
||||||
|
|
||||||
|
The last 5 videos' segments are cached to limit the number on queries on SponsorBlock and YouTube.
|
||||||
|
|
||||||
|
To exit press ENTER
|
||||||
|
|
||||||
|
## Libraries used
|
||||||
|
- [pyatv](https://github.com/postlund/pyatv) Used to connect to the Apple TV
|
||||||
|
- [asyncio] and [aiohttp]
|
||||||
|
- [async_lru]
|
||||||
|
- [json]
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
1. Fork it (<https://github.com/dmunozv04/iSponsorBlockTV/fork>)
|
||||||
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
||||||
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
||||||
|
4. Push to the branch (`git push origin my-new-feature`)
|
||||||
|
5. Create a new Pull Request
|
||||||
|
|
||||||
|
## Contributors
|
||||||
|
|
||||||
|
- [dmunozv04](https://github.com/dmunozv04) - creator and maintainer
|
||||||
Reference in New Issue
Block a user