Giter Club home page Giter Club logo

odr-encodermanager's Introduction

ODR-EncoderManager

OpenDigitalRadio Encoder Manager is a tools to run and configure ODR Encoder easly with a WebGUI.

Note about version V5.0.1

Bug fixes

  • use yaml.safe_load instead yaml.load to avoid crash on recent python version

Note about version V5.0.0

Requirement

  • ODR-AudioEnc v3.0.0
  • ODR-SourceCompanion v1.0.0
  • ODR-PadEnc v3.0.0

New Feature / Change

  • Add odr-padenc raw-slides option
  • Add additional supervisor option by encoder (only via editing config file at this time)
  • Display ODR tools version
  • ODR-padenc socket support
  • Change supervisor stderr logging
  • Communication between odr-audioenc/odr-sourcecompanion use socket instead fifo

Bug fixes

  • Solve issue with SNMP request on AVT with last firmware (ClockSource)

INSTALLATION

  • (root) Install requirement (debian/stretch) : apt install python3-cherrypy3 python3-jinja2 python3-serial python3-yaml supervisor python3-pysnmp4
  • (root) Add odr user : adduser odr
  • (root) Add odr user to dialout group : usermod -a -G dialout odr
  • (root) Add odr user to audio group : usermod -a -G audio odr
  • (user) Got to odr user home : cd /home/odr/
  • (user) Clone git repository : git clone https://github.com/YoannQueret/ODR-EncoderManager.git
  • (user) Rename sample config : mv /home/odr/ODR-EncoderManager/config.json.sample /home/odr/ODR-EncoderManager/config.json
  • (root) Make the symlink: ln -s /home/odr/ODR-EncoderManager/supervisor-encoder.conf /etc/supervisor/conf.d/odr-encoder.conf
  • (root) Make the symlink: ln -s /home/odr/ODR-EncoderManager/supervisor-gui.conf /etc/supervisor/conf.d/odr-gui.conf
  • (root) Edit /etc/supervisor/supervisord.conf and add this section :
[inet_http_server]
port = 8900
username = user ; Auth username
password = pass ; Auth password
  • (root) Restart supervisor : /etc/init.d/supervisor restart
  • (root) Start WEB server : supervisorctl reread; supervisorctl update ODR-encoderManager
  • Go to : http://<ip_address>:8080
  • Login with user joe and password secret

CONFIGURATION

  • You can edit global configuration, in particular path in this files :
    • config.json
    • supervisor-gui.conf
  • If you want to change supervisor XMLRPC login/password, you need to edit /etc/supervisor/supervisord.conf and config.json files

How to set DLS / DL+ / SLS

Set DLS / DL+ for all encoder To set a text metadata used for DLS, use http GET or POST on the Encoder Manager API from your automation software.

http://{ip}:8080/api/setDLS?dls={artist}-{title}

As an alternative DLS+ tags are automatically activated if you use artist & title parameters:

http://{ip}:8080/api/setDLS?artist={artist}&title={title}

Many radio automation software can send this information to Encoder Manager API by using a call of this type (for example)

http://{ip}:8080/api/setDLS?dls=%%artist%% - %%title%%

%%artist%% - %%title%% should be replaced with the expression expected from your radio automation software.

At each events on your playlist (when a track start) the radio automation software will send via this url the appropriate metadata to Encoder Manager API. It will be reflected on the DAB signal.

Set DLS / DL+ for specific encoder (from version V4.0.0) If you want to update DLS / DL+ for a specific encoder, you need to find the uniq_id on Encoder > Manage page under Information button

http://{ip}:8080/api/setDLS?dls={artist}-{title}&uniq_id={00000000-0000-0000-0000-000000000000}

Set SLS for all encoder To send slide used for SLS, use http POST on the Encoder Manager API.

curl -X POST -F 'slide_file=@"live.jpg"' http://{ip}:8080/api/setSLS

Set SLS for specific encoder If you want to update SLS for a specific encoder, you need to find the uniq_id on Encoder > Manage page under Information button

curl -X POST -F 'uniq_id={00000000-0000-0000-0000-000000000000}' -F 'slide_file=@"{file.jpg}"' http://{ip}:8080/api/setSLS

ADVANCED

  • To use the reboot api (/api/reboot), you need to allow odr user to run shutdown command by adding the line bellow at the end of /etc/sudoers file :
odr     ALL=(ALL) NOPASSWD: /sbin/shutdown

odr-encodermanager's People

