Vaughn 1 Posted 13 hours ago Posted 13 hours ago I’m seeing a very similar issue with Roku SG 4.1.70 on a local wired connection. Playback hangs at 13% for about two minutes, then plays normally. Pause/resume works, but completely stopping and starting playback triggers the delay again. The server dashboard shows MKV at 11 Mbps, 1080p H.264 video and EAC3 5.1 audio, all Direct Play. The dashboard timer advances during the Roku’s loading screen; when video finally appears, the dashboard returns to the starting position. PC, tablet and remote users have no issues. I have tried a Roku restart, unplugging the Roku, reinstalling Emby, changing playback quality and rebooting the router, without improvement.
Luke 43352 Posted 12 hours ago Posted 12 hours ago @Vaughn Hi there, let's look at an example. Please attach the information requested in how to report a media playback issue. Thanks!
Vaughn 1 Posted 12 hours ago Author Posted 12 hours ago I will build a log, etc., and send it off tomorrow however I’m going to bed but I’ve done some testing tonight and I would like to send you the information that I have found so farFurther testing tonight: • The affected Roku is model 4630X, running Emby 4.1.70. • An affected MKV shows approximately 11.49 Mbps, 1080p H.264 video and EAC3 5.1 audio. The stream, video and audio all show Direct Play before selecting playback correction. • Once playback finally starts, it runs normally. Pausing/resuming works, but completely stopping and starting again repeats the long startup delay. • After playback had started, I selected “Attempt playback correction.” It switched immediately from MKV to HLS without another loading delay. The video and audio still showed Direct Play, so neither was being re-encoded. • The “Recovering from playback error” message appeared only after I manually selected playback correction. Please do not interpret that screenshot as evidence of automatic error recovery during the initial delay. • Starting the title again returned it to MKV Direct Play; the HLS playback method did not carry over. • I cannot access playback correction while the initial loading spinner is displayed, so I have not been able to test whether starting with HLS would avoid the delay. • A different MP4 started almost immediately, with only a small delay. It was also 1080p H.264, but approximately 3.86 Mbps with AAC stereo audio, all Direct Play. This was not the same content remuxed, so container, bitrate and audio format all differed. • In general, shorter/lower-quality titles start faster, while longer, higher-quality HD titles take much longer. • This setup previously worked normally. I noticed the problem around the time the Roku Emby app updated a couple of days ago, although I do not know which component caused it. Other local clients and remote users remain unaffected. • I have not yet tested a remuxed copy of an affected MKV. Could you advise which Roku/server logs you need to identify what is happening during the initial Direct Play loading delay, and whether there is a supported way to test HLS/remux delivery from the beginning of a fresh playback session?
Vaughn 1 Posted 12 hours ago Author Posted 12 hours ago One additional comparison: casting from the Emby app on my iPad to my smart TV worked perfectly and playback began immediately, bypassing the Roku. This further isolates the problem to the Roku playback path. I have not verified whether the TV used the same playback method or codecs.
ebr 16928 Posted 3 hours ago Posted 3 hours ago Hi. Your situation definitely sounds like a header or metadata issue in the file. It sounds like the Roku is having to read in the entire file to get to the information it needs to start playback. Can you try running one of these problem files through MKVToolNix to see if it fixes it?
Vaughn 1 Posted 3 hours ago Author Posted 3 hours ago I will try that. However, these files and this setup has been in place for a long time and this is never happened. Why would this suddenly be happening that it can’t read the header or that there’s a problem with a MKV files?
pwhodges 2111 Posted 2 hours ago Posted 2 hours ago Roku updates can break things, as well as Emby... Paul
speechles 2123 Posted 2 hours ago Posted 2 hours ago (edited) Are you using the Playback Reporting plugin? You also have errors in your log regarding access to some websites were 500. Quote 2026-10-16 22:26:49.091 Info VideoService-0HNPBMMSSFL29:00000001: http/1.1 Response 206 to host9. Time: 69ms. GET http://192.168.50.191:8096/emby/videos/88889/original.mkv?DeviceId=326aa925-fcf1-53d4-b4b0-629dc4fcd571&MediaSourceId=mediasource_88889&PlaySessionId=f570b5a0c870412a99f1a6db9fb24a4f&api_key=x_secret4_x. Headers: Content-Type=video/x-matroska, Date=Sat, 17 Oct 2026 04:26:48 GMT, Server=UPnP/1.0 DLNADOC/1.50, Accept-Ranges=bytes, Cache-Control=private, no-transform, Content-Range=bytes 2919443052-2920302496/2920302497, ETag="093e7b577a998e6882397338bafcb0ee", Content-Length=859445, Cross-Origin-Resource-Policy=cross-origin, Private-Network-Access-Name=VBSERVER, Private-Network-Access-Id=bb04e70c5fb04fe19f9924c8bf0c13d9 2026-10-16 22:26:58.445 Error PortMapper: Error creating port map *** Error Report *** Version: 4.10.1.0 Command line: C:\Users\vbeng\AppData\Roaming\Emby-Server\system\EmbyServer.dll Operating system: Microsoft Windows 10.0.26300 OS/Process: x64/x64 Framework: .NET 8.0.31 Runtime: C:/Users/vbeng/AppData/Roaming/Emby-Server/system/System.Private.CoreLib.dll Processor count: 24 Data path: C:\Users\vbeng\AppData\Roaming\Emby-Server\programdata Application path: C:\Users\vbeng\AppData\Roaming\Emby-Server\system MediaBrowser.Model.Net.HttpException: MediaBrowser.Model.Net.HttpException: No connection could be made because the target machine actively refused it. (192.168.50.1:40517) ---> System.Net.Http.HttpRequestException: No connection could be made because the target machine actively refused it. (192.168.50.1:40517) ---> System.Net.Sockets.SocketException (10061): No connection could be made because the target machine actively refused it. at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken) at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token) at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|285_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken) --- End of inner exception stack trace --- at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem) at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken) at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsyncInternal(HttpRequestOptions options, String httpMethod) --- End of inner exception stack trace --- at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsyncInternal(HttpRequestOptions options, String httpMethod) at Emby.Server.Implementations.HttpClientManager.BaseHttpClientManager.SendAsync(HttpRequestOptions options, String httpMethod) at Mono.Nat.Upnp.UpnpNatDevice.CreatePortMapInternal(Mapping mapping, CancellationToken cancellationToken) at Mono.Nat.Upnp.UpnpNatDevice.CreatePortMap(Mapping mapping, CancellationToken cancellationToken) at Emby.PortMapper.ExternalPortForwarding.CreateRules(INatDevice device, CancellationToken cancellationToken) Source: Emby.Server.Implementations TargetSite: Void MoveNext() InnerException: System.Net.Http.HttpRequestException: No connection could be made because the target machine actively refused it. (192.168.50.1:40517) Source: System.Net.Http TargetSite: Void MoveNext() at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem) at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken) at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsyncInternal(HttpRequestOptions options, String httpMethod) InnerException: System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it. Source: System.Net.Sockets TargetSite: Void ThrowException(System.Net.Sockets.SocketError, System.Threading.CancellationToken) at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken) at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token) at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|285_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken) 2026-10-16 22:27:49.065 Info SessionManager: PlaySession f570b5a0c870412a99f1a6db9fb24a4f has gone idle while playing 2026-10-16 22:27:49.065 Info SessionManager: Playback stopped reported by app Roku SG 4.1.70 on Roku Front Room playing Shrinking - S3, Ep10 - The Bodyguard of Sadness. Position: 856000 ms. PlaySessionId: f570b5a0c870412a99f1a6db9fb24a4f. IsPaused: False 2026-10-16 22:27:49.066 Info SessionManager: Removed playSession f570b5a0c870412a99f1a6db9fb24a4f from session 9b977f8d2822d8e81d1fa2e10a178db9 2026-10-16 22:27:49.066 Info PlaybackReporting - EventMonitorEntryPoint: _sessionManager_PlaybackStop : Entered 2026-10-16 22:27:49.066 Info PlaybackReporting - EventMonitorEntryPoint: Saving final duration for Item : 326aa925-fcf1-53d4-b4b0-629dc4fcd571|f76428e94dd544559509aa1ceb566fa4|88889|DirectStream 2026-10-16 22:27:49.084 Info PlaybackReporting - EventMonitorEntryPoint: Removing Old Key from playback_trackers : 326aa925-fcf1-53d4-b4b0-629dc4fcd571|f76428e94dd544559509aa1ceb566fa4|88889|DirectStream There is also this where your server actively rejected sending a reply to the Roku. For whatever reason. If you uninstall the playback reporting plugin does the problem persist? Maybe it is related to the plugin. Also, were any ffmpeg logs created in the transcode directory? Those would help explain why it is taking so long if any were created. The part where you say "it takes 2 minutes before the playback begins" sounds like the drive itself might be nearing end of life. Can you run CrystalDiskInfo and check that drive? CrystalDiskInfo is an app to check the SmartData and health status of that drive. It will notice critical issues before you might suspect them. If that is what is happening using the drive more can compromise data. You want to remove that drive from operation and only connect it again to copy data from it. That is if it is compromised and CrystalDiskInfo will show if it is still good or not. You can share the CystalDiskInfo to show its good then a few ffmpeg logs and we should be able to see what is causing the slowdown. Thanks. Edited 1 hour ago by speechles
Vaughn 1 Posted 45 minutes ago Author Posted 45 minutes ago I am using plaback reporting. I uninstalled it and restarted the server. No Change. Leaving it unistalled for now. As to my disks, I guarantee they are fine. As I reported the same file plays fine and fast on all other devices, IOS, Android, Fireticks etc. Its only the ROKU where this happens. If there was a disk issue it would happen on all devices. Theses same files played fine three days ago. I am not 100% sure but believe its since the last Emby app update on Roku . It direct plays and does not create file but found one from last nights tries but when I playe d it this morning no ffmpeg logs were created see attached, ffmpeg-directstream-5eac141e-bbc3-49ed-b4a6-96b3e59a5322_1.txt
Neminem 1951 Posted 37 minutes ago Posted 37 minutes ago Hmm this file has 41 subtitle embedded. Try removing the 1's you don't need.
Vaughn 1 Posted 28 minutes ago Author Posted 28 minutes ago I ran Crystal Disks just to be safe and all is good on my 2 drives CrystalDiskInfo_20261017102952.txt
Vaughn 1 Posted 11 minutes ago Author Posted 11 minutes ago 12 minutes ago, Neminem said: Hmm this file has 41 subtitle embedded. Try removing the 1's you don't need. Hey Neminem! Thanks, this is the first sign of light. I removed all subtitles and it played normally. Now........ Why did this become an issue suddnely? A subtitle add in? I do not want to remux my llibrary. Ideas?
Vaughn 1 Posted 3 minutes ago Author Posted 3 minutes ago I still lean towards the rrecent Ronku Emby app update as the reason this is happening. Something withthe handling of subtitles has had a bug introduced as all other device play fine..
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