Jump to content

Emby Theater Desktop Playback of 3D Movie Remuxes (mk3d or mkv Containers) Freezes After ~26 Minutes


shpitz461

Recommended Posts

Guest asrequested

OK, so adding this to my standalone mpv.conf, 

demuxer-readahead-secs=600
demuxer-max-bytes=1000000000
demuxer-seekable-cache=yes
force-seekable=yes

I don't see this, in my log

[1620.348][v][cache] Cache is not responding - slow/stuck network connection?

It doesn't seem to work with Theater, but I have a feeling it just gets ignored/not applied. This may be a possible fix. The cache sizes should be changeable, I just made mine bigger than the default. 

 

Luke, maybe a test build?

Link to comment
Share on other sites

That's a lot though and it will potentially create side effects. Can you try to narrow it down to one single param that makes a difference?

Link to comment
Share on other sites

Guest asrequested

That's a lot though and it will potentially create side effects. Can you try to narrow it down to one single param that makes a difference?

 

I'm actually keeping that in my config, for my standalone. But these are the important entries. 

demuxer-seekable-cache=yes
force-seekable=yes

I'll see if there's one or either will have the same result.

Link to comment
Share on other sites

shpitz461

Is the ET's mpv even configurable by an external config file? or the params are hardcoded in the app?

Link to comment
Share on other sites

Guest asrequested

Is the ET's mpv even configurable by an external config file? or the params are hardcoded in the app?

The mpv.conf works for a lot, but the theater settings can override them.

Link to comment
Share on other sites

shpitz461

I'm actually keeping that in my config, for my standalone. But these are the important entries. 

demuxer-seekable-cache=yes
force-seekable=yes

I'll see if there's one or either will have the same result.

 

I'm testing Panda 3 with these 2 settings in my mpv.conf.

Link to comment
Share on other sites

Guest asrequested

It won't affect Theater. I was just trying to resolve the slow cache. You have to do that in the standalone, and then check the log.

Link to comment
Share on other sites

shpitz461

oh, but it doesn't matter for standalone since the movie plays fine all the way through :)

Link to comment
Share on other sites

Guest asrequested

oh, but it doesn't matter for standalone since the movie plays fine all the way through :)

Right, but as I was saying earlier, the cache not responding happens at the same time it stops in Theater. It only appears once, and I think that may be the reason it stops. So by solving that, may fix this. That's why I suggested that Luke makes a test build, because I think it needs to be implemented, that way. But he wants to know if only one param can be used.

Edited by Doofus
Link to comment
Share on other sites

Guest asrequested

And Luke, if you're worried about this config causing other problems, you can probably apply it as a profile specific to the media. I will look into that, if you prefer it to be used that way?

Link to comment
Share on other sites

Guest asrequested

Ok, so using

force-seekable=yes

resolves seeing this in the log

[v][cache] Cache is not responding - slow/stuck network connection?

And as it's already being used for Live TV, there shouldn't be any conflict.

Link to comment
Share on other sites

Guest asrequested

Very strange. And that prevents it from stopping after a certain period of time?

 

No, I can't test test that in Theater. Nothing I've tried in the mpv.conf has any effect on this problem. As I've been explaining, the theory is that 'cache not responding' is occurring in the standalone log at approximately the same time as the movie stopping, in Theater.  It isn't in the log from Theater, because it may be the reason FOR it stopping. I don't think that adding it to the mpv.conf is being applied, in Theater. Just like hwdec doesn't get applied. Theater inhibits the mpv.conf. As you haven't given us a way to disable the mpv settings in Theater, the only way to test this, is for you to add it to the playbackhandler, and have us test it. 

Link to comment
Share on other sites

To test in theater, go into playbackhandler.js and try adding this:

list.push('--force-seekable=yes');

Just before this on line 291:

    return list;

Link to comment
Share on other sites

shpitz461

The push you stated already exist in the conditional block in line 282.

 

I've added it just before the return so it executes unconditionally.

 

Testing now...

Link to comment
Share on other sites

shpitz461

So I've added the line as follows:

    if (mediaSource.RunTimeTicks == null) {
        list.push('--demuxer-lavf-analyzeduration=3');
    }
	list.push('--force-seekable=yes');
    return list;
}

Panda 3 froze @ 00:26:26 hours per usual.

Anything else I can try?

Link to comment
Share on other sites

Guest asrequested

Ok, I've tried a few different combinations, with no success. At this point, the problem seems to lie somewhere in emby. And I am stumped.

