chen3861229 / embyExternalUrl

some emby/jellyfin scripts
MIT License
116 stars 17 forks source link

网页端视频播放没有声音 #51

Closed YanTaocheng closed 3 months ago

YanTaocheng commented 3 months ago

Screenshot_20240625_012513_Edge.jpg

web端使用proxy后,播放没有声音

YanTaocheng commented 3 months ago

用反代之前的网址播放,视频是有声音的

YanTaocheng commented 3 months ago

3f5362fe83c9afb0720963b0c45e3a75

d89cb1bdd3adaf8bb8c9dd5c1c318706

fa13d7387fde9a240cdd7dd916fe4ae1

这几个都是走代理网址没声音,原网址有声音的,

chen3861229 commented 3 months ago

1.截图注意隐私信息,已打码

2.不要用浏览器播放高规格视频,很多媒体格式是不支持的,例如当前是高规格音频不支持(EAC 和 杜比之类的均不支持,印象中只支持 mp3 和 flac),所以原服务是走转码来解决的,有两个解决方案

2.1 使用对应平台的客户端播放

2.2 脚本配置允许转码 https://github.com/bpking1/embyExternalUrl/blob/main/FAQ.md#8%E5%85%81%E8%AE%B8%E8%BD%AC%E7%A0%81%E5%8A%9F%E8%83%BD%E4%BD%86%E4%B8%8D%E9%9C%80%E8%A6%81%E5%88%86%E7%A6%BB%E8%BD%AC%E7%A0%81%E8%B4%9F%E8%BD%BD%E8%AF%A5%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE

YanTaocheng commented 3 months ago

可以了,大佬给力 image

YanTaocheng commented 3 months ago

大佬,还有个问题,现在网页端恢复播放的时候,会暂停播放在跳,然后进度就没了,只能重新放,这问题有解决方案么?

chen3861229 commented 3 months ago

这个需要看播放形式,如果是转码播放的,大概率是转码速度跟不上播放失败的判定超时时间(大概只有 10s),如果是挂载的文件,会多出服务端下载文件这个过程,这个是无解的,因为媒体服务器原生压根不支持非文件系统的媒体,再次建议,不要用浏览器播放了,用对应平台的客户端不转码走直链播放体验会好很多

YanTaocheng commented 3 months ago

网页端是偶尔给朋友分享视频的时候方便,不下客户端啥的直接就能看,我自己是走客户端直链的~

chen3861229 commented 3 months ago

1.建议再找份压制规格没那么高的媒体入库,这样最简单,分辨率没限制,视频规格最好 h264 的 mp4 或 mkv,音频也不要整太高规特殊的,AAC 吧,FLAC 备选,这样浏览器客户端默认支持播放就不会上报为走转码了,其实也就是手动实现了 3 的功能 2.那这只能把需要分享的提前手动下载到服务器本地了,这样成功率可能会高一些 3.或者尝试使用下 emby 的那个转换任务,的功能,也就是提前进行转码,但是这个功能我没用过,我的 nas 性能太低了,gpu 等于没有

YanTaocheng commented 3 months ago

我这边视频的转码关闭了,只开了音频转码,不应该很慢吧 20240626_194544.jpg

chen3861229 commented 3 months ago

只开了音频转码,不应该很慢吧

对于文件系统来说,不分这个的,视频轨道和音频轨道是封装在同一个媒体容器内的,如果你这个文件在网盘上是挂载的,emby 同样是要下载这个文件的部分内容才能识别出音轨所在的数据流, 最简单就是方案 1 ,重新找个媒体入库,还有个方案是服务端配置外部播放器按钮的集成

https://github.com/bpking1/embyExternalUrl#emby%E8%B0%83%E7%94%A8%E5%A4%96%E9%83%A8%E6%92%AD%E6%94%BE%E5%99%A8%E6%9C%8D%E5%8A%A1%E7%AB%AF%E8%84%9A%E6%9C%AC

YanTaocheng commented 3 months ago

恢复播放的时候,会一直给115的直链 image

从头开始放就给1次115直链,后面就正常放了 image

YanTaocheng commented 3 months ago

20240627_131050.jpg

这边把transcode去掉,能正常恢复播放,但是不需要音频转码的就无法播放了

