All Projects → gabek → supbox

gabek / supbox

Licence: MIT license
Get the currently playing track from Rekordbox v6 as Audio Hijack Shoutcast/Icecast metadata, display in your OBS video broadcast or export as JSON.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to supbox

obs-random-videos
Easily create a random playlist of videos or music
Stars: ✭ 38 (+5.56%)
Mutual labels:  obs
obs-screenshot-plugin
An OBS Studio filter plugin to save screenshots of a source/scene
Stars: ✭ 93 (+158.33%)
Mutual labels:  obs
SHOUTcast-Manager
[DEPRECATED] NO LONGER MAINTAINED - A PHP SHOUTcast hosting tool with support for PHP 5.x & 7.x with SHOUTcast v1 & v2)
Stars: ✭ 24 (-33.33%)
Mutual labels:  shoutcast
meme-box
Manage and trigger media in OBS as a browser source
Stars: ✭ 82 (+127.78%)
Mutual labels:  obs
OBS-ChatSpam
Python script for OBS Studio that posts messages in Twitch chat
Stars: ✭ 26 (-27.78%)
Mutual labels:  obs
icecast-parser
Node.js module for getting and parsing metadata from SHOUTcast/Icecast radio streams
Stars: ✭ 66 (+83.33%)
Mutual labels:  shoutcast
liveSpeech
将主播说的话通过各个云平台的语音服务合成另外一种声音的OBS工具
Stars: ✭ 31 (-13.89%)
Mutual labels:  obs
nowplaying
A lightweight PHP adapter for viewing the current now playing data in Icecast and SHOUTcast 1/2. A part of the AzuraCast software suite.
Stars: ✭ 20 (-44.44%)
Mutual labels:  shoutcast
obs-docu
Official Open Build Service Documentation. Content gets reviewed and edited. Generated books are available at http://www.openbuildservice.org
Stars: ✭ 26 (-27.78%)
Mutual labels:  obs
player-shoutcast-html5
Responsive HMTL5 Web Player for SHOUTCast and Icecast streamings with cover art and lyrics
Stars: ✭ 71 (+97.22%)
Mutual labels:  shoutcast
smart rtmpd
RTMP server, smart, compact, high performance(c, c++), high concurrency, easy to maintain, easy to deploy, (supports multiple operating systems Windows and Linux, ARM, FreeBSD)
Stars: ✭ 159 (+341.67%)
Mutual labels:  obs
obws
The obws (obvious) remote control library for OBS
Stars: ✭ 27 (-25%)
Mutual labels:  obs
obplayer
📻 OBPlayer Streaming Automation Playout with CAP EAS Alerting
Stars: ✭ 93 (+158.33%)
Mutual labels:  shoutcast
nginx-obs-automatic-low-bitrate-switching
Simple app to automatically switch scenes in OBS based on the current bitrate fetched from the NGINX stats page.
Stars: ✭ 167 (+363.89%)
Mutual labels:  obs
radiobot
Your hobbyist radio station solution.
Stars: ✭ 17 (-52.78%)
Mutual labels:  shoutcast
obs-csgo
OBS Plugin to capture CS:GO with Trusted Mode enabled
Stars: ✭ 101 (+180.56%)
Mutual labels:  obs
kiwi
Kiwi turns your Pimoroni Keybow into a fully customizable poor-man's Elgato Stream Deck!
Stars: ✭ 40 (+11.11%)
Mutual labels:  obs
CounterStrike-GlobalOffensive-LiveStat-for-OBS-Studio
Showing you LIVEstats of CS:GO in your Stream like OBS-Studio while playing/streaming.
Stars: ✭ 24 (-33.33%)
Mutual labels:  obs
fridgefm-radio-core
Simple lightweight package for creating your own radio station via NodeJS heavily inspired by Shoutcast and Icecast.
Stars: ✭ 32 (-11.11%)
Mutual labels:  shoutcast
goicy
AAC and MPEG (MP1, MP2, MP3) Icecast/Shoutcast source client written in Go
Stars: ✭ 58 (+61.11%)
Mutual labels:  shoutcast