Link to comment
Share on other sites

Guest asrequested

So I'm obsessing over this. Comparing the logs from a successful attempt with cuda-copy, and the failed attempts, I have found a noticeable difference when the pixel format is selected.

 

In the failed attempts, we get this,

[   0.354][v][vd] Codec list:
[   0.354][v][vd]     h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[   0.354][v][vd]     h264_cuvid (h264) - Nvidia CUVID H264 decoder
[   0.354][v][vd] Opening decoder h264
[   0.354][v][vd] Looking at hwdec h264-d3d11va...
[   0.354][v][vd] Not using this for auto-copy.
[   0.354][v][vd] Looking at hwdec h264-dxva2...
[   0.354][v][vd] Not using this for auto-copy.
[   0.354][v][vd] Looking at hwdec h264-nvdec...
[   0.354][v][vd] Not using this for auto-copy.
[   0.354][v][vd] Looking at hwdec h264-dxva2-copy...
[   0.410][v][vd] Trying hardware decoding via h264-dxva2-copy.
[   0.410][v][vd] Pixel formats supported by decoder: cuda dxva2_vld d3d11va_vld d3d11 yuv420p
[   0.410][v][vd] Codec profile: High (0x64)
[   0.410][v][vd] Requesting pixfmt 'dxva2_vld' from decoder.
[   0.413][d][ffmpeg/video] h264: Decoder GUIDs reported as supported:
[   0.413][d][ffmpeg/video] h264: {86695f12-340e-4f04-9fd3-9253dd327460} 0
[   0.413][d][ffmpeg/video] h264: {ee27417f-5e28-4e65-beea-1d26b508adc9} 0
[   0.413][d][ffmpeg/video] h264: {6f3ec719-3735-42cc-8063-65cc3cb36616} 0
[   0.413][d][ffmpeg/video] h264: {1b81bea4-a0c7-11d3-b984-00c04f2e73c5} 0
[   0.413][d][ffmpeg/video] h264: {1b81bea3-a0c7-11d3-b984-00c04f2e73c5} 0
[   0.413][d][ffmpeg/video] h264: {32fcfe3f-de46-4a49-861b-ac71110649d5} 0
[   0.413][d][ffmpeg/video] h264: {d79be8da-0cf1-4c81-b82a-69a4e236f43d} 0
[   0.413][d][ffmpeg/video] h264: {f9aaccbb-c2b6-4cfc-8779-5707b1760552} 0
[   0.413][d][ffmpeg/video] h264: {1b81be68-a0c7-11d3-b984-00c04f2e73c5} 0
[   0.413][d][ffmpeg/video] h264: {5b11d51b-2f4c-4452-bcc3-09f2a1160cc0} 0
[   0.413][d][ffmpeg/video] h264: {107af0e0-ef1a-4d19-aba8-67a163073d13} 1
[   0.413][d][ffmpeg/video] h264: {20bb8b0a-97aa-4571-8e99-64e60606c1a6} 1
[   0.413][d][ffmpeg/video] h264: {15df9b21-06c4-47f1-841e-a67c97d7f312} 0
[   0.413][d][ffmpeg/video] h264: {efd64d74-c9e8-41d7-a5e9-e9b0e39fa319} 0
[   0.413][d][ffmpeg/video] h264: {ed418a9f-010d-4eda-9ae3-9a65358d8d2e} 0
[   0.413][d][ffmpeg/video] h264: {9947ec6f-689b-11dc-a320-0019dbbc4184} 0
[   0.413][d][ffmpeg/video] h264: {33fcfe41-de46-4a49-861b-ac71110649d5} 0
[   0.413][d][ffmpeg/video] h264: {463707f8-a1d0-4585-876d-83aa6d60b89e} 0
[   0.413][d][ffmpeg/video] h264: {a4c749ef-6ecf-48aa-8448-50a7a1165ff7} 1
[   0.413][d][ffmpeg/video] h264: {dda19dc7-93b5-49f5-a9b3-2bda28a2ce6e} 1
[   0.413][d][ffmpeg/video] h264: {6affd11e-1d96-42b1-a215-93a31f09a53d} 0
[   0.413][d][ffmpeg/video] h264: {914c84a3-4078-4fa9-984c-e2f262cb5c9c} 0
[   0.415][d][ffmpeg/video] h264: Reinit context to 1920x1088, pix_fmt: dxva2_vld
[   0.416][e][ffmpeg/video] h264: sps_id 1 out of range
[   0.428][v][vd] Selected codec: h264 (H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10)

