Giter VIP home page Giter VIP logo

Comments (5)

oneisall8955 avatar oneisall8955 commented on June 3, 2024

检查了代码,用postman模拟程序的调用

GET https://emby.local/emby/Users/5528e2df63fe43f3b7f35eb15a4ae75a/Items?format=json&recursive=true&includeItemTypes=Movie,Episode&fields=["Path", "ParentId", "Overview", "PremiereDate", "DateCreated"]&sortBy=DateCreated&sortOrder=Descending&limit=10&X-Emby-Token=xxxxxxx

返回的数据中,有的有RunTimeTicks字段,有的没有,可否优化一下,get_latest 方法过滤有这个字段的剧集或电影?如果过滤后为空数组,通过增大limit数量或分页参数(不清楚是否支持分页)再获取一遍再过滤?

{
    "Items": [
        {
            "Name": "EP14:",
            "ServerId": "d35155f44bdc438c858684b4ca364190",
            "Id": "150279",
            "IndexNumber": 14,
            "ParentIndexNumber": 7,
            "IsFolder": false,
            "Type": "Episode",
            "ParentBackdropItemId": "144260",
            "ParentBackdropImageTags": [
                "991326a1c6e242a29cfbbf23132a2a86"
            ],
            "UserData": {
                "PlaybackPositionTicks": 0,
                "PlayCount": 0,
                "IsFavorite": false,
                "Played": false
            },
            "SeriesName": "向往的生活",
            "SeriesId": "144260",
            "SeasonId": "144342",
            "SeriesPrimaryImageTag": "363d419c47240fabd5b1d5ad54202091",
            "SeasonName": "季 7",
            "ImageTags": {},
            "BackdropImageTags": [],
            "LocationType": "Virtual",
            "MediaType": "Video"
        },
        {
            "Name": "EP13:",
            "ServerId": "d35155f44bdc438c858684b4ca364190",
            "Id": "150278",
            "IndexNumber": 13,
            "ParentIndexNumber": 7,
            "IsFolder": false,
            "Type": "Episode",
            "ParentBackdropItemId": "144260",
            "ParentBackdropImageTags": [
                "991326a1c6e242a29cfbbf23132a2a86"
            ],
            "UserData": {
                "PlaybackPositionTicks": 0,
                "PlayCount": 0,
                "IsFavorite": false,
                "Played": false
            },
            "SeriesName": "向往的生活",
            "SeriesId": "144260",
            "SeasonId": "144342",
            "SeriesPrimaryImageTag": "363d419c47240fabd5b1d5ad54202091",
            "SeasonName": "季 7",
            "ImageTags": {},
            "BackdropImageTags": [],
            "LocationType": "Virtual",
            "MediaType": "Video"
        },
        {
            "Name": "EP12:",
            "ServerId": "d35155f44bdc438c858684b4ca364190",
            "Id": "150277",
            "IndexNumber": 12,
            "ParentIndexNumber": 7,
            "IsFolder": false,
            "Type": "Episode",
            "ParentBackdropItemId": "144260",
            "ParentBackdropImageTags": [
                "991326a1c6e242a29cfbbf23132a2a86"
            ],
            "UserData": {
                "PlaybackPositionTicks": 0,
                "PlayCount": 0,
                "IsFavorite": false,
                "Played": false
            },
            "SeriesName": "向往的生活",
            "SeriesId": "144260",
            "SeasonId": "144342",
            "SeriesPrimaryImageTag": "363d419c47240fabd5b1d5ad54202091",
            "SeasonName": "季 7",
            "ImageTags": {},
            "BackdropImageTags": [],
            "LocationType": "Virtual",
            "MediaType": "Video"
        },
        {
            "Name": "EP11:",
            "ServerId": "d35155f44bdc438c858684b4ca364190",
            "Id": "150276",
            "IndexNumber": 11,
            "ParentIndexNumber": 7,
            "IsFolder": false,
            "Type": "Episode",
            "ParentBackdropItemId": "144260",
            "ParentBackdropImageTags": [
                "991326a1c6e242a29cfbbf23132a2a86"
            ],
            "UserData": {
                "PlaybackPositionTicks": 0,
                "PlayCount": 0,
                "IsFavorite": false,
                "Played": false
            },
            "SeriesName": "向往的生活",
            "SeriesId": "144260",
            "SeasonId": "144342",
            "SeriesPrimaryImageTag": "363d419c47240fabd5b1d5ad54202091",
            "SeasonName": "季 7",
            "ImageTags": {},
            "BackdropImageTags": [],
            "LocationType": "Virtual",
            "MediaType": "Video"
        },
        {
            "Name": "TBA",
            "ServerId": "d35155f44bdc438c858684b4ca364190",
            "Id": "150275",
            "IndexNumber": 10,
            "ParentIndexNumber": 1,
            "IsFolder": false,
            "Type": "Episode",
            "UserData": {
                "PlaybackPositionTicks": 0,
                "PlayCount": 0,
                "IsFavorite": false,
                "Played": false
            },
            "SeriesName": "Love Allways",
            "SeriesId": "93860",
            "SeasonId": "144266",
            "SeriesPrimaryImageTag": "9ccc3d1181b931452bb0da88e13a884b",
            "SeasonName": "季 1",
            "ImageTags": {},
            "BackdropImageTags": [],
            "LocationType": "Virtual",
            "MediaType": "Video"
        },
        {
            "Name": "TBA",
            "ServerId": "d35155f44bdc438c858684b4ca364190",
            "Id": "150274",
            "IndexNumber": 9,
            "ParentIndexNumber": 1,
            "IsFolder": false,
            "Type": "Episode",
            "UserData": {
                "PlaybackPositionTicks": 0,
                "PlayCount": 0,
                "IsFavorite": false,
                "Played": false
            },
            "SeriesName": "Love Allways",
            "SeriesId": "93860",
            "SeasonId": "144266",
            "SeriesPrimaryImageTag": "9ccc3d1181b931452bb0da88e13a884b",
            "SeasonName": "季 1",
            "ImageTags": {},
            "BackdropImageTags": [],
            "LocationType": "Virtual",
            "MediaType": "Video"
        },
        {
            "Name": "TBA",
            "ServerId": "d35155f44bdc438c858684b4ca364190",
            "Id": "150273",
            "IndexNumber": 8,
            "ParentIndexNumber": 1,
            "IsFolder": false,
            "Type": "Episode",
            "UserData": {
                "PlaybackPositionTicks": 0,
                "PlayCount": 0,
                "IsFavorite": false,
                "Played": false
            },
            "SeriesName": "Love Allways",
            "SeriesId": "93860",
            "SeasonId": "144266",
            "SeriesPrimaryImageTag": "9ccc3d1181b931452bb0da88e13a884b",
            "SeasonName": "季 1",
            "ImageTags": {},
            "BackdropImageTags": [],
            "LocationType": "Virtual",
            "MediaType": "Video"
        },
        {
            "Name": "Tradition of Superstition",
            "ServerId": "d35155f44bdc438c858684b4ca364190",
            "Id": "150253",
            "IndexNumber": 12,
            "ParentIndexNumber": 19,
            "IsFolder": false,
            "Type": "Episode",
            "ParentLogoItemId": "90660",
            "ParentBackdropItemId": "90660",
            "ParentBackdropImageTags": [
                "dbd1b3547c5a461f76897dff63c9c700",
                "ed648740a25c88843b611940538d32d7"
            ],
            "UserData": {
                "PlaybackPositionTicks": 0,
                "PlayCount": 0,
                "IsFavorite": false,
                "Played": false
            },
            "SeriesName": "恶海捕蟹记",
            "SeriesId": "90660",
            "SeasonId": "90665",
            "SeriesPrimaryImageTag": "8e6adf0c9804c277f743e192cf520ccb",
            "SeasonName": "季 19",
            "ImageTags": {},
            "BackdropImageTags": [],
            "ParentLogoImageTag": "8a247007b653697d59250fafc27e0b31",
            "ParentThumbItemId": "90660",
            "ParentThumbImageTag": "bb9eceb455c9cd0f453e40efb393e2ca",
            "LocationType": "Virtual",
            "MediaType": "Video"
        },
        {
            "Name": "顾九思拒绝太后赐婚",
            "ServerId": "d35155f44bdc438c858684b4ca364190",
            "Id": "144732",
            "RunTimeTicks": 27708050000,
            "IndexNumber": 30,
            "ParentIndexNumber": 1,
            "IsFolder": false,
            "Type": "Episode",
            "ParentLogoItemId": "144016",
            "ParentBackdropItemId": "144016",
            "ParentBackdropImageTags": [
                "c115adfb9582460ff3ae2cf934db9b1a"
            ],
            "UserData": {
                "PlaybackPositionTicks": 0,
                "PlayCount": 0,
                "IsFavorite": false,
                "Played": false
            },
            "SeriesName": "长风渡",
            "SeriesId": "144016",
            "SeasonId": "144046",
            "SeriesPrimaryImageTag": "05ce3a02578d44096d19b172ef8ab3b7",
            "SeasonName": "季 1",
            "ImageTags": {},
            "BackdropImageTags": [],
            "ParentLogoImageTag": "59d9d989dfc77fab323d91b424e9bcd0",
            "MediaType": "Video"
        },
        {
            "Name": "顾九思又见洛子商",
            "ServerId": "d35155f44bdc438c858684b4ca364190",
            "Id": "144731",
            "RunTimeTicks": 27718720000,
            "IndexNumber": 29,
            "ParentIndexNumber": 1,
            "IsFolder": false,
            "Type": "Episode",
            "ParentLogoItemId": "144016",
            "ParentBackdropItemId": "144016",
            "ParentBackdropImageTags": [
                "c115adfb9582460ff3ae2cf934db9b1a"
            ],
            "UserData": {
                "PlaybackPositionTicks": 0,
                "PlayCount": 0,
                "IsFavorite": false,
                "Played": false
            },
            "SeriesName": "长风渡",
            "SeriesId": "144016",
            "SeasonId": "144046",
            "SeriesPrimaryImageTag": "05ce3a02578d44096d19b172ef8ab3b7",
            "SeasonName": "季 1",
            "ImageTags": {},
            "BackdropImageTags": [],
            "ParentLogoImageTag": "59d9d989dfc77fab323d91b424e9bcd0",
            "MediaType": "Video"
        }
    ],
    "TotalRecordCount": 18160
}

