Jump to content

Roku in progress recording playback.


aaronvt
Go to solution Solved by aaronvt,

Recommended Posts

I've been trying to play back "in progress" recordings   it works great if I use the web app or the android app or anything, but if I use the Roku app I have wierd results:

 

I am transcoding the files at the time of recording, raw recording always ends up not playing.

if I record with ubuntu  I am unable to play the file until the recording is done (continuous rotating circle)

if I record with windows I can play the file and seek etc  but only for some random amount of time depending when I start during the recording.... its usually like 3 minutes or 11 minutes.....   and regardless if I stop and restart the file it doesnt update the length like the other apps do.  

 

Is this a know issue, and 1) is there currently a fix, or 2)  is it planned   

 

I know the Roku app is now closed source or I would try and troubleshoot it myself, but I would be more than willing to try out beta version and see how they perform (i currently have win 10, win 7, ubuntu and raspberry pi systems running in my house to play with).

 

Any suggestions?

 

Aaron

Link to comment
Share on other sites

Windows server, with Roku Player :

I dont know if this helps any, I use nextPVR to do the recordings, so I have the plugin, but I also have an Emby library view of the nextPVR recordings.

If I watch a recording from the library view that is in progress, I can watch all of it until it catches up (with all the FF of the ads etc), then I just have to stop, and restart and it picks up where I stopped it.

If I do the same on the nextPVR plugin view, I don't get the option to continue, I have to restart from the beginning once caught up.

Needless to say, the library view is what I use for in progress recordings.

Link to comment
Share on other sites

If I watch a recording from the library view that is in progress, I can watch all of it until it catches up (with all the FF of the ads etc), then I just have to stop, and restart and it picks up where I stopped it.

 

Well this isn't supported unless it's being done with the built-in DVR, sorry.

Link to comment
Share on other sites

Hi Luke, I was not complaining at all - it is a bonus I was not aware of over using the plugin.  I have just not had any success in using the built in stuff with my old HDHomeRun Dual's.    

Link to comment
Share on other sites

hi @@aaronvt, can we look at an example? can you attach the server and ffmpeg logs belonging to an example. you can learn how to do that here:

 

https://emby.media/community/index.php?/topic/739-how-to-report-a-problem/

 

Thanks !

Luke, sorry for the delay, but here are the log files, it is on an ubuntu 16.04.03 LTS server recording to a Raid-5 mdadm array (though that shouldnt matter). 

