bpking1 / embyExternalUrl

some emby/jellyfin scripts
MIT License
656 stars 120 forks source link

打开具体影片页后报错500 #294

Closed YoghurtGuy closed 1 month ago

YoghurtGuy commented 1 month ago

按照最新的代码,普通的rclone挂载后阿里云盘转直链, 检查日志一切正常

2024/07/17 11:03:38 [warn] 20#20: *385 js: === systemInfoHandler: /emby/System/Info, the NJS VM is destroyed ===
2024/07/17 11:03:39 [notice] 20#20: *380 a client request body is buffered to a temporary file /var/cache/nginx/client_temp/0000000004, client: 183.*.*.*, server: default, request: "POST /emby/Items/20/PlaybackInfo?UserId=*****&StartTimeTicks=0&IsPlayback=false&AutoOpenLiveStream=false&MaxStreamingBitrate=200000000&X-Emby-Client=Emby+Web&X-Emby-Device-Name=Safari+macOS&X-Emby-Device-Id=d1f76a3f-93c8-48e8-96c1-7a3718cd6754&X-Emby-Client-Version=4.8.8.0&X-Emby-Token=fcc1715468e64493b6b1fb5a428db56e&X-Emby-Language=zh-cn&reqformat=json HTTP/1.1", host: "*******:28091"
2024/07/17 11:03:39 [warn] 20#20: *380 js: playbackinfo proxy uri: /proxy/emby/Items/20/PlaybackInfo
2024/07/17 11:03:39 [warn] 20#20: *380 js: playbackinfo proxy query string: UserId=5f6125104b1d44e287f1e055d5cadf56&StartTimeTicks=0&IsPlayback=false&AutoOpenLiveStream=false&MaxStreamingBitrate=200000000&X-Emby-Client=Emby Web&X-Emby-Device-Name=Safari macOS&X-Emby-Device-Id=d1f76a3f-93c8-48e8-96c1-7a3718cd6754&X-Emby-Client-Version=4.8.8.0&X-Emby-Token=fcc1715468e64493b6b1fb5a428db56e&X-Emby-Language=zh-cn&reqformat=json
2024/07/17 11:03:39 [warn] 20#20: *380 js: origin playbackinfo: {"MediaSources":[{"Protocol":"File","Id":"83e51086d4a173f17fb9d250dc50d92d","Path":"/mnt/阿里云盘/电影/爱乐之城 (2016)/爱乐之城 (2016) - 2160p.mkv","Type":"Default","Container":"mkv","Size":27952356761,"Name":"2160p","IsRemote":false,"HasMixedProtocols":false,"RunTimeTicks":76759040000,"SupportsTranscoding":false,"SupportsDirectStream":true,"SupportsDirectPlay":true,"IsInfiniteStream":false,"RequiresOpening":false,"RequiresClosing":false,"RequiresLooping":false,"SupportsProbing":false,"MediaStreams":[{"Codec":"hevc","ColorTransfer":"smpte2084","ColorPrimaries":"bt2020","ColorSpace":"bt2020nc","TimeBase":"1/1000","VideoRange":"HDR 10","DisplayTitle":"4K HDR 10 HEVC","IsInterlaced":false,"BitRate":29132575,"BitDepth":10,"RefFrames":1,"IsDefault":true,"IsForced":false,"IsHearingImpaired":false,"Height":1504,"Width":3840,"AverageFrameRate":23.976025,"RealFrameRate":23.976025,"Profile":"Main 10","Type":"Video","AspectRatio":"120:47","Index":0,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Protocol":"File","PixelFormat":"yuv420p10le","Level":153,"IsAnamorphic":false,"ExtendedVideoType":"Hdr10","ExtendedVideoSubType":"Hdr10","ExtendedVideoSubTypeDescription":"HDR 10","AttachmentSize":0},{"Codec":"truehd","Language":"eng","TimeBase":"1/1000","Title":"英语全景声","DisplayTitle":"English TRUEHD 7.1 (默认)","DisplayLanguage":"English","IsInterlaced":false,"ChannelLayout":"7.1","BitDepth":24,"Channels":8,"SampleRate":48000,"IsDefault":true,"IsForced":false,"IsHearingImpaired":false,"Type":"Audio","Index":1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Protocol":"File","ExtendedVideoType":"None","ExtendedVideoSubType":"None","ExtendedVideoSubTypeDescription":"None","AttachmentSize":0},{"Codec":"ac3","Language":"eng","TimeBase":"1/1000","Title":"英语","DisplayTitle":"English AC3 5.1","DisplayLanguage":"English","IsInterlaced":false,"ChannelLayout":"5.1","BitRate":640000,"Cha
2024/07/17 11:03:39 [warn] 20#20: *380 js: === transferPlaybackInfo: /emby/Items/20/PlaybackInfo, the NJS VM is destroyed ===