Notice that is the first time we see this (it isn't present anywhere in the cuda log)

h264: sps_id 1 out of range

With cuda, we get this

[   0.095][v][vd] Codec list:
[   0.095][v][vd]     h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[   0.095][v][vd]     h264_cuvid (h264) - Nvidia CUVID H264 decoder
[   0.095][v][vd] Opening decoder h264
[   0.095][v][vd] Looking at hwdec h264_cuvid-cuda-copy...
[   0.234][v][vd] Trying hardware decoding via h264_cuvid-cuda-copy.
[   0.234][v][vd] Using underlying hw-decoder 'h264_cuvid'
[   0.234][v][vd] Pixel formats supported by decoder: cuda nv12
[   0.234][v][vd] Codec profile: unknown (0xffffff9d)
[   0.234][v][vd] Requesting pixfmt 'cuda' from decoder.
[   0.237][d][ffmpeg/video] h264_cuvid: CUVID capabilities for h264_cuvid:
[   0.237][d][ffmpeg/video] h264_cuvid: 8 bit: supported: 1, min_width: 48, max_width: 4096, min_height: 16, max_height: 4096
[   0.237][d][ffmpeg/video] h264_cuvid: 10 bit: supported: 0, min_width: 0, max_width: 0, min_height: 0, max_height: 0
[   0.237][d][ffmpeg/video] h264_cuvid: 12 bit: supported: 0, min_width: 0, max_width: 0, min_height: 0, max_height: 0
[   0.238][v][vd] Pixel formats supported by decoder: cuda nv12
[   0.238][v][vd] Codec profile: unknown (0xffffff9d)
[   0.238][v][vd] Requesting pixfmt 'cuda' from decoder.
[   0.238][d][ffmpeg/video] h264_cuvid: Formats: Original: cuda | HW: cuda | SW: nv12
[   0.262][v][vd] Selected codec: h264 (H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10)

These are the parts that interest me

[ 0.095][v][vd] Looking at hwdec h264_cuvid-cuda-copy...
[ 0.234][v][vd] Trying hardware decoding via h264_cuvid-cuda-copy.
[ 0.234][v][vd] Using underlying hw-decoder 'h264_cuvid'
[ 0.234][v][vd] Pixel formats supported by decoder: cuda nv12
[   0.238][v][vd] Requesting pixfmt 'cuda' from decoder.
[   0.238][d][ffmpeg/video] h264_cuvid: Formats: Original: cuda | HW: cuda | SW: nv12

It looks as though cuda is the only hardware based pixel format. The rest appear to all be ffmpeg (software). 

 

Why Theater is affecting playback the way it is, I'm guessing that something is getting involved with that process. CUDA appears to be independent and unaffected by the software environment.

Edited by Doofus
Link to comment
Share on other sites

Guest asrequested

@@shpitz461 try this. 

 

Use d3d11 copyback, and then put this in your mpv.conf

hwdec-image-format=yuv420p

This is just a test, don't leave it in there for all videos. If it works, I'll try and make an auto-profile to apply it only to these specific videos.

 

EDIT:

 

Scratch that. I can't get it to work in the standalone.

Edited by Doofus
Link to comment
Share on other sites

Guest asrequested

Just a quick addendum to this issue. In my case, it causes the app to be unresponsive and difficult to use. I have to restart Theater, to regain functionality. Steps to reproduce. Let it play until it stops, then leave it a short time. Then try to replay and/or navigate.

Edited by Doofus
Link to comment
Share on other sites

shpitz461

So I'm obsessing over this.

 

LOL, that's what we appreciate about you!

 

There must be a way to solve this, not sure why Luke has been ignoring this issue in a way. MPV plays the mk3d files fine in 2D when played externally, but when ET is involved the files always freeze after 26 minutes.

 

Same file, same path, same everything.

 

We need to experiment with different mpv parameters until we find a winning combination.

Link to comment
Share on other sites

Guest asrequested

LOL, that's what we appreciate about you!

 

There must be a way to solve this, not sure why Luke has been ignoring this issue in a way. MPV plays the mk3d files fine in 2D when played externally, but when ET is involved the files always freeze after 26 minutes.

 

Same file, same path, same everything.

 

We need to experiment with different mpv parameters until we find a winning combination.

 

Actually, the underlying problem may be ffmpeg. The only time I don't see errors is when I use cuda. The mpv standalone seems to be able to roll over them, and continue. But possibly how the stream is being served in emby, may be affecting mpv's ability to do that.

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...