chen3861229 commented 3 months ago

1.115 这个是浏览器禁止跨域的问题了,参照 https://github.com/bpking1/embyExternalUrl/blob/main/FAQ.md#6115-%E5%86%85%E5%AE%B9%E6%97%A0%E6%B3%95-web-%E7%AB%AF%E6%92%AD%E6%94%BEhtmlvideoplayer-%E8%B7%A8%E5%9F%9F

2.上边已经重复提到了,就是转码网盘文件多了一个服务端下载文件的过程,官方客户端自己的逻辑就是超时 10s 没有等待到服务端传送转码流就自动断开了,这个是 emby 官方设计上的问题,无解的

YanTaocheng commented 3 months ago

大佬威武,实测能解决恢复播放问题,音频需要转码的走本地转码,无需转码的走直链播放 constant-pro配置+basehtmlplayer.js替换: image

image

YanTaocheng commented 3 months ago

还有个小问题,edge浏览器从头播放时,走的是本地转码,但是恢复播放又去走直链了,导致音频无法转码 我用小米自带的浏览器不会有这个问题,恢复播放还是走的本地转码

chen3861229 commented 3 months ago

尝试改下这个参数 transcodeConfig.redirectTransOptEnable: false 和此参数暂无关系,内部代码问题,已做测试和修复,需要更新下代码

YanTaocheng commented 3 months ago

用了新更新的代码,我是挂的strm,需要转码的也都走直链了

chen3861229 commented 3 months ago

strm 不建议转码,体验很差,因为多了一个 emby 服务端下载文件的过程,而客户端对于转码文件流的等待太短,只有 10s ,超过这个时间就强制断开连接,重新请求(重新开始转码),对网速和转码硬解都有要求,目前是代码中默认禁止了 strm 的转码,只会返回直链,如果你需要测试和调试的话,可以手动删除下代码内部的 !isStrm 这个的 if 判断的条件,稍等,我这边加个参数开关控制吧

YanTaocheng commented 3 months ago

