daryelv 0 Posted November 2, 2019 Posted November 2, 2019 I have quite a few streams setup and they play fine when playing from a browser or Nvidia Shield (Emby App). But when trying to play the same streams on my phone or cast to a Chromecast (Chromecast Ultra) I get the following error. I've tested with the same stream (http://iptv.rent:8080/series/39eec0mdfu/n28sfdlgq7/46387.mp4) and verified that the stream is active from the NAS server terminal (wget http://iptv.rent:8080/series/39eec0mdfu/n28sfdlgq7/46387.mp4). 2019-11-02 10:48:17.701 Info App: RemoteClientBitrateLimit: 1000000, RemoteIp: 192.168.1.139, IsInLocalNetwork: True 2019-11-02 10:48:17.702 Info HttpServer: HTTP Response 200 to 192.168.1.139. Time: 7ms. http://192.168.1.161:8096/emby/Items/2616350/PlaybackInfo?UserId=4ef8b1f90fca440c885bcba9898a535e&StartTimeTicks=0&IsPlayback=true&AutoOpenLiveStream=true&AudioStreamIndex=1&MediaSourceId=f86cd2654570e49228c5b93f60949f8e&MaxStreamingBitrate=140000000 2019-11-02 10:48:18.003 Info HttpServer: HTTP GET http://192.168.1.161:8096/emby/Videos/2616350/stream.mp4?Static=true&mediaSourceId=f86cd2654570e49228c5b93f60949f8e&deviceId=1bd46a24b6ac6d46. User-Agent=mpv 0.29.0-837-ga85fa2d2de-dirty, Accept=*/*, Range=bytes=0-, Connection=close, Host=192.168.1.161:8096, Icy-MetaData=1 2019-11-02 10:48:18.007 Info App: [LinuxMount] Checking we can attempt to mount [http://iptv.rent:8080/series/39eec0mdfu/n28sfdlgq7/46387.mp4], Extension = [.mp4], Operating System = [Linux], Executables Available = [True]. 2019-11-02 10:48:18.007 Debug App: [LinuxMount] Operating System is [Linux]. 2019-11-02 10:48:18.007 Info App: [LinuxMount] Checking we can attempt to mount [http://iptv.rent:8080/series/39eec0mdfu/n28sfdlgq7/46387.mp4], Extension = [.mp4], Operating System = [Linux], Executables Available = [True]. 2019-11-02 10:48:18.007 Debug App: [LinuxMount] Executables are available, extension check will return [False]. 2019-11-02 10:48:18.007 Info HttpClient: GET http://iptv.rent:8080/series/39eec0mdfu/n28sfdlgq7/46387.mp4 2019-11-02 10:48:18.468 Error HttpServer: Error processing request *** Error Report *** Version: 4.2.1.0 Command line: /volume1/@appstore/EmbyServer/releases/4.2.1.0/EmbyServer.dll -package synology -programdata /var/packages/EmbyServer/target/var -ffmpeg /var/packages/EmbyServer/target/ffmpeg/bin/ffmpeg -ffprobe /var/packages/EmbyServer/target/ffmpeg/bin/ffprobe -ffdetect /var/packages/EmbyServer/target/ffmpeg/bin/ffdetect -restartexitcode 121 Operating system: Unix 4.4.59.0 64-Bit OS: True 64-Bit Process: True User Interactive: True Runtime: file:///volume1/@appstore/EmbyServer/3rdparty/netcore/2.2.1/runtime/System.Private.CoreLib.dll Processor count: 4 Program data path: /var/packages/EmbyServer/target/var Application directory: /volume1/@appstore/EmbyServer/releases/4.2.1.0 MediaBrowser.Model.Net.HttpException: MediaBrowser.Model.Net.HttpException: Unauthorized at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsyncInternal(HttpRequestOptions options, String httpMethod) at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsync(HttpRequestOptions options, String httpMethod) at Emby.Server.Implementations.HttpServer.HttpResultFactory.GetContent(StaticFileResultOptions options, Int64 offset, Int64 length, CancellationToken cancellationToken) at Emby.Server.Implementations.HttpServer.FileWriter.SetContentResponseHeaders(Nullable`1 reportedTotalContentLength, CancellationToken cancellationToken) at Emby.Server.Implementations.HttpServer.HttpResultFactory.GetStaticResult(IRequest requestContext, StaticResultOptions options) at Emby.Server.MediaEncoding.Api.Progressive.BaseProgressiveStreamingService.ProcessRequest(StreamRequest request, Boolean isHeadRequest) at Emby.Server.Implementations.Services.ServiceController.GetTaskResult(Task task) at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost appHost, IRequest httpReq, IResponse httpRes, RestPath restPath, String responseContentType, CancellationToken cancellationToken) at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, ReadOnlyMemory`1 urlString, ReadOnlyMemory`1 host, ReadOnlyMemory`1 localPath, CancellationToken cancellationToken) Source: Emby.Server.Implementations TargetSite: Void MoveNext() 2019-11-02 10:48:18.469 Info HttpServer: HTTP Response 500 to 192.168.1.139. Time: 465ms. http://192.168.1.161:8096/emby/Videos/2616350/stream.mp4?Static=true&mediaSourceId=f86cd2654570e49228c5b93f60949f8e&deviceId=1bd46a24b6ac6d46 I've tried with Transcoding On and Transcoding Off (rebooted the server after making changes) and still see the same error above. This is on a Synology DS718+ running Emby Server 4.2.1.0. -Daryel
Luke 42077 Posted November 2, 2019 Posted November 2, 2019 Your stream provider is returning an unauthorized error. We can't tell you why, you'll have to get that information from them. But it could be that: You've hit your stream limit with them Or they're rejecting it and you'll need to use our user agent configuration to disguise the way Emby Server presents itself to them
daryelv 0 Posted November 2, 2019 Author Posted November 2, 2019 Does the Server send the stream info directly to the client in some cases (Browser and Nvidia Shield) and in other cases pulls the content on the server to feed to the client (Android Client, Chromecast)? I'm guessing that's why it works on some devices and not others. There's no "user agent" that can set for the Streams, correct? These are <filename>.strm files that I have a Library setup for with the URL within the file. -Daryel
Luke 42077 Posted November 3, 2019 Posted November 3, 2019 @@daryelv, in most cases it will run through your Emby Server, but the browser will try to play direct when the media format is supported. I am surprised the Shield is playing direct though. That shouldn't happen. We'll look at that. Do you know why they're rejecting the request?
ebr 16169 Posted November 4, 2019 Posted November 4, 2019 Hi. Can you please play one of these on your Shield for just a few seconds and then send a log from the app? Thanks.
daryelv 0 Posted November 4, 2019 Author Posted November 4, 2019 Hi. Can you please play one of these on your Shield for just a few seconds and then send a log from the app? Thanks. Hi, I restarted my Emby Server and then connected from my Nvidia Shield. I enabled Debug on the Shield and played a few seconds of the video before using the "Send Logs" function. Looking at the Server logs, I see that playing the video on the Nvidia Shield is getting a 401 Unauthorized, but it progresses past that and plays the video. 2019-11-04 11:33:11.927 Info HttpServer: HTTP GET http://192.168.1.161:8096/emby/Videos/2616350/stream.mp4?DeviceId=45be7cbfcd2faa9e&MediaSourceId=f86cd2654570e49228c5b93f60949f8e&Static=true. User-Agent=Emby/1.7.54g (Linux;Android 9) ExoPlayerLib/2.10.2, Accept-Encoding=identity, Icy-MetaData=1, Host=192.168.1.161:8096, Connection=Keep-Alive 2019-11-04 11:33:11.930 Info App: [LinuxMount] Checking we can attempt to mount [http://iptv.rent:8080/series/39eec0mdfu/n28sfdlgq7/46387.mp4], Extension = [.mp4], Operating System = [Linux], Executables Available = [True]. 2019-11-04 11:33:11.930 Debug App: [LinuxMount] Operating System is [Linux]. 2019-11-04 11:33:11.930 Info App: [LinuxMount] Checking we can attempt to mount [http://iptv.rent:8080/series/39eec0mdfu/n28sfdlgq7/46387.mp4], Extension = [.mp4], Operating System = [Linux], Executables Available = [True]. 2019-11-04 11:33:11.930 Debug App: [LinuxMount] Executables are available, extension check will return [False]. 2019-11-04 11:33:11.930 Info HttpClient: GET http://iptv.rent:8080/series/39eec0mdfu/n28sfdlgq7/46387.mp4 2019-11-04 11:33:12.197 Error HttpServer: Error processing request *** Error Report *** Version: 4.2.1.0 Command line: /volume1/@appstore/EmbyServer/releases/4.2.1.0/EmbyServer.dll -package synology -programdata /var/packages/EmbyServer/target/var -ffmpeg /var/packages/EmbyServer/target/ffmpeg/bin/ffmpeg -ffprobe /var/packages/EmbyServer/target/ffmpeg/bin/ffprobe -ffdetect /var/packages/EmbyServer/target/ffmpeg/bin/ffdetect -restartexitcode 121 Operating system: Unix 4.4.59.0 64-Bit OS: True 64-Bit Process: True User Interactive: True Runtime: file:///volume1/@appstore/EmbyServer/3rdparty/netcore/2.2.1/runtime/System.Private.CoreLib.dll Processor count: 4 Program data path: /var/packages/EmbyServer/target/var Application directory: /volume1/@appstore/EmbyServer/releases/4.2.1.0 MediaBrowser.Model.Net.HttpException: MediaBrowser.Model.Net.HttpException: Unauthorized at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsyncInternal(HttpRequestOptions options, String httpMethod) at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsync(HttpRequestOptions options, String httpMethod) at Emby.Server.Implementations.HttpServer.HttpResultFactory.GetContent(StaticFileResultOptions options, Int64 offset, Int64 length, CancellationToken cancellationToken) at Emby.Server.Implementations.HttpServer.FileWriter.SetContentResponseHeaders(Nullable`1 reportedTotalContentLength, CancellationToken cancellationToken) at Emby.Server.Implementations.HttpServer.HttpResultFactory.GetStaticResult(IRequest requestContext, StaticResultOptions options) at Emby.Server.MediaEncoding.Api.Progressive.BaseProgressiveStreamingService.ProcessRequest(StreamRequest request, Boolean isHeadRequest) at Emby.Server.Implementations.Services.ServiceController.GetTaskResult(Task task) at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost appHost, IRequest httpReq, IResponse httpRes, RestPath restPath, String responseContentType, CancellationToken cancellationToken) at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, ReadOnlyMemory`1 urlString, ReadOnlyMemory`1 host, ReadOnlyMemory`1 localPath, CancellationToken cancellationToken) Source: Emby.Server.Implementations TargetSite: Void MoveNext() 2019-11-04 11:33:12.197 Info HttpServer: HTTP Response 500 to 192.168.1.216. Time: 271ms. http://192.168.1.161:8096/emby/Videos/2616350/stream.mp4?DeviceId=45be7cbfcd2faa9e&MediaSourceId=f86cd2654570e49228c5b93f60949f8e&Static=true 2019-11-04 11:33:12.370 Info HttpServer: HTTP POST http://192.168.1.161:8096/emby/Items/2616350/PlaybackInfo?format=json. UserAgent: Dalvik/2.1.0 (Linux; U; Android 9; SHIELD Android TV Build/PPR1.180610.011) 2019-11-04 11:33:12.372 Debug App: GetPostedPlaybackInfo request: {"Id":"2616350","UserId":"4ef8b1f90fca440c885bcba9898a535e","MaxStreamingBitrate":110000000,"StartTimeTicks":0,"AudioStreamIndex":1,"SubtitleStreamIndex":-1,"MaxAudioChannels":8,"MediaSourceId":"f86cd2654570e49228c5b93f60949f8e","DeviceProfile":{"Name":"Android-Exo","EnableAlbumArtInDidl":false,"EnableSingleAlbumArtLimit":false,"EnableSingleSubtitleLimit":false,"SupportedMediaTypes":"Audio,Photo,Video","MaxAlbumArtWidth":0,"MaxAlbumArtHeight":0,"MaxStreamingBitrate":110000000,"MaxStaticBitrate":110000000,"MusicStreamingTranscodingBitrate":128000,"TimelineOffsetSeconds":0,"RequiresPlainVideoItems":false,"RequiresPlainFolders":false,"IgnoreTranscodeByteRangeRequests":false,"XmlRootAttributes":[],"DirectPlayProfiles":[{"Container":"m4v,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,mp4,webm,m4a,fmp4,ogg,flv,flac","AudioCodec":"aac,aac_latm,mp3,mp2,pcm_s16le,pcm_s24le,pcm_s32le,opus,ac3","VideoCodec":"h264,hevc,vp8,vp9,mpeg,mpeg2video,vc1","Type":"Video"},{"Container":"aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape,opus,flac","Type":"Audio"},{"Container":"jpg,jpeg,png,gif","Type":"Photo"}],"TranscodingProfiles":[{"Container":"ts","Type":"Video","VideoCodec":"h264,mpeg2video,hevc,h265","AudioCodec":"ac3,aac,mp3","Protocol":"hls","EstimateContentLength":false,"EnableMpegtsM2TsMode":false,"TranscodeSeekInfo":"Auto","CopyTimestamps":true,"Context":"Streaming","MinSegments":2,"SegmentLength":0,"BreakOnNonKeyFrames":true,"ManifestSubtitles":"vtt"},{"Container":"mp3","Type":"Audio","AudioCodec":"mp3","EstimateContentLength":false,"EnableMpegtsM2TsMode":false,"TranscodeSeekInfo":"Auto","CopyTimestamps":false,"Context":"Streaming","MinSegments":0,"SegmentLength":0,"BreakOnNonKeyFrames":false}],"ContainerProfiles":[],"CodecProfiles":[{"Type":"Video","Conditions":[{"Condition":"EqualsAny","Property":"VideoProfile","Value":"high|main|baseline|constrained baseline","IsRequired":false},{"Condition":"LessThanEqual","Property":"VideoLevel","Value":"52","IsRequired":false}],"ApplyConditions":[],"Codec":"h264"},{"Type":"Video","Conditions":[{"Condition":"EqualsAny","Property":"VideoProfile","Value":"Main|Main 10","IsRequired":false}],"ApplyConditions":[],"Codec":"hevc"},{"Type":"VideoAudio","Conditions":[{"Condition":"LessThanEqual","Property":"AudioChannels","Value":"6","IsRequired":false}],"ApplyConditions":[],"Codec":"eac3"},{"Type":"VideoAudio","Conditions":[{"Condition":"LessThanEqual","Property":"AudioBitDepth","Value":"16","IsRequired":false}],"ApplyConditions":[],"Codec":"flac"},{"Type":"VideoAudio","Conditions":[{"Condition":"LessThanEqual","Property":"AudioChannels","Value":"8","IsRequired":false}],"ApplyConditions":[]}],"ResponseProfiles":[],"SubtitleProfiles":[{"Format":"srt","Method":"Embed"},{"Format":"srt","Method":"External"},{"Format":"subrip","Method":"Embed"},{"Format":"subrip","Method":"External"},{"Format":"ass","Method":"Embed"},{"Format":"ssa","Method":"Embed"},{"Format":"ass","Method":"External"},{"Format":"ssa","Method":"External"},{"Format":"pgs","Method":"Embed"},{"Format":"pgssub","Method":"Embed"},{"Format":"dvdsub","Method":"Encode"},{"Format":"dvbsub","Method":"Embed"},{"Format":"vobsub","Method":"Encode"},{"Format":"dvb_teletext","Method":"Embed"},{"Format":"dvb_teletext","Method":"External"},{"Format":"dvb_subtitle","Method":"Embed"},{"Format":"vtt","Method":"Hls"},{"Format":"vtt","Method":"External"},{"Format":"ttml","Method":"Embed"},{"Format":"ttml","Method":"External"},{"Format":"tx3g","Method":"Embed"},{"Format":"tx3g","Method":"External"},{"Format":"sub","Method":"Encode"},{"Format":"idx","Method":"Encode"}]},"EnableDirectPlay":false,"EnableDirectStream":false,"EnableTranscoding":true,"AllowVideoStreamCopy":true,"AllowAudioStreamCopy":true,"IsPlayback":true,"AutoOpenLiveStream":true,"DirectPlayProtocols":["Http"]} 2019-11-04 11:33:12.376 Info App: User policy for Daryel. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True 2019-11-04 11:33:12.376 Info App: RemoteClientBitrateLimit: 1000000, RemoteIp: 192.168.1.216, IsInLocalNetwork: True 2019-11-04 11:33:12.524 Info App: RemoteClientBitrateLimit: 1000000, RemoteIp: 192.168.1.216, IsInLocalNetwork: True 2019-11-04 11:33:12.524 Info HttpServer: HTTP Response 200 to 192.168.1.216. Time: 154ms. http://192.168.1.161:8096/emby/Items/2616350/PlaybackInfo?format=json 2019-11-04 11:33:12.574 Info HttpServer: HTTP POST http://192.168.1.161:8096/emby/Sessions/Playing. UserAgent: Dalvik/2.1.0 (Linux; U; Android 9; SHIELD Android TV Build/PPR1.180610.011) 2019-11-04 11:33:12.575 Info SessionManager: Playback start reported by app AndroidTv 1.7.54g playing NCIS S10 NCIS S10E14.mkv. Started at 0 ms 2019-11-04 11:33:12.576 Info HttpServer: HTTP Response 204 to 192.168.1.216. Time: 2ms. http://192.168.1.161:8096/emby/Sessions/Playing -Daryel
ebr 16169 Posted November 4, 2019 Posted November 4, 2019 Okay, so the app attempts to statically stream it through the server but receives the same error the other apps do (unauthorized) then falls back to transcoding which, I guess works.
daryelv 0 Posted November 4, 2019 Author Posted November 4, 2019 Okay, so the app attempts to statically stream it through the server but receives the same error the other apps do (unauthorized) then falls back to transcoding which, I guess works. The snippet from the log above is from the Server. The Client Logs upload went somewhere I don't know, it was a Tile within the Android TV app. The server gets the Unauthorized error when attempting to play the contents of the .strm file and then passes the URL directly to Nvidia Shield which is then playing the video directly using a different User Agent. 2019-11-04 11:33:12.574 Info HttpServer: HTTP POST http://192.168.1.161:8096/emby/Sessions/Playing. UserAgent: Dalvik/2.1.0 (Linux; U; Android 9; SHIELD Android TV Build/PPR1.180610.011) 2019-11-04 11:33:12.575 Info SessionManager: Playback start reported by app AndroidTv 1.7.54g playing NCIS S10 NCIS S10E14.mkv. Started at 0 ms -Daryel
Luke 42077 Posted November 6, 2019 Posted November 6, 2019 Can you please attach the complete emby server and ffmpeg log files from an example? thanks.
daryelv 0 Posted November 10, 2019 Author Posted November 10, 2019 Can you please attach the complete emby server and ffmpeg log files from an example? thanks. I ended up setting up a Proxy Server on my NAS and routing the traffic through it. Things have been solid the past 3 days. -Daryel
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now