from embykeeper.

jackzzs avatar jackzzs commented on June 3, 2024

感谢您的详细的调试和信息, 帮助定位了问题的所在.
编写时由于我的测试服务器似乎所有视频都有 RunTimeTicks, 所以没有关注该问题.
已经推送了新版本: V2.2.9, 修复了该问题, 现在的策略是反复尝试获得最新视频, 检测是否有 RunTimeTicks:

async def get_latest(emby: Emby):
    while True:
        items = await emby.get_items(["Movie", "Episode"], limit=10, sort="DateCreated", ascending=False)
        i: Union[Movie, Episode]
        for i in items:
            yield i
async def play(obj: EmbyObject, time=10, progress=1000):
    c: Connector = obj.connector
    # 检查
    totalticks = obj.object_dict.get("RunTimeTicks")
    if not totalticks:
        raise PlayError("无法获取视频长度")
...

若您使用 docker 部署, 请使用以下命令以更新:

docker pull embykeeper/embykeeper

感谢您对项目的贡献, 请您查收通过私有仓库形式发送的 Embykeeper 邀请码.
如果新版本仍然存在该问题, 请继续回复.

from embykeeper.

oneisall8955 avatar oneisall8955 commented on June 3, 2024

感谢修复,邀请已经过期了,很遗憾,拍大腿哈哈哈~

