diericx / bevy

Self hosted software for distibuted video streaming using BitTorrent
72 stars 6 forks source link

"Error: " message when click on watch movie button. #46

Closed eyal1izhaki closed 3 years ago

eyal1izhaki commented 3 years ago

Backend server log:

[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.

[GIN-debug] GET /v1/tmdb/browse/movies/popular --> github.com/diericx/iceetime/internal/app/http.(HTTPHandler).addTmdbGroup.func1 (6 handlers) [GIN-debug] GET /v1/tmdb/search/movies --> github.com/diericx/iceetime/internal/app/http.(HTTPHandler).addTmdbGroup.func2 (6 handlers) 2020-10-28T20:33:49+0200 NONE server.go:923: dht server on [::]:42069: falling back on starting nodes [GIN-debug] GET /v1/tmdb/movies/:movieID --> github.com/diericx/iceetime/internal/app/http.(HTTPHandler).addTmdbGroup.func3 (6 handlers) [GIN-debug] POST /v1/torrents/new/file --> github.com/diericx/iceetime/internal/app/http.(HTTPHandler).addTorrentsGroup.func1 (6 handlers) [GIN-debug] POST /v1/torrents/new/magnet --> github.com/diericx/iceetime/internal/app/http.(HTTPHandler).addTorrentsGroup.func2 (6 handlers) [GIN-debug] GET /v1/torrents --> github.com/diericx/iceetime/internal/app/http.(HTTPHandler).addTorrentsGroup.func3 (6 handlers) [GIN-debug] GET /v1/torrents/torrent/:infoHash --> github.com/diericx/iceetime/internal/app/http.(HTTPHandler).addTorrentsGroup.func4 (6 handlers) [GIN-debug] GET /v1/torrents/torrent/:infoHash/stream/:file --> github.com/diericx/iceetime/internal/app/http.(HTTPHandler).addTorrentsGroup.func5 (6 handlers) [GIN-debug] GET /v1/torrents/find_for_movie --> github.com/diericx/iceetime/internal/app/http.(HTTPHandler).addTorrentsGroup.func6 (6 handlers) [GIN-debug] GET /v1/transcoder/from_url --> github.com/diericx/iceetime/internal/app/http.(HTTPHandler).addTranscoderGroup.func1 (6 handlers) [GIN-debug] GET /v1/transcoder/from_url/metadata --> github.com/diericx/iceetime/internal/app/http.(*HTTPHandler).addTranscoderGroup.func2 (6 handlers) [GIN-debug] Environment variable PORT="8080" [GIN-debug] Listening and serving HTTP on :8080 2020-10-28T20:33:49+0200 NONE server.go:923: dht server on 0.0.0.0:42069: falling back on starting nodes 2020-10-28T20:33:49+0200 NONE upnp.go:130: UPnP discovery result 9f0865b3-f5da-4ad5-85b7-7404637fdf37/Archer_MR200/urn:upnp-org:serviceId:WANIPConn1/urn:schemas-upnp-org:service:WANIPConnection:1/http://192.168.1.1:1900/upnp/control/WANIPConn1 2020-10-28T20:33:51+0200 NONE portfwd.go:30: discovered 1 upnp devices 2020-10-28T20:33:52+0200 NONE portfwd.go:17: forwarded external TCP port 42069 2020-10-28T20:33:52+0200 NONE portfwd.go:17: forwarded external UDP port 42069 2020-10-28T20:33:56+0200 NONE client.go:332: dht server on [::]:42069 completed bootstrap (dht.TraversalStats{NumAddrsTried:9, NumResponses:0}) [GIN] 2020/10/28 - 20:34:19 | 200 | 1.477822123s | 127.0.0.1 | GET "/v1/tmdb/movies/724989" 2020/10/28 20:34:21 INFO: Passing on release Hard Kill 2020 FRENCH BluRay 1080p because title contains one of these blacklisted words: [fre french ita italian]

2020/10/28 20:34:21 [Recovery] 2020/10/28 - 20:34:21 panic recovered: GET /v1/torrents/find_for_movie?imdb_id=tt11656172&title=Hard%20Kill&year=2020&min_quality=0 HTTP/1.1 Host: localhost:8080 Accept: / Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.9 Connection: keep-alive Origin: http://192.168.1.102:3000 Referer: http://192.168.1.102:3000/movie Sec-Fetch-Dest: empty Sec-Fetch-Mode: cors Sec-Fetch-Site: cross-site User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36

runtime error: invalid memory address or nil pointer dereference /usr/lib/go-1.13/src/runtime/panic.go:199 (0x44d58f) panicmem: panic(memoryError) /usr/lib/go-1.13/src/runtime/signal_unix.go:394 (0x44d3e0) sigpanic: panicmem() /home/ubuntu/projects/iceetime/internal/app/http/torrents.go:268 (0xa244d7) (HTTPHandler).addTorrentsGroup.func6: "error": err.Error(), /root/go/pkg/mod/github.com/gin-gonic/gin@v1.6.3/context.go:161 (0xa03037) (Context).Next: c.handlersc.index /root/go/pkg/mod/github.com/gin-contrib/sessions@v0.0.3/sessions.go:52 (0xa1ef93) Sessions.func1: c.Next() /root/go/pkg/mod/github.com/gin-gonic/gin@v1.6.3/context.go:161 (0xa03037) (Context).Next: c.handlersc.index /root/go/pkg/mod/github.com/gin-gonic/gin@v1.6.3/recovery.go:83 (0xa14907) RecoveryWithWriter.func1: c.Next() /root/go/pkg/mod/github.com/gin-gonic/gin@v1.6.3/context.go:161 (0xa03037) (Context).Next: c.handlersc.index /root/go/pkg/mod/github.com/gin-gonic/gin@v1.6.3/logger.go:241 (0xa13d73) LoggerWithConfig.func1: c.Next() /root/go/pkg/mod/github.com/gin-gonic/gin@v1.6.3/context.go:161 (0xa03037) (Context).Next: c.handlersc.index /root/go/pkg/mod/github.com/gin-gonic/gin@v1.6.3/gin.go:409 (0xa0c113) (Engine).handleHTTPRequest: c.Next() /root/go/pkg/mod/github.com/gin-gonic/gin@v1.6.3/gin.go:367 (0xa0b9c7) (Engine).ServeHTTP: engine.handleHTTPRequest(c) /usr/lib/go-1.13/src/net/http/server.go:2802 (0x6bf9f7) serverHandler.ServeHTTP: handler.ServeHTTP(rw, req) /usr/lib/go-1.13/src/net/http/server.go:1890 (0x6bbbdb) (conn).serve: serverHandler{c.server}.ServeHTTP(w, w.req) /usr/lib/go-1.13/src/runtime/asm_arm64.s:1128 (0x46432b) goexit: MOVD R0, R0 // NOP

[GIN] 2020/10/28 - 20:34:21 | 500 | 127.421574ms | 127.0.0.1 | GET "/v1/torrents/find_for_movie?imdb_id=tt11656172&title=Hard%20Kill&year=2020&min_quality=0"

Frontend server log:

Compiled with warnings.

./src/components/Torrents/NewTorrent.js Line 1:17: 'useState' is defined but never used no-unused-vars

./src/components/VideojsPlugins/videojs-quality-selector/src/js/components/QualityOption.js Line 1:1: 'use strict' is unnecessary inside of modules strict

./src/components/VideojsPlugins/videojs-quality-selector/src/js/components/QualitySelector.js Line 1:1: 'use strict' is unnecessary inside of modules strict

./src/components/VideojsPlugins/videojs-quality-selector/src/js/util/SafeSeek.js Line 1:1: 'use strict' is unnecessary inside of modules strict

./src/components/VideojsPlugins/videojs-quality-selector/src/js/middleware/SourceInterceptor.js Line 1:1: 'use strict' is unnecessary inside of modules strict

./src/components/VideojsPlugins/videojs-quality-selector/src/js/events.js Line 1:1: 'use strict' is unnecessary inside of modules strict

./src/components/VideojsPlugins/videojs-quality-selector/src/js/index.js Line 1:1: 'use strict' is unnecessary inside of modules strict

./src/lib/IceetimeAPI.js Line 29:3: Duplicate name 'GetTorrentByInfoHash' no-dupe-class-members

./src/components/TorrentStream/index.js Line 2:10: 'Redirect' is defined but never used no-unused-vars Line 10:8: 'Torrents' is defined but never used no-unused-vars

./src/components/VideojsPlugins/DurationFromServer/index.js Line 2:10: 'TorrentsAPI' is defined but never used no-unused-vars Line 15:9: 'plugin' is assigned a value but never used no-unused-vars

./src/pages/torrents.js Line 2:8: 'PropTypes' is defined but never used no-unused-vars Line 12:8: 'TorrentStream' is defined but never used no-unused-vars Line 13:10: 'result' is defined but never used no-unused-vars

./src/App.js Line 2:8: 'logo' is defined but never used no-unused-vars Line 13:50: 'Link' is defined but never used no-unused-vars

./src/pages/movies.js Line 35:21: Expected '===' and instead saw '==' eqeqeq Line 62:7: 'selectedMovie' is assigned a value but never used no-unused-vars

./src/pages/search.js Line 3:8: 'Button' is defined but never used no-unused-vars Line 4:8: 'VideoPlayer' is defined but never used no-unused-vars Line 35:30: 'resp' is assigned a value but never used no-unused-vars

./src/pages/movie.js Line 62:19: img elements must have an alt prop, either with meaningful text, or an empty string for decorative images jsx-a11y/alt-text

Search for the keywords to learn more about each warning. To ignore, add // eslint-disable-next-line to the line before.

diericx commented 3 years ago

Shoot that's a bug, but it does mean it can't find any torrents for that movie. It's just struggling to send that feedback to you. Does it work for any other movies?

diericx commented 3 years ago

I'm also working on an update right now that will really help with situations like this where it can't find any torrents. We will have the ability to use scoring expressions for deciding which torrents to grab, and the ability to see what torrents it attempted to grab.

eyal1izhaki commented 3 years ago

Does it work for any other movies?

No

eyal1izhaki commented 3 years ago

but it does mean it can't find any torrents for that movie. It's just struggling to send that feedback to you.

It seems that the server got some information about the torrent..

2020/10/28 20:34:21 INFO: Passing on release Hard Kill 2020 FRENCH BluRay 1080p because title contains one of these blacklisted words: [fre french ita italian]

diericx commented 3 years ago

Interesting... are you using the same indexer from the example config? Could you post your config (removing any private info) so I can try to reproduce the error locally?

diericx commented 3 years ago

It's also very possible the next update will fix this issue for you, so if I can get that merged I may ask you to upgrade your image and see if that helps.

eyal1izhaki commented 3 years ago

My config file:

[tmdb] api_key = "my tmdb api key"

[[indexers]] name = "GkTorrent" url = "http://192.168.1.102:9117/api/v2.0/indexers/gktorrent/results/torznab/" api_key = "api provided by jackett server" categories = "2000"

[[qualities]] name = "1080p" regex = "1080" min_size = 5e8 max_size = 1e10 resolution = "1920x1080"

[transcoder] [transcoder.video] format = "ismv" compression_algo = "libx264" [transcoder.audio] compression_algo = "copy"

[torrent_client] min_seeders = 2 info_timeout = 30 file_path = "./downloads" data_path = "./downloads" established_conns_per_torrent = 15 torrent_half_open_conns_per_torrent = 15 meta_refresh_rate = 5

Jackett log when clicking that watch button: 2020-10-28 20:34:21 Info
Found 1 releases from GkTorrent for: Hard Kill 2020 1080 2020-10-28 20:34:21 Info
Fetching: https://wvw.gktorrent.pw/recherche/Hard%20Kill%202020%201080

diericx commented 3 years ago

Ahh ok, thank you for the Jackett log. It looks like there is only one release for that movie for the given quality (only 1 quality in your config), and it's getting passed on which is in the logs here

Passing on release Hard Kill 2020 FRENCH BluRay 1080p because title contains one of these blacklisted words: [fre french ita italian]

The issue being when torrents have multiple languages, the video file has multiple audio tracks. We haven't added a way yet to select the audio track so sometimes it defaults to Italian or something and you can't switch it back :( So the temporary solution was to pass on torrents that have multiple languages.

diericx commented 3 years ago

You can also upgrade to this image which I just tested which adds a "manual search" button that gives you insight on what it's doing and the fine tuning I described above. iceetime/iceetime:1.8427d8d I don't think it will really help in this case though, sadly :(

eyal1izhaki commented 3 years ago

I'll check it tomorrow, it's 1:00 AM here in israel... One more thing, I tried using YTS indexer - and got 0 torrents while searching manually in jackett brings me the torrents I'm looking for, I think there is a problem with the query string. Have a good night, actually good afternoon in San Francisco.

diericx commented 3 years ago

Night! I'll try to look into this while you're away... I've also noticed that happening sometimes

eyal1izhaki commented 3 years ago

I'm closing it because i can download part of the movie, but cant watch it yet.