Contributors

mpbraendli avatar paraenggu avatar yoannqueret avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

odr-encodermanager's Issues

mot fifo file instead file

mot pad file is currently a file created before mot-encoder start. Need to create a FIFO file with mkfifo instead.

Could not open /tmp/metadata.dls

Bonjour,

Je teste actuellement ODR-EncoderManger avec un Raspberry et Raspbian Stretch Lite
Les logs de Padenc indique :

...ODR-PadEnc exits...
ODR-PadEnc encoding DLS from '/tmp/metadata.dls' to '/tmp/metadata.pad'. No Slideshow.
ODR-PadEnc using charset UTF-8 (15)
ODR-PadEnc converting DLS texts to Complete EBU Latin
Could not open /tmp/metadata.dls
Could not open /tmp/metadata.dls

La commande ls -l /tmp renvoie :

odr@raspberrypi:~ $ ls -l /tmp
total 0
prw-r--r-- 1 odr odr 0 Feb 19 09:39 metadata.pad

J'ai donc créé les fichiers :

$ cd /tmp
$ mkdir slide && cd slide
$ wget http://url.de.mon.image.jpeg
$ cd /tmp
$ touch metadata.dls

Est-ce la bonne méthode ?

File unknown

Hello,
The file "ODR-EncoderManager/supervisor-encoder.conf" does not exists. (in INSTALLATION)

Error 301 and 202

Hello,

I get this errors on

  1. Status:

Load status
ERROR = -301 : Error when getting ODR-audioencoder and ODR-padencoder status (XMLRPC): [Errno 111] Connection refused

  1. Manage Encoder:

Write changes
ERROR = -202
Error generating supervisor files: list indices must be integers or slices, not str

Maybe missing some library to be installed but i follow your install instruction and run on Debian 9. What is missing? I see on config.json as have to run on port 8900 RPC2 witch is not happen and i don't see any error on logs

Thanks

run.py / config uniq_id error

supervisor runs, run.py too, but port 8080 is closed.
And I have the following error in the log:

Traceback (most recent call last):
  File "/home/odr/ODR-EncoderManager/run.py", line 174, in <module>
    config.initConfigurationChanged()
  File "/home/odr/ODR-EncoderManager/config/__init__.py", line 59, in initConfigurationChanged
    self.addConfigurationChanged(coder['uniq_id'])
KeyError: 'uniq_id'

I am using the example config.

logfiles

Pls lookin the logfile's , i am keeping lots of stats in the logfile's.
In a previous version there was a timer to set, but i guess that has changed.

Publicatie1

Using the latest version of the manager.

Jan de Vries

No "Restart" button

J'ai modifié le fichier /etc/sudoers en ajoutant la ligne suivante :

odr ALL=(ALL) NOPASSWD: /sbin/shutdown

Puis redemarré ODR-EncoderManger via supervisor, mais je n'ai pas de bouton Restart qui apparait sur l'interface

Mixing set DLS and set DL+ requests

Hi we would like to start sending DL+ data @radiorabe. Our current plan is to send requests containing the artist and title params to /api/setDLS when they are available. We would still send requests with the dls parameter when we don't have artist info.

Do we need to send a dummy tag in the dls param to ensure that DL+ works as intended?

uniq_id needed to set DLS/DL+ via API for this encoder is ...

hello, tried to set a new encoder in the manager, but the encoder quits with this message:

uniq_id needed to set DLS/DL+ via API for this encoder is :
6d3b344a-etc etc-fa4df99a05d6

where i have to set this key?

is there a manual or a wiki?

Thanks

missing supervisor-encoder.conf

Hello everybody.

In installation instruction the line:
ln -s /home/odr/ODR-EncoderManager/supervisor-encoder.conf /etc/supervisor/conf.d/odr-encoder.conf

refers at a file i cannot find in the project folder (supervisor-encoder.conf ) .... was that renamed?

cannot start encoder manager 'cause the symbolik link was inconsistent ... i suppose (Error during supervisor process check: Can not retreive supervisor process: <ProtocolError for user:[email protected]:8900/RPC2: 401 Unauthorized>
Use configuration file config.json)

PS: if i already have a section (main supervisor interface):
[inet_http_server]
port = 8001
username = xxxxx ; Auth username
password = xxxxxx ; Auth password

should i also config a section for odr-encodeManager?
[inet_http_server]
port = 8900
username = xxxxxx ; Auth username
password = xxxx ; Auth password

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.