Jump to content

Very Slow loading channel (NEXTPVR)


crazybbs

Recommended Posts

crazybbs

hi,

 

I recently moved from serverWMC because I would like to go windows 10 at launch

 

I installed and configured nextpvr + plugin and it works but it takes 30 sec+ to load a channel

 

I found in the logs attached 2 problems

 

First  with ffprobe command line in Server log taking about 23 seconds to complete

2015-06-03 16:12:18.0031 Info - App: Opening channel stream from Next Pvr, external channel Id: 7740
2015-06-03 16:12:18.0031 Info - App: [NextPvr] Start ChannelStream
2015-06-03 16:12:18.0031 Info - App: [NextPvr] Streaming http://localhost:8866/live?channeloid=7740&client=MB3.10
2015-06-03 16:12:18.0031 Info - App: Live stream info: {"Protocol":"Http","Id":"10","Path":"http://localhost:8866/live?channeloid=7740&client=MB3.10","Type":"Default","ReadAtNativeFramerate":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":true,"RequiresOpening":false,"RequiresClosing":true,"LiveStreamId":"31137e308f44193358c2d4f40ee6b39e_10","MediaStreams":[{"IsInterlaced":false,"IsDefault":false,"IsForced":false,"Type":"Video","Index":-1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false},{"IsInterlaced":false,"IsDefault":false,"IsForced":false,"Type":"Audio","Index":-1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false}],"PlayableStreamFileNames":[],"Formats":[],"RequiredHttpHeaders":{}}
2015-06-03 16:12:18.0031 Debug - MediaEncoder: C:\Users\Main\AppData\Roaming\MediaBrowser-Server\ffmpeg\20150331\ffprobe.exe -i "http://localhost:8866/live?channeloid=7740&client=MB3.10" -threads 0 -v info -print_format json -show_streams -show_format
2015-06-03 16:12:33.5906 Debug - HttpServer: HTTP GET http://192.168.51.3:8096/dlna/aa429399ce76488a21a26cba9498f072/description.xml
    Ip: 192.168.51.180:60494. Headers: Host=192.168.51.3:8096,Date=Wed, 03 Jun 2015 20:13:45 GMT,User-Agent=UPnP/1.0,X-AV-Client-Info=av=5.0; cn="Sony Computer Entertainment Inc."; mn="PLAYSTATION 3"; mv="1.0";
2015-06-03 16:12:33.6172 Debug - Dlna: Found matching device profile: Sony PlayStation 3
2015-06-03 16:12:33.6172 Debug - HttpServer: HTTP Response 200 to 192.168.51.180. Response time: 27,0766 ms.
    Url: http://192.168.51.3:8096/dlna/aa429399ce76488a21a26cba9498f072/description.xml
2015-06-03 16:12:33.6172 Debug - HttpServer: Exiting HttpConnection.OnReadInternal because nread=0. ConnectionId: f4f99c5a3b0e4cd3ac48838b8339d970
2015-06-03 16:12:41.6051 Debug - MediaSourceManager: Live stream opened: {"Protocol":"Http","Id":"10","Path":"http://localhost:8866/live?channeloid=7740&client=MB3.10","Type":"Default","Container":"mpegts","ReadAtNativeFramerate":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":true,"RequiresOpening":false,"RequiresClosing":true,"LiveStreamId":"1a755974de5dc3461dc6ecae8ddec68b|31137e308f44193358c2d4f40ee6b39e_10","MediaStreams":[{"Codec":"h264","IsInterlaced":false,"BitRate":8000000,"BitDepth":8,"IsDefault":false,"IsForced":false,"Height":1080,"Width":1920,"AverageFrameRate":29.97003,"RealFrameRate":29.97003,"Profile":"Main","Type":"Video","AspectRatio":"16:9","Index":0,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"PixelFormat":"yuv420p","Level":40,"IsAnamorphic":false},{"Codec":"ac3","IsInterlaced":false,"ChannelLayout":"stereo","BitRate":192000,"Channels":2,"SampleRate":48000,"IsDefault":false,"IsForced":false,"Type":"Audio","Index":1,"IsExt

Second I got a lot of errors in transcode logs so it takes about 15 seconds to start the stream

 

Does anyone can suggest me something to resolve this?

 

 

Thank you,

 

 

server-63568935981.txt

transcode-7b1865b5-ad48-49c5-847c-52188e6388b1.txt

Edited by crazybbs
Link to comment
Share on other sites

we're probing the live stream for media info in order to determine the most efficient way to play it. we're probably going to have to stop doing that.

  • Like 1
Link to comment
Share on other sites

crazybbs

@@Luke

 

Do you have a way to direct play LiveTV atm?

 

Edit:

 

I can live with this long delay for a while but I can't get channel to play in Emby Theater

 

In the log it seem to try to play directly but get errors

2015-06-03 20:21:15.1347 Debug - ApiClient: GET http://192.168.51.3:8096/mediabrowser/Users/d26b2742310a75787ef0aa2573559ceb/Items/10fad96a1f2de124099dba216db99088?format=json
2015-06-03 20:21:15.1567 Debug - ApiClient: Received 200 status code after 29,0017 ms from GET: http://192.168.51.3:8096/mediabrowser/Users/d26b2742310a75787ef0aa2573559ceb/Items/10fad96a1f2de124099dba216db99088?format=json
2015-06-03 20:21:15.1567 Debug - ApiClient: GET http://192.168.51.3:8096/mediabrowser/Items/10fad96a1f2de124099dba216db99088/PlaybackInfo?UserId=d26b2742310a75787ef0aa2573559ceb&format=json
2015-06-03 20:21:15.1827 Debug - ApiClient: Received 200 status code after 17,001 ms from GET: http://192.168.51.3:8096/mediabrowser/Items/10fad96a1f2de124099dba216db99088/PlaybackInfo?UserId=d26b2742310a75787ef0aa2573559ceb&format=json
2015-06-03 20:21:15.1827 Debug - PlaybackManager: Profile: Emby Theater, Path: http://192.168.51.3:8096, isEligibleForDirectPlay: False, isEligibleForDirectStream: False
2015-06-03 20:21:15.1827 Debug - ApiClient: POST http://192.168.51.3:8096/mediabrowser/LiveStreams/Open?format=json
2015-06-03 20:21:30.8506 Debug - ApiClient: Received 200 status code after 15666,8961 ms from POST: http://192.168.51.3:8096/mediabrowser/LiveStreams/Open?format=json
2015-06-03 20:21:30.8506 Debug - PlaybackManager: Profile: Emby Theater, Path: http://192.168.51.3:8866/live?channeloid=7803&client=MB3.15, isEligibleForDirectPlay: True, isEligibleForDirectStream: True
2015-06-03 20:21:30.8506 Debug - PlaybackManager: GET http://192.168.51.3:8866/live?channeloid=7803&client=MB3.15
2015-06-03 20:21:35.8549 Error - PlaybackManager: Error getting response from http://192.168.51.3:8866/live?channeloid=7803&client=MB3.15
	Une ou plusieurs erreurs se sont produites.
	System.AggregateException
	   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   à System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
	   à MediaBrowser.ApiInteraction.Net.HttpWebRequestClient.<GetResponse>d__1.MoveNext()
	InnerException: System.Net.WebException
	La demande a été abandonnée : La demande a été annulée.
	   à System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
	   à System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
	
2015-06-03 20:21:35.8549 Info - InternalDirectShowPlayer: Playing 3 CIVM. Audio Renderer: Default, Madvr: False, xySubFilter: True, ParentID: 
2015-06-03 20:21:35.8549 Info - InternalDirectShowPlayer: Playing Path http://192.168.51.3:8096/mediabrowser/videos/10fad96a1f2de124099dba216db99088/stream.mpegts?DeviceId=35f41e7aefa54625a45f0734d2f335e2&MediaSourceId=15&Static=true&PlaySessionId=6d2d02ae816e4e438a10e84a2be93ea9&api_key=6a0f37d0ccd64e45b965030000137997&LiveStreamId=1a755974de5dc3461dc6ecae8ddec68b|31137e308f44193358c2d4f40ee6b39e_15
2015-06-03 20:21:35.8549 Debug - InternalDirectShowPlayer: IsFullScreen: W: 1195 H: 669 Top: 0 Bottom: 768 Left: 0 Right: 1366
2015-06-03 20:21:35.8549 Debug - InternalDirectShowPlayer: Configure LAV Splitter
2015-06-03 20:21:35.8549 Debug - InternalDirectShowPlayer: SetSubtitleMode: 
2015-06-03 20:21:35.8549 Debug - InternalDirectShowPlayer: SetPGSForcedStream: True
2015-06-03 20:21:35.8549 Debug - InternalDirectShowPlayer: SetPGSOnlyForced: False
2015-06-03 20:21:35.8549 Debug - InternalDirectShowPlayer: SetVC1TimestampMode: Auto
2015-06-03 20:21:35.8549 Debug - InternalDirectShowPlayer: SetSubstreamsEnabled: True
2015-06-03 20:21:35.8549 Debug - InternalDirectShowPlayer: SetStreamSwitchRemoveAudio: False
2015-06-03 20:21:35.8549 Debug - InternalDirectShowPlayer: SetUseAudioForHearingVisuallyImpaired: False
2015-06-03 20:21:35.8549 Debug - InternalDirectShowPlayer: SetMaxQueueMemSize: 256
2015-06-03 20:21:35.8549 Debug - InternalDirectShowPlayer: SetTrayIcon: False
2015-06-03 20:21:35.8549 Debug - InternalDirectShowPlayer: SetPreferHighQualityAudioStreams: True
2015-06-03 20:21:35.8549 Debug - InternalDirectShowPlayer: SetLoadMatroskaExternalSegments: True
2015-06-03 20:21:35.8549 Debug - InternalDirectShowPlayer: SetNetworkStreamAnalysisDuration: 1000
2015-06-03 20:21:35.9339 Error - InternalDirectShowPlayer: InvokeOnPlayerThread
	Exception de HRESULT : 0x800C0006
	System.IO.FileNotFoundException
	   à System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
	   à System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
	   à System.Windows.Forms.Control.Invoke(Delegate method)
	   à MediaBrowser.Theater.DirectShow.InternalDirectShowPlayer.InvokeOnPlayerThread(Action action, Boolean throwOnError)
	
2015-06-03 20:21:35.9339 Debug - ScreensaverManager: Calling SetThreadExecutionState to allow system idle
2015-06-03 20:21:35.9339 Error - InternalDirectShowPlayer: Error beginning playback
	Exception de HRESULT : 0x800C0006
	System.IO.FileNotFoundException
	   à MediaBrowser.Theater.DirectShow.InternalDirectShowPlayer.InvokeOnPlayerThread(Action action, Boolean throwOnError)
	   à MediaBrowser.Theater.DirectShow.InternalDirectShowPlayer.<PlayTrack>d__11.MoveNext()
	--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
	   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   à MediaBrowser.Theater.DirectShow.InternalDirectShowPlayer.<Play>d__1.MoveNext()
	

if I try to connect to the url http://192.168.51.3:8866/live?channeloid=7803&client=MB3.15 by VLC it play fine and fast

 

 

 

 

 

theater-63568958377.txt

server-63568935981.txt

Edited by crazybbs
Link to comment
Share on other sites

  • 3 weeks later...
dlplunkett44

Is there a fix for this?  I am having the same problem.  I am using NEXTPVR with EMBY and when I view live tv on my computer through NEXTPVR, it loads in a second or less, with EMBY, it can take a minute or more.  Are other people using NEXTPVR with EMBY successfully?

Link to comment
Share on other sites

Is there a fix for this?  I am having the same problem.  I am using NEXTPVR with EMBY and when I view live tv on my computer through NEXTPVR, it loads in a second or less, with EMBY, it can take a minute or more.  Are other people using NEXTPVR with EMBY successfully?

This is an Emby issue. My understanding is that it effects all PVR backends. NextPVR will be delivering the channel to Emby within a second or so of you requesting the channel.

Link to comment
Share on other sites

the latest server release shouldn't take that long. we used to probe the live stream for media info with ffmpeg, and that added a delay. now we've removed that. there is still going to be some delay added by Emby Server but that is a matter of seconds, not a minute.

 

sub - the media info you return gets passed to the clients which they evaluate for direct play possibility. right now for nvpr it's pretty bare which means without media info, the client will rely on the server for transcoding. if media info can be added to the plugin then many of our apps will be able to just direct stream directly from npvr. it's ok to dummy it up a little in the event you can't supply exact information.

Link to comment
Share on other sites

dlplunkett44

So everyone is currently just "dealing" with this long delay?  Are people bypassing emby and just using nextpvr for live tv?  I just feel that right now it is unusable for me.

Link to comment
Share on other sites

So everyone is currently just "dealing" with this long delay?  Are people bypassing emby and just using nextpvr for live tv?  I just feel that right now it is unusable for me.

 

No, did you read post #6? As I said it's not normal.

Link to comment
Share on other sites

dlplunkett44

I have the nextpvr and emby software updated, but I checked again this morning, and it is taking ~20 seconds to load a channel.  When I view out of nextpvr it takes ~1 second.

Link to comment
Share on other sites

Damstas

It's slow for me too and nearly instant on NextPVR native software. @@Luke Do you know how to code series recording and media demand loading into NPVR app, since Sven is not around right now.

Edited by Damstas
Link to comment
Share on other sites

you have to remember that Emby server is going to transcode the stream. the client goes through emby server which will then go through nvpr. still, 20 seconds is too high. on my tests with embytv and serverwmc it's almost always under 5 seconds. please read post #6 because that is the path to improving the time.

 

and no, i can't take on development work for this plugin, other than some help text on the config page that i'm going to do. until Sven returns someone else will have to step up.

Link to comment
Share on other sites

dlplunkett44

I'll try the serverwmc backend this weekend instead.  5 seconds I could deal with.  Why does emby have to transcode?  I am using the HDHomerun Extend, so it is outputting in H.264.

Link to comment
Share on other sites

well i thought my post earlier spelled it out. the clients need enough media info to know that they can direct play it, otherwise they may end up just failing.

Link to comment
Share on other sites

You guys can easily test how quickly NextPVR is delivering a channel stream to an external app by running VLC, selecting 'Open Network Stream' from the menu, and entering a URL like http://127.0.0.1:8866/live?channel=3. In this, 127.0.0.1 is the address of server (localhost in this example), and "3" is the channel number. With the DVB-T tuner I've currently got connected to my machine, I see the video about 2 seconds later.

Edited by sub3
Link to comment
Share on other sites

sub - the media info you return gets passed to the clients which they evaluate for direct play possibility. right now for nvpr it's pretty bare which means without media info, the client will rely on the server for transcoding. if media info can be added to the plugin then many of our apps will be able to just direct stream directly from npvr. it's ok to dummy it up a little in the event you can't supply exact information.

 Just curious, what sort of 'media info' improves things? The backend can tell you if a channel is audio or video. For video channels it can tell you if the channel is MPEG-2 or H.264. It doesn't know too much more about the stream. ie, we don't know things like the resolution or audio codec until the stream is actually playing - since this info can change at anytime, so nextpvr just checks what it is when playback starts.

Edited by sub3
Link to comment
Share on other sites

Damstas

you have to remember that Emby server is going to transcode the stream. the client goes through emby server which will then go through nvpr. still, 20 seconds is too high. on my tests with embytv and serverwmc it's almost always under 5 seconds. please read post #6 because that is the path to improving the time.

 

and no, i can't take on development work for this plugin, other than some help text on the config page that i'm going to do. until Sven returns someone else will have to step up.

Ok I understand. Hope we can get the slow loading fixed and later on the additional features. :)

Link to comment
Share on other sites

 Just curious, what sort of 'media info' improves things? The backend can tell you if a channel is audio or video. For video channels it can tell you if the channel is MPEG-2 or H.264. It doesn't know too much more about the stream. ie, we don't know things like the resolution or audio codec until the stream is actually playing - since this info can change at anytime, so nextpvr just checks what it is when playback starts.

 

maybe i'll just dummy it up at the server level and give you guys an option to opt out if you have specific needs. by dummy up i mean picking mpeg2 unless h264 is specified, ac3 unless aac is specified, and then estimating bitrates and levels. it's really all we can do unless we can find a way to get ffprobe to finish very quickly.

Link to comment
Share on other sites

Sven

I didn't read the full topic. But can somebody summarize?

I will try to do some stuff (but as some of you know, family comes on the 1st place....)

Link to comment
Share on other sites

chmarkes

I'm late to the party here, but i'm having the exact same issue.  I'm using NextPVR with the CyberLink PowerDVD Video Transcoder and in the native NPVR app I can load channels up instantly, but it takes 20-30 seconds to pull up through emby on mobile, desktop, and theater.  Has anyone found anything to help this or can someone explain how to dummy up the mpeg2 data to make the streaming faster?  Thanks!

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
Sven

@@Damstas Yes i still maintain this, but i don't have as much time as before...

So it will take a little bit more time to do some stuff...

 

But feel free to contribute. The source is available on github. :)

Link to comment
Share on other sites

  • 2 weeks later...
Damstas

@@Damstas Yes i still maintain this, but i don't have as much time as before...

So it will take a little bit more time to do some stuff...

 

But feel free to contribute. The source is available on github. :)

@@Sven Ok. Hope you can some day do the demand loading of artwork and series recording, as I have no coding skills.  :)

Edited by Damstas
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...