现在不会去识别客户端的限制了么,现在我emby的客户端反而转码播放了,我限制了emby web const routeRule = [ ["proxy", "filePath", 0, "smb"], ["transcode", "115-alist", "r.args.X-Emby-Client", 0, ["Emby Web"]], // 链接入参,客户端类型 ["transcode", "115-alist", "alistRes", 0, strHead["115"]], ["transcode", "115-local", "r.args.X-Emby-Client", 0, ["Emby Web"]], ["transcode", "115-local", "filePath", 0, "/media"]}

2024/06/29 14:15:31 [warn] 23#23: *37 js: playbackinfo proxy uri: /proxy/emby/Items/35158/PlaybackInfo 2024/06/29 14:15:31 [warn] 23#23: *37 js: playbackinfo proxy query string: UserId=d85257ff75fd4650b8d8d39ecbfe3006&StartTimeTicks=0&IsPlayback=false&AutoOpenLiveStream=false&MaxStreamingBitrate=4000000&X-Emby-Client=Emby for Android&X-Emby-Device-Name=SM-G9980&X-Emby-Device-Id=d3519a907fecc1f0&X-Emby-Client-Version=3.4.08&X-Emby-Token=796b5a901477492faad65b5e2151a7bc&X-Emby-Language=zh-cn&reqformat=json 2024/06/29 14:15:31 [warn] 23#23: *37 js: origin playbackinfo: {"MediaSources":[{"Protocol":"File","Id":"e2a1fb59a62c855b305025fe3cfc793a","Path":"/volume1/YanTaocheng/CloudNAS/CloudDrive/115/Media/电影/外语电影/犯罪都市 (2017)/犯罪都市 (2017) - 1080p - BluRay.mkv","Type":"Default","Container":"mkv","Size":6379791230,"Name":"1080p - BluRay","IsRemote":false,"HasMixedProtocols":false,"RunTimeTicks":72678020000,"SupportsTranscoding":true,"SupportsDirectStream":false,"SupportsDirectPlay":false,"IsInfiniteStream":false,"RequiresOpening":false,"RequiresClosing":false,"RequiresLooping":false,"SupportsProbing":false,"MediaStreams":[{"Codec":"hevc","ColorTransfer":"bt709","ColorPrimaries":"bt709","ColorSpace":"bt709","TimeBase":"1/1000","VideoRange":"SDR","DisplayTitle":"1080p HEVC","IsInterlaced":false,"BitRate":7022526,"BitDepth":10,"RefFrames":1,"IsDefault":true,"IsForced":false,"IsHearingImpaired":false,"Height":804,"Width":1920,"AverageFrameRate":23.976025,"RealFrameRate":23.976025,"Profile":"Main 10","Type":"Video","AspectRatio":"160:67","Index":0,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Protocol":"File","PixelFormat":"yuv420p10le","Level":123,"IsAnamorphic":false,"ExtendedVideoType":"None","ExtendedVideoSubType":"None","ExtendedVideoSubTypeDescription":"None","AttachmentSize":0},{"Codec":"ac3","Language":"kor","TimeBase":"1/1000","Title":"韩语","DisplayTitle":"Korean AC3 5.1 (默认)","DisplayLanguage":"Korean","IsInterlaced":false,"ChannelLayout":"5.1","BitRate":640000,"Channels":6,"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":"PGSSUB","Language":"eng","TimeBase":"1/1000","Title":"英文","DisplayTitle":"English (默认 PGSSUB)","DisplayLanguage":"English","IsInterlaced":false,"IsD 2024/06/29 14:15:31 [warn] 23#23: *37 js: modify direct play supports all true 2024/06/29 14:15:31 [warn] 23#23: *37 js: sourceStrValue, filePath = /volume1/YanTaocheng/CloudNAS/CloudDrive/115/Media/电影/外语电影/犯罪都市 (2017)/犯罪都市 (2017) - 1080p - BluRay.mkv 2024/06/29 14:15:31 [warn] 23#23: *37 js: sourceStrValue, 115-alist = [object Request] 2024/06/29 14:15:31 [warn] 23#23: *37 js: sourceStrValue, 115-alist = [object Request] 2024/06/29 14:15:31 [warn] 23#23: *37 js: sourceStrValue, 115-local = [object Request] 2024/06/29 14:15:31 [warn] 23#23: *37 js: sourceStrValue, 115-local = [object Request] 2024/06/29 14:15:31 [warn] 23#23: *37 js: playbackinfo routeMode: redirect 2024/06/29 14:15:31 [warn] 23#23: *37 js: client reported and server judgment to transcode, cover routeMode 2024/06/29 14:15:31 [warn] 23#23: *37 js: modify direct play supports all false, and add useProxyKey 2024/06/29 14:15:31 [warn] 23#23: *37 js: 437ms, transfer playbackinfo: {"MediaSources":[{"Protocol":"File","Id":"e2a1fb59a62c855b305025fe3cfc793a","Path":"/volume1/YanTaocheng/CloudNAS/CloudDrive/115/Media/电影/外语电影/犯罪都市 (2017)/犯罪都市 (2017) - 1080p - BluRay.mkv","Type":"Default","Container":"mkv","Size":6379791230,"Name":"1080p - BluRay","IsRemote":false,"HasMixedProtocols":false,"RunTimeTicks":72678020000,"SupportsTranscoding":true,"SupportsDirectStream":false,"SupportsDirectPlay":false,"IsInfiniteStream":false,"RequiresOpening":false,"RequiresClosing":false,"RequiresLooping":false,"SupportsProbing":false,"MediaStreams":[{"Codec":"hevc","ColorTransfer":"bt709","ColorPrimaries":"bt709","ColorSpace":"bt709","TimeBase":"1/1000","VideoRange":"SDR","DisplayTitle":"1080p HEVC","IsInterlaced":false,"BitRate":7022526,"BitDepth":10,"RefFrames":1,"IsDefault":true,"IsForced":false,"IsHearingImpaired":false,"Height":804,"Width":1920,"AverageFrameRate":23.976025,"RealFrameRate":23.976025,"Profile":"Main 10","Type":"Video","AspectRatio":"160:67","Index":0,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Protocol":"File","PixelFormat":"yuv420p10le","Level":123,"IsAnamorphic":false,"ExtendedVideoType":"None","ExtendedVideoSubType":"None","ExtendedVideoSubTypeDescription":"None","AttachmentSize":0},{"Codec":"ac3","Language":"kor","TimeBase":"1/1000","Title":"韩语","DisplayTitle":"Korean AC3 5.1 (默认)","DisplayLanguage":"Korean","IsInterlaced":false,"ChannelLayout":"5.1","BitRate":640000,"Channels":6,"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":"PGSSUB","Language":"eng","TimeBase":"1/1000","Title":"英文","DisplayTitle":"English (默认 PGSSUB)","DisplayLanguage":"English","IsInterlaced":f 2024/06/29 14:15:31 [warn] 23#23: *37 js: === transferPlaybackInfo: /emby/Items/35158/PlaybackInfo, the NJS VM is destroyed === 2024/06/29 14:15:31 [notice] 23#23: *21 a client request body is buffered to a temporary file /var/cache/nginx/client_temp/0000000011, client: 172.17.0.1, server: default, request: "POST /emby/Items/35158/PlaybackInfo?UserId=d85257ff75fd4650b8d8d39ecbfe3006&StartTimeTicks=0&IsPlayback=false&AutoOpenLiveStream=false&MaxStreamingBitrate=4000000&X-Emby-Client=Emby+for+Android&X-Emby-Device-Name=SM-G9980&X-Emby-Device-Id=d3519a907fecc1f0&X-Emby-Client-Version=3.4.08&X-Emby-Token=796b5a901477492faad65b5e2151a7bc&X-Emby-Language=zh-cn&reqformat=json HTTP/1.1", host: "yantaocheng.site:8097" 2024/06/29 14:15:31 [warn] 23#23: *21 js: playbackinfo proxy uri: /proxy/emby/Items/35158/PlaybackInfo 2024/06/29 14:15:31 [warn] 23#23: *21 js: playbackinfo proxy query string: UserId=d85257ff75fd4650b8d8d39ecbfe3006&StartTimeTicks=0&IsPlayback=false&AutoOpenLiveStream=false&MaxStreamingBitrate=4000000&X-Emby-Client=Emby for Android&X-Emby-Device-Name=SM-G9980&X-Emby-Device-Id=d3519a907fecc1f0&X-Emby-Client-Version=3.4.08&X-Emby-Token=796b5a901477492faad65b5e2151a7bc&X-Emby-Language=zh-cn&reqformat=json 2024/06/29 14:15:31 [notice] 23#23: *38 a client request body is buffered to a temporary file /var/cache/nginx/client_temp/0000000012, client: 172.17.0.1, server: default, request: "POST /emby/Items/35158/PlaybackInfo?UserId=d85257ff75fd4650b8d8d39ecbfe3006&StartTimeTicks=0&IsPlayback=false&AutoOpenLiveStream=false&MaxStreamingBitrate=4000000&X-Emby-Client=Emby+for+Android&X-Emby-Device-Name=SM-G9980&X-Emby-Device-Id=d3519a907fecc1f0&X-Emby-Client-Version=3.4.08&X-Emby-Token=796b5a901477492faad65b5e2151a7bc&X-Emby-Language=zh-cn&reqformat=json HTTP/1.1", host: "yantaocheng.site:8097" 2024/06/29 14:15:31 [warn] 23#23: *38 js: playbackinfo proxy uri: /proxy/emby/Items/35158/PlaybackInfo 2024/06/29 14:15:31 [warn] 23#23: *38 js: playbackinfo proxy query string: UserId=d85257ff75fd4650b8d8d39ecbfe3006&StartTimeTicks=0&IsPlayback=false&AutoOpenLiveStream=false&MaxStreamingBitrate=4000000&X-Emby-Client=Emby for Android&X-Emby-Device-Name=SM-G9980&X-Emby-Device-Id=d3519a907fecc1f0&X-Emby-Client-Version=3.4.08&X-Emby-Token=796b5a901477492faad65b5e2151a7bc&X-Emby-Language=zh-cn&reqformat=json 2024/06/29 14:15:31 [warn] 23#23: *21 js: origin playbackinfo: {"MediaSources":[{"Protocol":"File","Id":"e2a1fb59a62c855b305025fe3cfc793a","Path":"/volume1/YanTaocheng/CloudNAS/CloudDrive/115/Media/电影/外语电影/犯罪都市 (2017)/犯罪都市 (2017) - 1080p - BluRay.mkv","Type":"Default","Container":"mkv","Size":6379791230,"Name":"1080p - BluRay","IsRemote":false,"HasMixedProtocols":false,"RunTimeTicks":72678020000,"SupportsTranscoding":true,"SupportsDirectStream":false,"SupportsDirectPlay":false,"IsInfiniteStream":false,"RequiresOpening":false,"RequiresClosing":false,"RequiresLooping":false,"SupportsProbing":false,"MediaStreams":[{"Codec":"hevc","ColorTransfer":"bt709","ColorPrimaries":"bt709","ColorSpace":"bt709","TimeBase":"1/1000","VideoRange":"SDR","DisplayTitle":"1080p HEVC","IsInterlaced":false,"BitRate":7022526,"BitDepth":10,"RefFrames":1,"IsDefault":true,"IsForced":false,"IsHearingImpaired":false,"Height":804,"Width":1920,"AverageFrameRate":23.976025,"RealFrameRate":23.976025,"Profile":"Main 10","Type":"Video","AspectRatio":"160:67","Index":0,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Protocol":"File","PixelFormat":"yuv420p10le","Level":123,"IsAnamorphic":false,"ExtendedVideoType":"None","ExtendedVideoSubType":"None","ExtendedVideoSubTypeDescription":"None","AttachmentSize":0},{"Codec":"ac3","Language":"kor","TimeBase":"1/1000","Title":"韩语","DisplayTitle":"Korean AC3 5.1 (默认)","DisplayLanguage":"Korean","IsInterlaced":false,"ChannelLayout":"5.1","BitRate":640000,"Channels":6,"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":"PGSSUB","Language":"eng","TimeBase":"1/1000","Title":"英文","DisplayTitle":"English (默认 PGSSUB)","DisplayLanguage":"English","IsInterlaced":false,"IsD 2024/06/29 14:15:31 [warn] 23#23: *21 js: modify direct play supports all true 2024/06/29 14:15:31 [warn] 23#23: *21 js: sourceStrValue, filePath = /volume1/YanTaocheng/CloudNAS/CloudDrive/115/Media/电影/外语电影/犯罪都市 (2017)/犯罪都市 (2017) - 1080p - BluRay.mkv 2024/06/29 14:15:31 [warn] 23#23: *21 js: sourceStrValue, 115-alist = [object Request] 2024/06/29 14:15:31 [warn] 23#23: *21 js: sourceStrValue, 115-alist = [object Request] 2024/06/29 14:15:31 [warn] 23#23: *21 js: sourceStrValue, 115-local = [object Request] 2024/06/29 14:15:31 [warn] 23#23: *21 js: sourceStrValue, 115-local = [object Request] 2024/06/29 14:15:31 [warn] 23#23: *21 js: playbackinfo routeMode: redirect 2024/06/29 14:15:31 [warn] 23#23: *21 js: client reported and server judgment to transcode, cover routeMode 2024/06/29 14:15:31 [warn] 23#23: *21 js: modify direct play supports all false, and add useProxyKey 2024/06/29 14:15:31 [warn] 23#23: *21 js: 11ms, transfer playbackinfo: {"MediaSources":[{"Protocol":"File","Id":"e2a1fb59a62c855b305025fe3cfc793a","Path":"/volume1/YanTaocheng/CloudNAS/CloudDrive/115/Media/电影/外语电影/犯罪都市 (2017)/犯罪都市 (2017) - 1080p - BluRay.mkv","Type":"Default","Container":"mkv","Size":6379791230,"Name":"1080p - BluRay","IsRemote":false,"HasMixedProtocols":false,"RunTimeTicks":72678020000,"SupportsTranscoding":true,"SupportsDirectStream":false,"SupportsDirectPlay":false,"IsInfiniteStream":false,"RequiresOpening":false,"RequiresClosing":false,"RequiresLooping":false,"SupportsProbing":false,"MediaStreams":[{"Codec":"hevc","ColorTransfer":"bt709","ColorPrimaries":"bt709","ColorSpace":"bt709","TimeBase":"1/1000","VideoRange":"SDR","DisplayTitle":"1080p HEVC","IsInterlaced":false,"BitRate":7022526,"BitDepth":10,"RefFrames":1,"IsDefault":true,"IsForced":false,"IsHearingImpaired":false,"Height":804,"Width":1920,"AverageFrameRate":23.976025,"RealFrameRate":23.976025,"Profile":"Main 10","Type":"Video","AspectRatio":"160:67","Index":0,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Protocol":"File","PixelFormat":"yuv420p10le","Level":123,"IsAnamorphic":false,"ExtendedVideoType":"None","ExtendedVideoSubType":"None","ExtendedVideoSubTypeDescription":"None","AttachmentSize":0},{"Codec":"ac3","Language":"kor","TimeBase":"1/1000","Title":"韩语","DisplayTitle":"Korean AC3 5.1 (默认)","DisplayLanguage":"Korean","IsInterlaced":false,"ChannelLayout":"5.1","BitRate":640000,"Channels":6,"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":"PGSSUB","Language":"eng","TimeBase":"1/1000","Title":"英文","DisplayTitle":"English (默认 PGSSUB)","DisplayLanguage":"English","IsInterlaced":fa 2024/06/29 14:15:31 [warn] 23#23: *21 js: === transferPlaybackInfo: /emby/Items/35158/PlaybackInfo, the NJS VM is destroyed === 2024/06/29 14:15:31 [warn] 23#23: *38 js: origin playbackinfo: {"MediaSources":[{"Protocol":"File","Id":"e2a1fb59a62c855b305025fe3cfc793a","Path":"/volume1/YanTaocheng/CloudNAS/CloudDrive/115/Media/电影/外语电影/犯罪都市 (2017)/犯罪都市 (2017) - 1080p - BluRay.mkv","Type":"Default","Container":"mkv","Size":6379791230,"Name":"1080p - BluRay","IsRemote":false,"HasMixedProtocols":false,"RunTimeTicks":72678020000,"SupportsTranscoding":true,"SupportsDirectStream":false,"SupportsDirectPlay":false,"IsInfiniteStream":false,"RequiresOpening":false,"RequiresClosing":false,"RequiresLooping":false,"SupportsProbing":false,"MediaStreams":[{"Codec":"hevc","ColorTransfer":"bt709","ColorPrimaries":"bt709","ColorSpace":"bt709","TimeBase":"1/1000","VideoRange":"SDR","DisplayTitle":"1080p HEVC","IsInterlaced":false,"BitRate":7022526,"BitDepth":10,"RefFrames":1,"IsDefault":true,"IsForced":false,"IsHearingImpaired":false,"Height":804,"Width":1920,"AverageFrameRate":23.976025,"RealFrameRate":23.976025,"Profile":"Main 10","Type":"Video","AspectRatio":"160:67","Index":0,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Protocol":"File","PixelFormat":"yuv420p10le","Level":123,"IsAnamorphic":false,"ExtendedVideoType":"None","ExtendedVideoSubType":"None","ExtendedVideoSubTypeDescription":"None","AttachmentSize":0},{"Codec":"ac3","Language":"kor","TimeBase":"1/1000","Title":"韩语","DisplayTitle":"Korean AC3 5.1 (默认)","DisplayLanguage":"Korean","IsInterlaced":false,"ChannelLayout":"5.1","BitRate":640000,"Channels":6,"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":"PGSSUB","Language":"eng","TimeBase":"1/1000","Title":"英文","DisplayTitle":"English (默认 PGSSUB)","DisplayLanguage":"English","IsInterlaced":false,"IsD 2024/06/29 14:15:31 [warn] 23#23: *38 js: modify direct play supports all true

chen3861229 commented 3 months ago

1.因为之前把直链的优先级定得很高是默认行为,现在越来越多的 issus 关注播放成功率,而不是倾向于直链成功率,所以逐步在优化为开启了允许转码参数的时候,脚本中不去干预客户端自身上报为要转码的行为了

2.你提到的是我刚改的上两次提交之前,之前的判断逻辑是 StartTimeTicks = "0" (开始播放的毫秒数) 也就是从头开始播放写死为直链了,这个判断逻辑是错误的,之前如果是继续播放的话切换码率也回不到转码了,而是强制为了直链,所以目前统一了正确的内置判断逻辑,只根据选择的码率大小是否 > 原始媒体的码率大小,来走直链,这一过程只限于客户端手动切换码率的情况下,没选择点击播放的情况(从头播放/继续播放),这个情况严格遵循 emby 客户端自己的上报行为

3.你的这种情况,可以手动选择最大码率来切换回直链,客户端的默认行为后续这边再开启了允许转码参数的时候不会在进行干预了

这里留了个档 https://github.com/bpking1/embyExternalUrl/blob/main/emby2Alist/README.md#2024-06-29

YanTaocheng commented 3 months ago

你这边判断选择码率跟源码率的对比,就无法识别音频需要解码,视频不需要解码的情况 播放没有声音的问题,在视频不解码的情况下,还是没有解决 if ( (transcodeConfig.enableStrmTranscode || !isStrm) && parseInt(r.args.MaxStreamingBitrate) < source.Bitrate && source.SupportsTranscoding && source.TranscodingUrl ) { r.warn(client reported and server judgment to transcode, cover routeMode); source.XRouteMode = util.ROUTE_ENUM.transcode; // for debug modifyDirecPlaySupports(source, false); continue; }

chen3861229 commented 3 months ago

1.初始播放是否走转码不是脚本中进行判断的,已经没有干预了,是 emby 客户端自己上报媒体的兼容情况,最终由 emby 服务端返回判断结果的

2.提到的那段代码仅仅只是客户端手动切换码率这一种情况下的脚本给了一个切换回直链的兼容,关于解析客户端上报报文情况的不太现实,之前看过,参数太复杂了,而且没有文档说明

YanTaocheng commented 3 months ago

我把 parseInt(r.args.MaxStreamingBitrate) < source.Bitrate 这段码率对比去掉,能满足我这边的需求了 浏览器播放,只有音频走转码 音频不需要转码的,就走直链了,我用户设置那边吧视频转码关了,机器性能不够 image

chen3861229 commented 3 months ago

嗯,也行,看来 2 的这个优化判断条件需要进一步精确下,明天我找下文件测试下

YnSen commented 2 months ago

1.截图注意隐私信息,已打码

2.不要用浏览器播放高规格视频,很多媒体格式是不支持的,例如当前是高规格音频不支持(EAC 和 杜比之类的均不支持,印象中只支持 mp3 和 flac),所以原服务是走转码来解决的,有两个解决方案

2.1 使用对应平台的客户端播放

2.2 脚本配置允许转码 https://github.com/bpking1/embyExternalUrl/blob/main/FAQ.md#8%E5%85%81%E8%AE%B8%E8%BD%AC%E7%A0%81%E5%8A%9F%E8%83%BD%E4%BD%86%E4%B8%8D%E9%9C%80%E8%A6%81%E5%88%86%E7%A6%BB%E8%BD%AC%E7%A0%81%E8%B4%9F%E8%BD%BD%E8%AF%A5%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE

请问大佬,是不是开启转码后就无法走直链了?我没开之前可以走直链但EAC3格式的没有声音,开启之后倒是音频转码了,但是走的是服务器中转的流量,没走到直链。 warn日志: 2024/07/24 02:50:28 [warn] 25#25: 6 js: modify direct play supports all true 2024/07/24 02:50:28 [info] 25#25: 6 js: getRouteMode proxyRules: [] 2024/07/24 02:50:28 [warn] 25#25: 6 js: playbackinfo routeMode: redirect 2024/07/24 02:50:28 [warn] 25#25: 6 js: client reported and server judgment to transcode, cover routeMode 2024/07/24 02:50:28 [warn] 25#25: *6 js: modify direct play supports all false, and add useProxyKey

chen3861229 commented 2 months ago

这个是正常现象,转码是依赖服务端进行的,和直链是互斥的,所以建议最好还是用对应平台的客户端比较好,客户端换解码能力强的,免去给服务端增加压力了,直接走直链的话

YnSen commented 2 months ago

这个是正常现象,转码是依赖服务端进行的,和直链是互斥的,所以建议最好还是用对应平台的客户端比较好,客户端换解码能力强的,免去给服务端增加压力了,直接走直链的话

好的我懂了,感谢大佬回复