只修改了constant-mount.js和constant.js文件

每个媒体库可以正常打开,正常显示图片,但再点击具体影片就报错

image

请问这是我哪里设置出错了?

chen3861229 commented 1 month ago

../nginx-emby2alist/log/access.log

用 500 关键字搜索下 nginx 的接口访问日志呢?看是不是上游服务返回的

正常情况下 nginx 500 的话 error.log 中应该是有详情的,也可以用 500 关键字,或 error 关键字搜索下

YoghurtGuy commented 1 month ago

access.log中只有一个请求返回了500

17/Jul/2024:13:13:05 +0000] "POST /emby/Items/24/PlaybackInfo?UserId=5f6125104b1d44e287f1e055d5cadf56&StartTimeTicks=0&IsPlayback=false&AutoOpenLiveStream=false&MaxStreamingBitrate=4000002&X-Emby-Client=Emby+Web&X-Emby-Device-Name=Chrome+macOS&X-Emby-Device-Id=432a5d10-399a-463d-9588-1f9a886bd62f&X-Emby-Client-Version=4.8.8.0&X-Emby-Token=dd9c3ac3fd7341e7ac2cb595063b1fbf&X-Emby-Language=zh-cn&reqformat=json HTTP/1.1" 500 572 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36" "-"

emby的日志中显示了正常200

2024-07-17 21:13:05.546 Info Server: http/1.1 Response 200 to host3. Time: 12ms. POST http://127.0.0.1:8096/emby/Items/24/PlaybackInfo?UserId=5f6125104b1d44e287f1e055d5cadf56&StartTimeTicks=0&IsPlayback=false&AutoOpenLiveStream=false&MaxStreamingBitrate=4000002&X-Emby-Client=Emby Web&X-Emby-Device-Name=Chrome macOS&X-Emby-Device-Id=432a5d10-399a-463d-9588-1f9a886bd62f&X-Emby-Client-Version=4.8.8.0&X-Emby-Token=x_secret9_x&X-Emby-Language=zh-cn&reqformat=json

请问我还能从哪方面排查问题呢?

chen3861229 commented 1 month ago

方便看下这个配置的值吗? emby2Alist\nginx\conf.d\constant.js

// 这里默认 emby/jellyfin 的地址是宿主机,要注意 iptables 给容器放行端口
const embyHost = "http://172.17.0.1:8096";

不知道是否和这个有原因 QQ_1721223906260

YoghurtGuy commented 1 month ago

emby部署在同一个机器上,docker地址就是172.17.0.1于是我保持了默认172.17.0.1 我修改为127.0.0.1或公网地址得到了一样的结果

chen3861229 commented 1 month ago

我修改为127.0.0.1或公网地址得到了一样的结果

1.写完才看到,不要用 127.0.0.1 这个,被我上面的误导了,embyHost 写这个是错误的,公网地址的话已经排除了下述情况,试下更新下代码呢?不知道是否是前两天的代码错误导致的

虽然以下情况被排除了,不过也可以试试,这些特例确实不太好排查,

试下用路由器分配的局域网 ip 呢?这个在群晖的残废 docker 上是有区别的,之前有网友反馈过,不过没留档,这里记录下,群晖的 docker 局域网网段默认是 172.17.0.1 , 但是群晖的这个网桥有时候不太稳定,经常是导致 nginx 请求上游服务超时,error.log 中很多 upstream time out 之类的关键字,所以需要换为路由器等稳定设备的局域网 ip,例如小米路由器是 192.168.31.1 网段,NAS 分配的是 192.168.31.200,所以 const embyHost = "http://192.168.31.200:8096"; 会更加稳定