有几点想问的,先表明我是Python小白,写Java倒挺熟悉。但能勉强看出来,此处是通过添加While True 这种方式无限获取emby的媒体信息。

感觉挺奇怪的,如果一直获取不到RunTimeTicks,会不会导致频繁调用接口?(看到 While True 没有休眠机制就感觉挺害怕的)

另外,是不是通过 Python 比较 magic 的方式,yield 关键字+ asyncio.wait_for(watch(emby, time, progress, logger), max(time * 3, 180)) 超时来达到一个一个任务的执行,并且超时协程会被中断?

https://superfastpython.com/asyncio-wait_for/#How_to_Use_Asyncio_wait_for

from embykeeper.

jackzzs avatar jackzzs commented on June 3, 2024

感谢修复,邀请已经过期了,很遗憾,拍大腿哈哈哈~

我重发咯.

感觉挺奇怪的,如果一直获取不到RunTimeTicks,会不会导致频繁调用接口?(看到 While True 没有休眠机制就感觉挺害怕的)

我觉得你说的对. 我加了一些延时.

另外,是不是通过 Python 比较 magic 的方式,yield 关键字+ asyncio.wait_for(watch(emby, time, progress, logger), max(time * 3, 180)) 超时来达到一个一个任务的执行,并且超时协程会被中断?

Bingo. 确实是这样, 不限制视频个数,限制了超时.

from embykeeper.

jackzzs avatar jackzzs commented on June 3, 2024

长时间无回复,关闭该Issue.

from embykeeper.

Related Issues (20)

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.