All Projects → adblockradio → buffer

adblockradio / buffer

Licence: MIT license
A player that buffers radio content and lets you fast-forward ads. Uses Adblock Radio as a backend.

Programming Languages

javascript
184084 projects - #8 most used programming language
shell
77523 projects
HTML
75241 projects

Projects that are alternatives of or similar to buffer

Radio
Simple Android webradio player
Stars: ✭ 21 (-73.75%)
Mutual labels:  radio, player
Fradioplayer
A simple radio player framework for iOS, macOS, tvOS.
Stars: ✭ 183 (+128.75%)
Mutual labels:  radio, player
Pandoraplayer
🅿️ PandoraPlayer is a lightweight music player for iOS, based on AudioKit and completely written in Swift.
Stars: ✭ 1,037 (+1196.25%)
Mutual labels:  radio, player
Jcplayer
🎵 A simple audio player for Android applications.
Stars: ✭ 209 (+161.25%)
Mutual labels:  radio, player
Somafm
📻 Play & record SomaFM radio channels
Stars: ✭ 103 (+28.75%)
Mutual labels:  radio, player
Swift Radio Pro
Professional Radio Station App for iOS!
Stars: ✭ 2,644 (+3205%)
Mutual labels:  radio, player
vue-podcast-player
Vue based simple podcast player
Stars: ✭ 31 (-61.25%)
Mutual labels:  player
vue-audio
A simple audio player based on Vue 2.x which supports single, loop, order, circulation, and random mode
Stars: ✭ 41 (-48.75%)
Mutual labels:  player
twitch-vod-chat
No description or website provided.
Stars: ✭ 20 (-75%)
Mutual labels:  player
media-player
H5视频播放器,可自定义插件
Stars: ✭ 36 (-55%)
Mutual labels:  player
shogi-player
将棋の棋譜を再生したり盤面を編集したりします
Stars: ✭ 42 (-47.5%)
Mutual labels:  player
iRadio
Ein Softwarebaukasten für den Aufbau/Umbau von Radios auf Raspberry Pi Basis
Stars: ✭ 15 (-81.25%)
Mutual labels:  radio
iptv-m3u-player
项目iptv-m3u-maker衍生项目,利用已分析出的数据进行播放的桌面端app
Stars: ✭ 73 (-8.75%)
Mutual labels:  player
Meaga
一个由Electron和Vue联合打造的本地音乐播放器
Stars: ✭ 36 (-55%)
Mutual labels:  player
ppplay
An old-fashioned Module Player
Stars: ✭ 27 (-66.25%)
Mutual labels:  player
streaming-pt
Live TV 📺 and Radio 📻 shell scripts from Portugal 🇵🇹.
Stars: ✭ 52 (-35%)
Mutual labels:  radio
RTLion
Multipurpose RTL-SDR Framework for RTL2832 based DVB-T receivers
Stars: ✭ 88 (+10%)
Mutual labels:  radio
podest
Enjoy fine podcasts ✨
Stars: ✭ 33 (-58.75%)
Mutual labels:  player
onpc
Enhanced Music Controller
Stars: ✭ 90 (+12.5%)
Mutual labels:  player
RadioPlayerV3
An Advanced Telegram Bot to Play Radio & Music in Voice Chat. This is Also The Source Code of The Bot Which is Being Used For Playing Radio in @AsmSafone Channel ❤️
Stars: ✭ 232 (+190%)
Mutual labels:  radio

Adblock Radio Buffer

Listen to the radio ad-free and without interruptions. Adblock Radio Buffer buffers radio content and lets you fast-forward ads.

Uses Adblock Radio as a backend, featuring machine-learning and acoustic fingerprinting techniques.

A technical discussion describes how it works.

Preview

Player interface

For each radio, metadata is retrieved with the open source live metadata scraper.

A colored bar indicates how much of audio is available. Default setting is to buffer up to 15 minutes. Each color tells the user about the content of the audio:

  • blue for music
  • green for talk
  • red for ads

Select the content you want to hear

You can choose what kind of content you want to hear or skip on each radio.

On news stations, it is great just to skip ads. On musical stations, it's convenient to skip ads and also talk interruptions.

Many radios available, more to come

At the time of writing, 84 radios are available in the player.

It is planned to add more. You can submit requests here.

Crowd-sourced improvements of the filters

Sometimes the predictor is wrong. Not a problem, it is possible to report mispredictions.

It makes Adblock Radio better for everybody.

Installation

Docker (recommended for most users)

Choose a directory where configuration and log files will be stored.

mkdir /var/lib/adblockradio
mkdir /var/lib/adblockradio/config
mkdir /var/lib/adblockradio/log

Built images are available on Docker Hub as adblockradio/buffer. Check on https://hub.docker.com/r/adblockradio/buffer.

Find the version you want to run, e.g. 0.1.0.

VERSION=0.1.0
docker pull adblockradio/buffer:$VERSION
cd /var/lib/adblockradio
docker run -it -p 9820:9820 -a STDOUT --mount type=bind,source="$(pwd)"/config,target=/usr/src/adblockradio-buffer/config --mount type=bind,source="$(pwd)"/log,target=/usr/src/adblockradio-buffer/log adblockradio/buffer:$VERSION

The interface should now be available at http://localhost:9820/. Type Ctrl-P Ctrl-Q to detach from the container.

To make it accessible to remote clients, configure e.g. Nginx the following way:

server {
        server_name subdomain.your-server.com;
        root /usr/share/nginx/html;

        location / {
                proxy_set_header   X-Real-IP $remote_addr;
                proxy_set_header   Host      $http_host;
                proxy_pass         http://127.0.0.1:9820;
                proxy_set_header   X-Forwarded-Proto https;
        }
        listen 80;
}

and use Certbot to enable HTTPS. You are good to go.

Advanced users and developers can build their own Docker image with docker-build.sh.

Desktop binary (Linux only, alpha quality)

An Electron Linux binary is available here. It has been tested on Debian 8.0/LMDE2 x64. It needs ffmpeg on your system. If you do not have it, run sudo apt install ffmpeg.

Windows and Mac builds are expected in the future.

From source

Installation instructions expect a minimum of technical knowledge.

Create an empty directory somewhere on your machine, we call it DIR.

First, install Adblock Radio algorithm. You should now have DIR/adblockradio with the files inside. In that subdirectory, run node demo.js to check everything is working correctly.

Then, install this player. Run these commands in DIR, so that DIR/buffer will be created:

git clone https://github.com/adblockradio/buffer.git
cd buffer
npm install
cd client
npm install
npm run build
cd ..

Interface in browser

npm run start

Open http://localhost:9820 in your favorite browser. Add your radios and enjoy!

Interface in Electron (native desktop app)

cd node_modules/adblockradio
npm rebuild zeromq --runtime=electron --target=3.1.7 --update-binary
cd ../..
npm run electron

Add your radios and enjoy!

Development

In a first terminal, open React dev server:

cd client
npm start

Interface in browser

In another terminal, run the backend:

npm run startdev

Open http://localhost:9820 in your favorite browser.

Interface in Electron (native desktop app)

In another terminal, run the backend:

npm run electrondev

Roadmap

  • Nicer UI and UX (help would be appreciated)
  • Cross platform Electron builds
  • Docker builds (WIP)
  • Cordova apps (WIP), or even better React native apps

Contributions welcome.

Copyright

Copyright 2018-2019, Alexandre Storelli

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].