Jump to content

Emby Serializer / API


ohmadruga

Recommended Posts

ohmadruga

About
A serialization layer for your Emby server's database, allowing information about movies, tv series and episodes to be retrieved in JSON format via GET requests.

Project URL
https://github.com/samuel-antonini/emby-serializer

Why?
I wanted to build some custom Python scripts to feed my Superset dashboards with relevant information about my Emby library and I could not find all the information I needed using the native API, so I ended up building this "intermediate app" that sits between my scripts/dashboards and my Emby server's database. Due to to database access restrictions, it is a little bit slow, but that's something I'm going to tackle next. Ideas and feedback are welcome!

Screenshots
1. Movie endpoint response
api_movie_1.png.148ed2be979b5ae212e10fa5e7e4c620.png

2. Genre & studios detail

api_movie_2.png.e2c6975fc7667400da9a2d348bf80126.png

3. Providers detail:
api_movie_3.png.db35bb298720bcdc9694ee7d52aecfef.png

4. Media streams detail (audio tracks and subtitles included)

api_movie_4.png.c1a0a38284f9ce6096984398b7665e24.png

  • Like 1
Link to comment
Share on other sites

Sounds nice and I would like to give it a try but don't really know how.
Do you mind explaining how I would use this on a Ubuntu installation?

Link to comment
Share on other sites

ohmadruga
1 hour ago, neik said:

Sounds nice and I would like to give it a try but don't really know how.
Do you mind explaining how I would use this on a Ubuntu installation?

For now the serializer is intended to run as a containerized app, so the best way to run it would be having Docker and docker-compose installed on your system. The install instructions for Docker and docker-compose on their website are pretty straightfoward.

After that, download the serializer's latest release, navigate into the project's main folder and do the following:

1. Create a docker-compose.yml file with:

version: '3'
services:
  serializer:
    container_name: emby-serializer
    build:
      context: .
    ports:
      - "8888:8888"
    volumes:
      - /path/to/emby/library/folder:/app/data/emby

Note that "/path/to/emby/library/folder" is supposed to be the path to where your Emby database is. If you're not running Emby on Docker, it is probably located at /var/lib/emby/data .

With the docker-compose.yml file created, it's time to build the image and run the container:

docker-compose build

and:

docker-compose up -d

After that, you can test if everthing is running accordingly by opening your browser and pointing to http://127.0.0.1:8888/embymovies/ This endpoint will get information on all the movies available in your library. Other endpoints available are /embytvshows/ and /embyepisodes/

All theses steps are available at the project's github page, you can check it here. It is worth noting that I tested the serializer with the latest Emby server version, which is 4.6.4. I haven't tested it with previous versions of the server.

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...