Jump to content


Photo

Зачитать все данные фильма в Emby, через API

API

  • Please log in to reply
3 replies to this topic

#1 DFofanov OFFLINE  

DFofanov

    Newbie

  • Members
  • 7 posts
  • Local time: 04:42 AM

Posted 09 March 2020 - 06:57 AM

Доброго времени суток знатоки!

Подскажите пожалуйста, через какую команду (набор команд) API можно закачать в Emby Server данные о видео (Размер, длительность, качество и т.д.)?
При первом запуске фильма Emby получает данные от файла и хранит их в блоке INFO, можно ли закачать эти данные один раз но для всех фильмов сразу?

 

Спасибо за помощь!

@chef



#2 chef OFFLINE  

chef

    Advanced Member

  • Developers
  • 4589 posts
  • Local time: 09:42 PM
  • LocationPeterborough, Canada

Posted 09 March 2020 - 03:02 PM

Hi there.

I believe you are asking the best way to gather movie information from the API (all at once), is this correct?

You'll want to create an ItemQuery
with a 'Type' of 'Movie', and give that query to an ApiClient object.

This will return all movie items in list as a result.

Please let me know if I have misinterpreted your question, and I'll gladly try again to answer it properly.

#3 DFofanov OFFLINE  

DFofanov

    Newbie

  • Members
  • 7 posts
  • Local time: 04:42 AM

Posted 10 March 2020 - 07:30 AM

@rechigo

@chef

Добрый день, Chef
 

Я спрашивал о команде PlaybackInfo

Меня интересовала эта команда: https://server/emby/...Bitrate=1500000


Edited by Luke, 19 March 2020 - 05:34 PM.


#4 DFofanov OFFLINE  

DFofanov

    Newbie

  • Members
  • 7 posts
  • Local time: 04:42 AM

Posted 10 March 2020 - 02:38 PM

@rechigo

@chef

Разобрался в данном вопросе, вот накидал небольшой код на python-e

 Задача: Загрузить данные о медиафайле.

5e67ddd71f9e6_20200310213404.png

import requests
import logging
import json
import os

def get_request_emby(url):
    try:
        try:
            r = requests.get(url, headers=headers, timeout=60, stream=True)
            if r.ok:
                json_result = r.json()
        finally:
            r.connection.close()
            r.close()
    except:
        pass
    return json_result

def get_emby_video_info(ip, apy_key):   
    url = "http://" + ip + ":8096/emby/Items?api_key=" + apy_key + "&SortBy=PremiereDate%2CProductionYear%2CSortName&SortOrder=Descending&IncludeItemTypes=Movie&Recursive=true&Fields=BasicSyncInfo%2CMediaSourceCount%2CSortName%2CPrimaryImageAspectRatio%2CProductionYear&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CThumb&StartIndex=0&Limit=1000&ParentId=1d342f3d0fe54cbeb251f22db1a62a35&GroupItemsIntoCollections=true"
    items = get_request_emby(url)
    for item in items['Items']:
        if item != None:
            url = "http://" + ip + ":8096/emby/Items/" + item['Id'] + "/PlaybackInfo?api_key=" + apy_key + "&StartTimeTicks=0&IsPlayback=false&AutoOpenLiveStream=false"
            mediaSources = get_request_emby(url)
            log.info("ID: " + item['Id'] + ", NAME: " + item['Name'] + ", PlaySessionId: " + mediaSources['PlaySessionId'])

def main():
    get_emby_video_info('emby ip','apy_key')

if __name__ == '__main__':
    main()






Also tagged with one or more of these keywords: API

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users