imaginary-upside / JellyfinJav

JAV metadata providers for Jellyfin
GNU Affero General Public License v3.0
81 stars 22 forks source link

Not works #1

Closed caoli5288 closed 4 years ago

caoli5288 commented 4 years ago

Hi. I've enabled the R18 metadata provider in library settings and re-scan all of movies but none of my javs been updated.

How can I do?

imaginary-upside commented 4 years ago

Can you try making a new library with just a few javs in it, just to try testing it out on a fresh library? I've noticed a few issues when trying to use the metadata provider on an existing library. If that ends up being the issue for you, I'll look into solving it. I think it's a problem with overwriting existing metadata, or at least I think that's the issue with me.

Also is it adding the R18 external id's? Just wondering where its actually failing for you.

And do you want me to add support for downloading Chinese metadata? It should be pretty easy for me to add.

caoli5288 commented 4 years ago

@imaginary-upside I noticed that you use the r18.com, which is not available in my country. Or can you add support for a socks proxy?

imaginary-upside commented 4 years ago

Yeah, proxy support should be very simple, so I'll add that in probably tonight. Is there another website that catalogues jav metadata which works in china? Does javlibrary.com work within china?

caoli5288 commented 4 years ago

The javlibrary.com blocked by cn gov :-(

But I saw that jellyfin supports http_proxy env and I re-scan library now. I will tell you the result later.

caoli5288 commented 4 years ago

@imaginary-upside Still not works even I fill r18 id manually(got blank result page).

By the way, I don't see any information in the log that contains the r18.com keyword, is it normal?

imaginary-upside commented 4 years ago

Okay, I'll add in support for socks proxies then. If I don't get back to you with an update on that by tomorrow, then expect something on the weekend.

Yeah it's normal. I add in debug logging during development, but they're pretty noisy, so I decided not to include them in releases. Jellyfin doesn't really have a built in way to customize the log level, that I know of. So I'd have to add some sort of config for logging which didn't really seem worth it at the time. But I may do so later. If you end up having issues even after I add in socks support, then I'll surely add in proper logging.

caoli5288 commented 4 years ago

👍

imaginary-upside commented 4 years ago

It's going to be a tiny bit tougher than I expected, because I forgot about how Jellyfin / Emby uses a custom httpclient for some dumb reason. So probably expect something by the weekend when I can dedicate a bit of time to do this the "right way".

The Jellyfin / Emby codebase is pretty terrible to work with. Everything seem to be done in such a weird way that barely makes any sense and requires you to basically shut off your brain when reading the source code. Having to do stuff like this is just so dumb.

caoli5288 commented 4 years ago

@imaginary-upside I checked my proxy's log that seems jellyfin redirect request to proxy correctly but my proxy also cannot handle this query.

2019/10/22 10:32:44 [Info] [1083646918] v2ray.com/core/proxy/http: request to Method [GET] Host [www.r18.com] with URL [http://www.r18.com/common/search/order=match/searchword=SW-290]
2019/10/22 10:32:44 127.0.0.1:46705 accepted http://www.r18.com/common/search/order=match/searchword=SW-290
...
2019/10/22 10:32:44 [Info] [1083646918] v2ray.com/core/proxy/vmess/outbound: tunneling request to tcp:www.r18.com:80 via tcp:myproxy:443
2019/10/22 10:32:45 [Info] [1083646918] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/vmess/outbound: connection ends > context canceled

Can you provider other metadate source(like javlibrary)?

imaginary-upside commented 4 years ago

Yeah sure. I've already written up a basic javlibrary client a few weeks ago. I've just not integrated it yet. That'll definitely be something I wont do until the weekend though.

Try also setting the https_proxy env if you haven't tried that yet. It probably wont change anything, but still it's worth a shot. And also you can try using tor, if that works in china, not sure if the GFW has that fully blocked or not.

caoli5288 commented 4 years ago

It suddenly works(after I sleep a while).

Now a new issue. This addon don't read library language settings so movies title and description are set to eng. I think r18.com provides multiple languages including zh_cn. :-)

imaginary-upside commented 4 years ago

Yeah I did say in my first reply that Chinese metadata doesn't work right now. It would be very simple to add basic Chinese support. But there's one issue that I can see already.

I use asianscreens.com for actress metadata, and it only supports English. I can add support for another website like javmodel.com which does support Chinese, but it has a lot less actresses it seems like. Do you know of an actress metadata site which supports Chinese and is comprehensive?

caoli5288 commented 4 years ago

@imaginary-upside I have no idea about that actress metadata. In fact it is now not works for me. Shown none images and cannot be clicked.

图片

Maybe Japanese is a choice, which is acceptable to the chinese peoples. Addition I found that some movies are not exists on r18.com, for example DCOL-022 and all old uncensored movies.

Have you ever heard of javbus.com? this site seems to have the most javs.

imaginary-upside commented 4 years ago

Wait really? Clicking on an actress does nothing? That's honestly very odd. When you click on it does literally nothing happen? I could get why image downloading could fail, but I'm not sure why you wouldn't be able to click on the actress at least.

No I haven't heard of that website. It seems to be mostly catered towards Chinese / Japanese people. I notice that the titles and studio names are left untranslated in Japanese, is that still fine with Chinese people? Is this the best metadata site for Chinese people do you think? Are there a decent number of javs which javbus has but javlibrary doesn't? I just want to make sure before I spend time coding.

I'm going to first get a javlibrary provider working since I basically have that done anyway, and then I'll implement proper Chinese support with whatever you say is the best.

Also if you don't want to wait for me to get this done, I'll accept merge requests.

caoli5288 commented 4 years ago

I got blank page with this animation after click actress.

图片

javbus.com is the only site have most uncensored movies‘ metadata what I known. Or normally, the javlibrary seems better.

Another issue. I hava some files like IPZ-127 僕とRioとあいのの甘すぎる同棲性活 Rio 希志あいの.mp4 cannot be scrape auto. Can you add support for that filename syntax?

imaginary-upside commented 4 years ago

Try also setting the https_proxy env var. The fact that its infinitely loading means that its being blocked, so hopefully it just that https requests arent getting sent through your proxy.

Yeah sure. I can add a basic regex matching to find jav codes anywhere in the title.

caoli5288 commented 4 years ago

https_proxy took no effect and I think asianscreens.com not blocked by cn gov. :-(

Can you keep the jav id in the title or other field? otherwise it cannot be searched by id. Sometimes troublesome.

imaginary-upside commented 4 years ago

Hmm okay I'll add some logging to help figure out why it's not working then.

Which Jellyfin version are you running? On the latest, so 10.4.0, you should be able to search by id.

Here's an example of how it looks for me:

Screenshot_2019-10-23 Jellyfin Screenshot_2019-10-23 Jellyfin(1)

caoli5288 commented 4 years ago

Which Jellyfin version are you running? On the latest, so 10.4.0, you should be able to search by id.

You're right. Sorry for that I mistyped a character. :-/

Perhaps you can make an all-in-one provider by javbus.com. it's also host actress metadata.

imaginary-upside commented 4 years ago

No worries.

Yeah I'll add javbus support for both videos and actresses either on the weekend, or sometime next week. Though its still weird that asianscreens just isn't working for you at all. But since it's not in Chinese anyway, it doesn't really matter.

Also if you have free time, and want to get javbus working before I get around to it, it's not that difficult to code. I'm not a c# developer and kind of hate the language anyway, so your code doesn't have to be perfect for me to merge it.

caoli5288 commented 4 years ago

delete

caoli5288 commented 4 years ago

Hi. I write an simple demo here https://github.com/caoli5288/JellyfinJav/blob/master/JellyfinJav/Providers/JavBus/JavBus.cs but not works. Can you tell me how to debug jellyfin plugins?

imaginary-upside commented 4 years ago

Add "using Microsoft.Extensions.Logging", then have your JavBusMetadataProvider constructor accept an ILogger object, and set that as some instance variable called "logger" or whatever. Then call logger.LogInformation("some debug text") and it'll appear in the jellyfin logs.

Hopefully that makes sense. I don't have much time sorry.

caoli5288 commented 4 years ago

@imaginary-upside THX for help. It's nearly complete but movies cannot by searched by id, actress name and genres. Any things I needs to do for that?

https://github.com/caoli5288/JellyfinJav/blob/master/JellyfinJav/Providers/JavBus.cs

imaginary-upside commented 4 years ago

this is what I'm currently doing that allows videos to be searched by id.

I cloned your repository, and it seems like I can search by actress name.

Screenshot_2019-10-24 Jellyfin

Searching by genre seems to be a problem with Jellyfin itself. So with the current Jellyfin codebase as it is right now, you can't use the searchbar for genres. Maybe when I have free time I'll look into sending a pull request, since it seems pretty dumb.

caoli5288 commented 4 years ago

I found that a movie cannot searhed by jav code if only do indentify and can be fixed by library scan.

Okay. I'll open an pull request later. :-)

imaginary-upside commented 4 years ago

So with the javbus provider you made, do things work well enough for you now?

I'm not sure how many false positives are picked up by the javbus search. But I noticed that W-001 returns NP-001.

caoli5288 commented 4 years ago

@imaginary-upside Or maybe we can tweaks it if I have time.

caoli5288 commented 4 years ago

@imaginary-upside Hi do you known why it not refresh cover image automate?

imaginary-upside commented 4 years ago

Sorry, what do you mean exactly? When should it be refreshing the cover images automatically?

And do you mean for the videos or actresses?

caoli5288 commented 4 years ago

@imaginary-upside Yes. The movies images. Current not scrape images when perform those operations but take screenshot from movie content.

  1. When add new movies to library folder
  2. When indentify an movie
imaginary-upside commented 4 years ago

Hmm, both when I add a new video and when I identify an existing one, it updates the video and actress cover images.

In the admin panel go to your jav library settings, and toggle on "show advanced settings". Then scroll down to "movie image fetchers" and make sure JavBus is above Screen Grabber. Or you could just fully disable Screen Grabber as well.

Okay I see, it's only a problem with your new pull request. The one I accepted didn't have that issue. I'm pretty tired so I'll look at your code tomorrow.

caoli5288 commented 4 years ago

@imaginary-upside You're right. After I manually adjusted movie image fetchers option, it worked.

And can you add check if R18 is enabled in JavActressMetadataInitializer?

imaginary-upside commented 4 years ago

That's kind of odd. I ran into a whole separate issue that I can't reproduce. But yesterday when I tested out your repository, I ran into an issue where it wasn't grabbing any metadata at all, so I just assumed it was related to what you were talking about. Doesn't really matter too much though.

I can yes, but at some point a JavbusPersonProvider should be made by one of us, like the one that exists here for asianscreens. In which case the metadata initializer task will be needed for javbus actresses as well.

caoli5288 commented 4 years ago

@imaginary-upside I'm not very sure for that. JavBus's Person provider is working well now . Is this because of your JavActressMetadataInitializer?

caoli5288 commented 4 years ago

@imaginary-upside I add screenshots in my JavBusImageProvider but do you know where it's display?

imaginary-upside commented 4 years ago

Sorry, is what because of JavActressMetadataInitializer? JavActressMetadataInitializer wouldn't be doing anything useful for the actresses you're creating with the javbus provider if that's what you mean.

And a separate JavbusPersonProvider should be made to allow mixing providers. So for example it would let someone download movie metadata with r18 and actress metadata with javbus. And also it doesn't actually download actress metadata other than their cover images.

It seems like screenshots are basically unsupported. There's a lot of stuff in the Emby / Jellyfin codebase which isn't actually useful.

I'm not sure what's the best way to include screenshots. You could select "Enable chapter image extraction" in the library settings, but then it will just select random screenshots from the video itself which most of the time aren't that great. But there may be some way to match that existing functionality with the screenshots that your javbus provider grabs.

caoli5288 commented 4 years ago

@imaginary-upside I still not very understand what your said emm.. Is this any problem in mixing providers now?

imaginary-upside commented 4 years ago

Yeah there is, but it's fine for now. Nothing is actually broken, there's just a little bit of missing functionality which isn't a problem.

Are you done making changes to the code? Do you want me to look into merging your code now?

caoli5288 commented 4 years ago

Yes, the code works fine now. :)

imaginary-upside commented 4 years ago

Okay cool. I merged your code.

Probably in a few weeks after I implement a javlibrary provider, and a seperate javbus actress provider, I'll push a new release.

And I have a question for you. Was there anything confusing with building or using this project? Is there any more information that I should add to the README to help out a newcomer?

caoli5288 commented 4 years ago

I don't have much to say. It's easy enough to use. :)

imaginary-upside commented 4 years ago

Okay I'm going to close this issue then. Thanks for the code.