its at the very end of the log 

 it just gives me a continuous rotating ring  until the recording is done when trying to play back on the Roku (i've duplicated this using different servers as well). 

 

like vaise said if I record from one server  to the disk and play from the library it will play up until the current timestamp at the time the playback started, but I cant seek like he can.

 

 

Thanks for the help.

 

Aaron

server-63642672000.txt

record-transcode-60172810-cdd1-410e-863e-f76c3b7ce239.txt

Edited by aaronvt
Link to comment
Share on other sites

Is there also a transcode log from Roku playback?

shouldn't be one since I'm transcoding when I record it would be direct play.  but I tried both with and without transcoding and the same thing happens.

 

looks like this is the error when I try and play the recording:

 

 

2017-10-04 16:41:58.076 Error HttpServer: Error in HttpListenerResponseWrapper: The socket has been shut down

*** Error Report ***
Version: 3.2.33.0
Command line: /usr/lib/emby-server/bin/MediaBrowser.Server.Mono.exe -programdata /var/lib/emby-server -restartpath /usr/lib/emby-server/restart.sh
Operating system: Unix 4.10.0.35
64-Bit OS: True
64-Bit Process: True
User Interactive: False
Mono: 4.8.1 (Stable 4.8.1.0/22a39d7 Tue May  2 22:26:20 UTC 2017)
Processor count: 4
Program data path: /var/lib/emby-server
Application directory: /usr/lib/emby-server/bin
System.Net.Sockets.SocketException (0x80004005): The socket has been shut down
  at System.Net.Sockets.Socket.Send (System.Byte[] buffer, System.Int32 offset, System.Int32 size, System.Net.Sockets.SocketFlags socketFlags) [0x00030] in <5641e4edad4f4464ba58c620a7b8ea48>:0 
  at SocketHttpListener.SocketStream.Write (System.Byte[] buffer, System.Int32 offset, System.Int32 count) [0x00000] in <e374df6e34da42139efaf3e1d1400d67>:0 
  at SocketHttpListener.Net.HttpResponseStream.InternalWrite (System.Byte[] buffer, System.Int32 offset, System.Int32 count) [0x00029] in <e374df6e34da42139efaf3e1d1400d67>:0 
  at SocketHttpListener.Net.HttpResponseStream.DisposeCore () [0x000a0] in <e374df6e34da42139efaf3e1d1400d67>:0 
  at SocketHttpListener.Net.HttpResponseStream.Dispose (System.Boolean disposing) [0x0001d] in <e374df6e34da42139efaf3e1d1400d67>:0 
  at System.IO.Stream.Close () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
  at System.IO.Stream.Dispose () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
  at (wrapper remoting-invoke-with-check) System.IO.Stream:Dispose ()
  at Emby.Server.Implementations.HttpServer.SocketSharp.WebSocketSharpResponse.CloseOutputStream (SocketHttpListener.Net.HttpListenerResponse response) [0x0000d] in <e6073f6362c94f3fb1c36e4603f53418>:0 
System.Net.Sockets.SocketException
  at System.Net.Sockets.Socket.Send (System.Byte[] buffer, System.Int32 offset, System.Int32 size, System.Net.Sockets.SocketFlags socketFlags) [0x00030] in <5641e4edad4f4464ba58c620a7b8ea48>:0 
  at SocketHttpListener.SocketStream.Write (System.Byte[] buffer, System.Int32 offset, System.Int32 count) [0x00000] in <e374df6e34da42139efaf3e1d1400d67>:0 
  at SocketHttpListener.Net.HttpResponseStream.InternalWrite (System.Byte[] buffer, System.Int32 offset, System.Int32 count) [0x00029] in <e374df6e34da42139efaf3e1d1400d67>:0 
  at SocketHttpListener.Net.HttpResponseStream.DisposeCore () [0x000a0] in <e374df6e34da42139efaf3e1d1400d67>:0 
  at SocketHttpListener.Net.HttpResponseStream.Dispose (System.Boolean disposing) [0x0001d] in <e374df6e34da42139efaf3e1d1400d67>:0 
  at System.IO.Stream.Close () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
  at System.IO.Stream.Dispose () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
  at (wrapper remoting-invoke-with-check) System.IO.Stream:Dispose ()
  at Emby.Server.Implementations.HttpServer.SocketSharp.WebSocketSharpResponse.CloseOutputStream (SocketHttpListener.Net.HttpListenerResponse response) [0x0000d] in <e6073f6362c94f3fb1c36e4603f53418>:0 
 
Edited by aaronvt
Link to comment
Share on other sites

No, that's not true. The in-progress recording will need transcoding, and yes that means an extra transcode on top of the real-time conversion.

 

Well, I'll rephrase. It might not be a full transcode but ffmpeg will still be involved to re-package it with a container swap. If this is not happening then that would explain your issue. Are you on the beta version of the app or the release version?

Link to comment
Share on other sites

Ok, we've actually just submitted a new release to the store. Let's re-evaluate once that is released. Thanks.

Luke, just updates to Roku app 3.0.50.

 

@@ebr Still the same behavior, when trying to play a current recording it just displays a spinning circle indefinitely.... and throws the following error into the log.

2017-10-11 06:47:15.978 Error HttpServer: Error processing request
	*** Error Report ***
	Version: 3.2.33.0
	Command line: /usr/lib/emby-server/bin/MediaBrowser.Server.Mono.exe -programdata /var/lib/emby-server -restartpath /usr/lib/emby-server/restart.sh
	Operating system: Unix 4.4.0.96
	64-Bit OS: True
	64-Bit Process: True
	User Interactive: False
	Mono: 4.8.1 (Stable 4.8.1.0/22a39d7 Tue May  2 22:26:20 UTC 2017)
	Processor count: 8
	Program data path: /var/lib/emby-server
	Application directory: /usr/lib/emby-server/bin
	System.ArgumentNullException: Value cannot be null.
	Parameter name: result
	  at Emby.Server.Implementations.HttpServer.HttpResultFactory.GetOptimizedResultInternal[T] (MediaBrowser.Model.Services.IRequest requestContext, T result, System.Boolean addCachePrevention, System.Collections.Generic.IDictionary`2[TKey,TValue] responseHeaders) [0x0000b] in <e6073f6362c94f3fb1c36e4603f53418>:0 
	  at Emby.Server.Implementations.HttpServer.HttpResultFactory.GetOptimizedResult[T] (MediaBrowser.Model.Services.IRequest requestContext, T result, System.Collections.Generic.IDictionary`2[TKey,TValue] responseHeaders) [0x00000] in <e6073f6362c94f3fb1c36e4603f53418>:0 
	  at MediaBrowser.Api.BaseApiService.ToOptimizedResult[T] (T result) [0x0000c] in <a976b78136c648b49f2291c1f9a9ef40>:0 
	  at MediaBrowser.Api.BaseApiService.ToOptimizedSerializedResultUsingCache[T] (T result) [0x00000] in <a976b78136c648b49f2291c1f9a9ef40>:0 
	  at MediaBrowser.Api.LiveTv.LiveTvService+<Get>c__asyncF.MoveNext () [0x00112] in <a976b78136c648b49f2291c1f9a9ef40>:0 
	--- End of stack trace from previous location where exception was thrown ---
	  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at Emby.Server.Implementations.Services.ServiceExecGeneral+<Execute>c__async0.MoveNext () [0x0015f] in <e6073f6362c94f3fb1c36e4603f53418>:0 
	--- End of stack trace from previous location where exception was thrown ---
	  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at Emby.Server.Implementations.Services.ServiceHandler+<ProcessRequestAsync>c__async1.MoveNext () [0x0016b] in <e6073f6362c94f3fb1c36e4603f53418>:0 
	--- End of stack trace from previous location where exception was thrown ---
	  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at Emby.Server.Implementations.HttpServer.HttpListenerHost+<RequestHandler>c__async0.MoveNext () [0x00756] in <e6073f6362c94f3fb1c36e4603f53418>:0 
	System.ArgumentNullException
	  at Emby.Server.Implementations.HttpServer.HttpResultFactory.GetOptimizedResultInternal[T] (MediaBrowser.Model.Services.IRequest requestContext, T result, System.Boolean addCachePrevention, System.Collections.Generic.IDictionary`2[TKey,TValue] responseHeaders) [0x0000b] in <e6073f6362c94f3fb1c36e4603f53418>:0 
	  at Emby.Server.Implementations.HttpServer.HttpResultFactory.GetOptimizedResult[T] (MediaBrowser.Model.Services.IRequest requestContext, T result, System.Collections.Generic.IDictionary`2[TKey,TValue] responseHeaders) [0x00000] in <e6073f6362c94f3fb1c36e4603f53418>:0 
	  at MediaBrowser.Api.BaseApiService.ToOptimizedResult[T] (T result) [0x0000c] in <a976b78136c648b49f2291c1f9a9ef40>:0 
	  at MediaBrowser.Api.BaseApiService.ToOptimizedSerializedResultUsingCache[T] (T result) [0x00000] in <a976b78136c648b49f2291c1f9a9ef40>:0 
	  at MediaBrowser.Api.LiveTv.LiveTvService+<Get>c__asyncF.MoveNext () [0x00112] in <a976b78136c648b49f2291c1f9a9ef40>:0 
	--- End of stack trace from previous location where exception was thrown ---
	  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at Emby.Server.Implementations.Services.ServiceExecGeneral+<Execute>c__async0.MoveNext () [0x0015f] in <e6073f6362c94f3fb1c36e4603f53418>:0 
	--- End of stack trace from previous location where exception was thrown ---
	  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at Emby.Server.Implementations.Services.ServiceHandler+<ProcessRequestAsync>c__async1.MoveNext () [0x0016b] in <e6073f6362c94f3fb1c36e4603f53418>:0 
	--- End of stack trace from previous location where exception was thrown ---
	  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <dbb16e0bacdc4a0f87478e401bc29b6c>:0 
	  at Emby.Server.Implementations.HttpServer.HttpListenerHost+<RequestHandler>c__async0.MoveNext () [0x00756] in <e6073f6362c94f3fb1c36e4603f53418>:0  

Thanks

Aaron

server.txt

record-transcode.txt

Edited by Luke
Link to comment
Share on other sites

  • 4 weeks later...

Can you update to the latest version of Emby Server?

 

If the issue persists, please disable the recording conversion feature and then see how that compares. Thanks !

Link to comment
Share on other sites

  • Solution

Luke, 

 

seems to work fine now, a ffmpeg-directstream log is created and all look good so far, I'll let you know if I run into any issues.

 

Thanks!  you've made my wife very happy!

Aaron

  • Like 1
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...