This tool is for users of Pioneer's Rekordbox v6 to gain access to their currently playing track. This data can be used for any number of purposes, but a large one is online streaming of audio and video. Built-in support for OBS and Audio Hijack are included.

Currently only supported on macOS

Since I use macOS, and I have an install of Rekordbox on macOS that's what I have it working with. However, there's no reason that somebody who's using Rekordbox on Windows can't help out and make the tweaks needed to point to the file locations on a Windows install. If there's any demand maybe I'll install a VM and install Rekordbox and I'll do it myself.

Usage

  1. Download the zip file and unzip it somewhere.
  2. Open the config/config.yaml file.
  3. Make sure the application path points to your copy of Rekordbox.app (version 6) on your computer.
  4. Decide where you want the output files to go such as an "output" directory. Create this directory if needed.
  5. Decide if you are using OBS, Audio Hijack, or JSON output.
  6. You can remove any of the config file output destinations you're not using.
  7. Run ./supbox from the command line.
  8. You should see output when tracks change that looks like
2020/05/13 11:34:27 {ID:6d655f64-f2e5-4ec9-bd51-3a2c86984c8e Artist:VNV Nation Name:Retaliate ImagePath:/Users/gabek/Library/Pioneer/rekordbox/share/PIONEER/Artwork/bd3/82718-334f-482d-ad0a-82a1f8ba2507/artwork.jpg}

Note: If you run into an error from macOS running ./supbox from the command line saying it's not signed or from an unknown developer first open it directly via the finder just once, and it should be fine from then on.

Using with OBS

If you're using OBS the file path of nowplaying-obs-* would generate three files:

  • nowplaying-obs-artist.txt (just the artist name)
  • nowplaying-obs-track.txt (just the track name)
  • nowplaying-obs-track.jpg (just the track image)

Within OBS you can then point to these files and add the Metadata to your broadcast.

Here's an example setup:

Using with Rogue Ameba Audio Hijack

You can point Audio Hijack at a specially formatted text file and the software will read it and treat it as the current Metadata. This file location is configured in the config file as audioHijack under output.

For example you can set it to output/nowplaying-audiohijack.txt and the contents of the file would look something like

Title: Retaliate
Artist: VNV Nation
Artwork: /Users/me/Library/Pioneer/rekordbox/share/PIONEER/Artwork/bd3/82718-334f-482d-ad0a-82a1f8ba2507/artwork.jpg

Here's an example setup:

Please read the details that Rogue Ameba has provided under the Metadata from a “Now Playing.txt” file section if you have questions.

JSON Output

An option to generate a JSON file with the Metadata is available for other uses. Upload it to a web server, have your text to speech engine read the current track, whatever ideas you can come up with.

{"ID":"6d655f64-f2e5-4ec9-bd51-3a2c86984c8e","artist":"VNV Nation","track":"Retaliate","imagePath":"/Users/gabek/Library/Pioneer/rekordbox/share/PIONEER/Artwork/bd3/82718-334f-482d-ad0a-82a1f8ba2507/artwork.jpg"}

A companion to this JSON output can be found with json-scrobbler, a simple tool that just monitors a JSON file and then scrobbles the track data to Last.FM. If you're a Last.FM user, here's a way to finally scrobble your DJ sets in real-time.

Disclaimers

  • This tool relies on Rekordbox marking a track as "played" before we know it's the most recently played track. I've found this currently happens one minute into playback. This is not optimal, as I'd really love to know this immediately. However, this is what Rekordbox is doing and I'll keep looking to see if there's any other way to work with this.

  • We're doing things with Recordbox that are unsupported and even likely completely unwanted by Pioneer. Things could change by them at any moment and even shut this down completely.

Thank yous

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].