Log in

View Full Version : Media Player Classic - BE Win32/x64


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 [221] 222 223 224 225 226 227 228 229 230 231 232 233 234 235

zamar92
4th February 2025, 18:07
Hi,

I'm trying to add folder structure to Playlist, and play saved by Tuya Camera on SDCard unencrypted .media (https://developer.tuya.com/en/docs/iot-device-dev/tuyaos-package-ipc-device?id=Kcn1q62z79dla#title-4-Directory%20and%20file%20structure) fragments of a sample static room video with music, but only raw H264 video can play with no NHNT encoded audio heard. The same folder/file sample collection plays fine with audio in Android Tuya Camera app, since it gets audio codec info from extra files present in the attached folder structure.

Any help or ideas? I need that to play camera surveylance footage on a Windows PC from a mounted camera SDCard, but Tuya doesn't offer Windows app, and no other Windows app I tried seems to do the job.

Sample (https://drive.google.com/file/d/1ltNwzAtcfQbQrVbojAlgpMikYIzamF96/view?usp=sharing)

LigH
4th February 2025, 21:50
I hope this ShotCut forum thread (https://forum.shotcut.org/t/media-files-of-a-surveillance-camera/45348/14) helps a little: It may be possible to multiplex everything to an MP4 file, GPAC/MP4Box should support it if the info file is present as well.

SirMaster
4th February 2025, 22:30
Just Atmos. Which is also just an extension layer, so ignoring it isn't a big issue with most sound systems. I doubt that many people have a proper Atmos 7.1.4 speaker setup. Most have a crappy soundbar with a few small speakers in it that emulate surround.

DTS:X as well which adds extension object channels onto DTS-HD.

I know many people using MPC players for their home theaters and have 7.1.4 and even larger systems, so they definitely rely on audio passthrough to their AVRs.

zamar92
4th February 2025, 23:59
I hope this ShotCut forum thread (https://forum.shotcut.org/t/media-files-of-a-surveillance-camera/45348/14) helps a little.

Thanks for pointing at it and GPAC & MP4Box. I tried, but GPAC player didn't play this audio by default, and I get lost trying to figure our right MP4Box cmdline to play or demux the .media fragments. May be someone can help figuring it out using the above attached Sample? Would be nice if MPC-BE can play such sequence videos from SDCard and possibly allow to save them to disk in a popular format, since there is no Windows app for that, but demand, looking at the web .media and .data cam files playback forum threads, is as large as cheaper no ONVIF support cams consumer base. :)

v0lt
5th February 2025, 06:25
MPC Video Renderer 0.9.3.2363 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.9.3)

Changes:
"Super Resolution" now works with HDR passthrough. Requires GeForce driver version 572 or newer.
Fixed window artifacts when using Swap effect Flip.
Recommended MPC-BE 1.8.2.136 or newer.

PS: MPC Video Renderer 0.9.3 is included in the MPC-BE 1.8.2.140 installer.

Aleksoid1978
5th February 2025, 08:33
Would be nice if MPC-BE can play such sequence videos
This is some unknown and proprietary format. It needs to be viewed with specialized software from its manufacturer.

Megalith
7th February 2025, 00:54
Is there any ETA on when the next stable version will be released?

Aleksoid1978
7th February 2025, 03:34
Is there any ETA on when the next stable version will be released?

Why you need stable ?
Get github builds and use it.

v0lt
7th February 2025, 06:17
Release MPC-BE 1.8.3 (https://github.com/Aleksoid1978/MPC-BE/releases/tag/1.8.3)

Important changes:

Fixed StreamReader freezing in some situations.
Improved YouTube support in the built-in parser.
Added the ability to receive the displayed video frame on a 10-bit display in RGB48 format when using MPC Video Renderer.
MPC Video Renderer will be used by default if it is installed and available.
Added MPC Script Source 0.2.5.
Updated MPC Video Renderer 0.9.3.

MPC-BE Nightly builds (https://github.com/Aleksoid1978/MPC-BE/wiki/Nightly-builds)
Night builds are provided by volunteers.

Donate (https://mpc-be.org/forum/index.php?topic=240.0).

Aleksoid1978
10th February 2025, 02:48
Hello everyone. If you have a screen with HDR - check the test build of MPC VR, saving screenshots/thumbnails when viewing HDR/DV with HDR Passthrough. Now they should save normally.

https://disk.yandex.ru/d/MsvrXNeT_CGJTg

cmhrky
10th February 2025, 13:46
YouTube
Built-in web page parser enabled
yt-dlp enabled

If the video is not opened with the built-in page parser and is redirected to yt-dlp, the audio track is not loaded if a different format is selected in the opened video.

Built-in web page parser disabled
yt-dlp enabled

That way there is no problem. Selecting different format loads the audio track.

Aleksoid1978
10th February 2025, 22:19
YouTube
Built-in web page parser enabled
yt-dlp enabled

If the video is not opened with the built-in page parser and is redirected to yt-dlp, the audio track is not loaded if a different format is selected in the opened video.

Built-in web page parser disabled
yt-dlp enabled

That way there is no problem. Selecting different format loads the audio track.

1 - https://github.com/Aleksoid1978/MPC-BE/wiki/About-YouTube-support
2 - Where is a problem link ?

cmhrky
10th February 2025, 22:30
1 - https://github.com/Aleksoid1978/MPC-BE/wiki/About-YouTube-support
2 - Where is a problem link ?

1- I know about this but I think the problem is not related to the built-in web page parser.

2- Sometimes videos on YouTube do not open. It is not possible to give the video address because it is not always the same video.

Aleksoid1978
11th February 2025, 08:52
1- I know about this but I think the problem is not related to the built-in web page parser.

2- Sometimes videos on YouTube do not open. It is not possible to give the video address because it is not always the same video.

Check in latest version.

cmhrky
11th February 2025, 19:29
Check in latest version.

Thank you. The problem seems to be fixed.


@Devs

I noticed a few features added from MPC-BE to MPC-HC and I think there are more to come. Mouse features, merged play/pause button...

The feature I'm looking for the most in MPC-BE is the status bar video/audio info/fps and other options in MPC-HC.

Are you planning to add this or something similar? I would love to see this type of feature.

Klaus1189
11th February 2025, 20:14
Hello everyone. If you have a screen with HDR - check the test build of MPC VR, saving screenshots/thumbnails when viewing HDR/DV with HDR Passthrough. Now they should save normally.

https://disk.yandex.ru/d/MsvrXNeT_CGJTg

Sorry for late reply. Yes I can confirm it is not washed out anymore, but a bit dark. That is to be expected, right?

Aleksoid1978
11th February 2025, 22:18
The feature I'm looking for the most in MPC-BE is the status bar video/audio info/fps and other options in MPC-HC.

Are you planning to add this or something similar?

Not planned.

Aleksoid1978
12th February 2025, 10:16
Sorry for late reply. Yes I can confirm it is not washed out anymore, but a bit dark. That is to be expected, right?

The same as when you watch with convert to SDR.

Klaus1189
12th February 2025, 12:06
Yes, HDR mode is more vibrant on my display.

LuckyJim
12th February 2025, 12:25
Speaking of youtube videos, something strange is going on.

Using the built-in web page parser:
When the video finishes playing, MPC-BE freezes and stops reacting. Clicking the close button does nothing. Clicking it a second time pops up a dialog "The application is not responding. Do you want to end this process?".
No stacktrace files or minidumps are created. No errors in the Event Viewer either.

When using the yt-dlp parser everything is fine, no freezes etc.

MPC-BE x64 v1.8.3.9 dev Portable
MPC VR x64 v0.9.4.2365
NVIDIA Driver v572.16
Win11 24H2, build 26100.3194

Any ideas?

Aleksoid1978
12th February 2025, 12:46
Speaking of youtube videos, something strange is going on.

Using the built-in web page parser:
When the video finishes playing, MPC-BE freezes and stops reacting. Clicking the close button does nothing. Clicking it a second time pops up a dialog "The application is not responding. Do you want to end this process?".
No stacktrace files or minidumps are created. No errors in the Event Viewer either.

When using the yt-dlp parser everything is fine, no freezes etc.

MPC-BE x64 v1.8.3.9 dev Portable
MPC VR x64 v0.9.4.2365
NVIDIA Driver v572.16
Win11 24H2, build 26100.3194

Any ideas?

Can't confirm, all is good.

LuckyJim
12th February 2025, 14:08
Can't confirm, all is good.

Thanks for looking into this, Alex! Mea culpa! I reset my settings and now everything is perfect, no freezes. I wonder what went wrong.

Regards!

LuckyJim
12th February 2025, 16:39
Sorry for the spam, folks! Just wanted to let you know, that the culprit for the freezes at the end of the videos was LAV Splitter Source (v0.79.2.27).
Disabling it and enabling the internal source filters fixes the problem.

Regards!

ETA: LAV version

Megalith
14th February 2025, 20:43
Two questions:

1. What exactly do the swap effect (discard/flip) options do? Does it have any effect on video quality?

2. For MPC Video Decoder, what is the best decoder option to use? Is NVDEC preferred if I'm on an NVIDIA GPU?

v0lt
15th February 2025, 08:26
1. What exactly do the swap effect (discard/flip) options do?
For D3D11 see DXGI_SWAP_EFFECT (https://learn.microsoft.com/en-us/windows/win32/api/dxgi/ne-dxgi-dxgi_swap_effect)
For D3D9 see D3DSWAPEFFECT (https://learn.microsoft.com/en-us/windows/win32/direct3d9/d3dswapeffect)
Does it have any effect on video quality?
No. It does not affect the picture quality.
2. For MPC Video Decoder, what is the best decoder option to use?
This is a stupid question because all decoders usually produce the same picture. We recommend D3D11 decoder for better performance.
Is NVDEC preferred if I'm on an NVIDIA GPU?
Usually no. But you can have your own opinion.

huhn
15th February 2025, 08:57
discard d3d11 is bugged and will produce massive banding in 10 bit mode.

Klaus1189
24th February 2025, 16:35
Updated german translation (https://drive.google.com/file/d/1NwBzp70DqbsN-NeKUsrorOgUedPyb_nu/view?usp=drive_link) :)

cmhrky
24th February 2025, 18:53
Updated Turkish translation (https://drive.google.com/file/d/1OAdCSNnCTnT20KV7j6rLVOMHYC5cSxLH/view?usp=drive_link).

wushantao
25th February 2025, 05:09
Updated Simplified Chinese
:)
https://files.catbox.moe/4on2ob.7z
https://seyarabata.com/67bd425887309

ikarad
25th February 2025, 22:45
Good morning.
I have one question about mpc video renderer.
Is there a tutorial explaining how the MPC Video Renderer options work?
Thanks by advance and Excuse me if this is not the right place to ask this question.

huhn
26th February 2025, 01:13
maybe just ask what you want to know.
the default are fine the video renderer doesn't need special setup it works on pretty much everything and is the definition of efficiency.

v0lt
26th February 2025, 04:36
Thanks. Translations have been updated.

Is there a tutorial explaining how the MPC Video Renderer options work?
There is a brief description of the settings in Russian.
https://mpc-be.org/forum/index.php?topic=381.msg3522#msg3522

ikarad
26th February 2025, 10:32
Thanks. Translations have been updated.


There is a brief description of the settings in Russian.
https://mpc-be.org/forum/index.php?topic=381.msg3522#msg3522

Thanks but I don't read russian. Sorry.

I have tried to translate with ia chatbot.
"Settings Description
Use Direct3D11

The video renderer will use Direct3D 11 instead of Direct3D 9 whenever possible. Requires Windows 7 SP1; Windows 8.1 or newer is recommended.
Texture format

Specifies the texture format used for storing intermediate processing results.
Note: The 16-bit Floating Point format increases video memory consumption.
Show statistics

Displays an overlay with various statistics on top of the video frame. It is recommended to enable this option when taking a screenshot to diagnose issues.
DXVA2 and D3D11 Video Processor
Use for: NV12, P010/P016, YUY2, Other supported formats

Defines which formats will use the DXVA2 or D3D11 video processor when possible.
DXVA2 and D3D11 video processors are typically faster than shaders and also support deinterlacing.
Note: Interlaced frames are usually in NV12 or YUY2 format.
Double the frame rate when deinterlacing

When deinterlacing, the output frame rate will be doubled.
Use for resizing

The DXVA2 or D3D11 video processor will be used for resizing frames.
This method is fast but may reduce quality.
For example, Nvidia GPUs use bilinear interpolation (lower quality), while Intel GPUs use bicubic interpolation (better quality).
Request Super Resolution

Requests the use of Super Resolution if supported by the graphics adapter and drivers.
Expected to work on Intel Gen10+ and RTX 30/40 series GPUs with updated drivers.
Shader Video Processor
Chroma scaling

Algorithm for upscaling the chroma component from 4:2:0 and 4:2:2 to 4:4:4.
Upscaling

Interpolation algorithm used for enlarging frames.
Downscaling

Algorithm used for reducing frame size.
Use the "Upscaling" method to reduce the frame to 50%

The Upscaling algorithm will also be used when reducing the frame size to 50%.
Use dithering

Enables dithering when reducing color depth from 10-bit/16-bit to 8-bit.
Dithering can improve the display of smooth gradients. However, the effect may not be noticeable on small screens.
Use Blend deinterlacing for YUV 4:2:0

Applies simple Blend deinterlacing to frames marked as interlaced.
HDR Settings
Prefer Dolby Vision over PQ and HLG

This option prioritizes Dolby Vision over PQ (Perceptual Quantizer) and HLG (Hybrid Log-Gamma) formats.
By default, this is disabled, as the image quality change is minimal, but GPU load increases significantly.
Passthrough to display

Passes HDR video metadata directly to the display.
Requirements:

Windows 10
HDR10-compatible display
GPU supporting HDMI 2.0b or DisplayPort 1.4

Windows HDR

Automatically switches the display to HDR mode.
Requirements:

Windows 10
HDR10-compatible display
GPU supporting HDMI 2.0b or DisplayPort 1.4

Subtitle and OSD brightness

Adjusts the brightness of subtitles in HDR videos when Passthrough to display is enabled.
Convert to SDR

Converts HDR video to SDR for proper display on non-HDR screens.
SDR display nits

Defines the estimated brightness level (in nits) of the SDR display, used for HDR-to-SDR conversion.
Other Settings
Swap effect

Determines how frames are displayed on the desktop.

Discard mode is generally more stable.
Flip mode can be faster.

Use exclusive fullscreen

May resolve stuttering playback issues on additional monitors.
Wait for V-Blank before Present

Ensures precise frame output timing, which may improve playback smoothness.
This setting helps the SyncOffset graph better reflect frame timing irregularities.
Reinitialize D3D device when changing display

When moving the window to another monitor, the Direct3D device will reset and reinitialize.
This helps resolve issues in multi-monitor setups.
"
Is it a correct translation ?

s0meone_new
27th February 2025, 02:08
Hungarian translation updated:
https://easyupload.io/44yzyk

y8jhoM
28th February 2025, 09:36
Why does madVR report doubled vertical resolution when used with MPC-BE built-in filters? With LAV filters, a 1920x800 video is seen as 1920x800 by madVR (in Ctrl+J overlay), but with MPC-BE filters the same video is seen as 1920x1600 (in Ctrl+J overlay). No upscaling is applied in either case.

Also, is there performance benefit to using MPC-BE native video filter DirectX 12 Copy-Back compared to LAV video filter DirectX 11 native? I use madVR that does not utilize DirectX 12 (yet).

v0lt
28th February 2025, 16:58
@ikarad
I don't see the point in writing a machine translation here. Windows has the Edge browser, which has a built-in web page translator.

@s0meone_new
Thanks. Updated.

@y8jhoM
The "Copy-Back" mode for the hardware decoder will always be slower than the "Native" modes. It's obvious.

beter
1st March 2025, 16:00
Update for translation of Chinese Traditional and Dutch

https://mega.nz/file/ubY3mKII#7LMUux_L-HCM0wz7-JkG2ZeiAiaCzm9iTv97gaXZixE

huhn
2nd March 2025, 02:29
what does "wait for vblank before presentation" and "adjust the frame presentation time" exactly do?

v0lt
2nd March 2025, 12:59
@beter
Thanks. Updated.

@huhn

Wait for V-Blank before Present
The renderer will wait for a V-Blank event before calling Present. This allows for more accurate frame output timing. This allows the SyncOffset graph to more accurately reflect frame output jitter.
This setting may affect video smoothness. Disabled by default to avoid annoying users with a sawtooth graph.

Adjust the frame presentation time
The renderer will wait additionally before displaying a frame to more accurately hit the required display refresh time. This setting helps smoothly play interlaced video with double the frame rate (50/60 fps) on displays with a high refresh rate (120 Hz and higher).

huhn
2nd March 2025, 14:50
first of all thanks for your time.
Wait for V-Blank before Present
The renderer will wait for a V-Blank event before calling Present. This allows for more accurate frame output timing. This allows the SyncOffset graph to more accurately reflect frame output jitter.
This setting may affect video smoothness. Disabled by default to avoid annoying users with a sawtooth graph.
does it simply display a frame every let's say 25 sec with a 25 FPS source and the windows "DWM" to handle that. or is some type of sync still done but not shown?
Adjust the frame presentation time
The renderer will wait additionally before displaying a frame to more accurately hit the required display refresh time. This setting helps smoothly play interlaced video with double the frame rate (50/60 fps) on displays with a high refresh rate (120 Hz and higher).

can it even do that with the Wait for "V-Blank before Present" aren't these very fixed timings?

or is this more of a case to even have proper frame times instead of it been presenting the frames when it is done rendering?

example 240 hz monitor 24p source and video render times are 1-5 ms if it would take 5 ms and it would directly present the frame after rendering it will create some "judder" in the process because it is now a vsync interval late?

v0lt
2nd March 2025, 16:06
does it simply display a frame every let's say 25 sec with a 25 FPS source and the windows "DWM" to handle that. or is some type of sync still done but not shown?
The logic is as follows.
1. First comes the general synchronization based on the CBaseVideoRenderer code.
2. Then we do everything that needs to be done with the video frame, apply shaders. Something will actually be done at this stage, and something will wait for the Present call. This depends on the implementation of the pipeline in the video driver.
3. IDXGIOutput::WaitForVBlank (https://learn.microsoft.com/en-us/windows/win32/api/dxgi/nf-dxgi-idxgioutput-waitforvblank) <- wait for vertical blank
4. IDXGISwapChain::Present (https://learn.microsoft.com/en-us/windows/win32/api/dxgi/nf-dxgi-idxgiswapchain-present) <- give the command to display the frame
Waiting for V-Blank has a positive effect on the statistics graph because Present can return control "instantly".

Perhaps statistics should be collected differently, but we don't have another working and tested solution.

can it even do that with the Wait for "V-Blank before Present" aren't these very fixed timings?
Possibly, but we have no way to test this.
Testing fast processes at runtime is very difficult and you can get very different results on different hardware.

huhn
2nd March 2025, 16:24
what a nightmare and that's barely the surface.

i was thinking about screen recordings i have no 120 HZ capture card to make it even more clear.

i have a feeling i can see it does a frame repeat cadence of 4 6 4 5 6 4 instead of 4 5 5 5 5 5 when it reaches 8 ms sync offset with a 23p file at 120 hz.

Sunspark
2nd March 2025, 17:11
Maybe you could get one of those Blackmagic cards as a birthday present for yourself. :)

Klaus1189
2nd March 2025, 20:55
https://drive.google.com/file/d/14c8te59I5sifBK2ym13U-ONrB1TR5p9v/view?usp=drive_link

Sample file for HEVC 4:2:2. New RTX 50 cards should support it, but use software decoding.

Aleksoid1978
2nd March 2025, 22:23
https://drive.google.com/file/d/14c8te59I5sifBK2ym13U-ONrB1TR5p9v/view?usp=drive_link

Sample file for HEVC 4:2:2. New RTX 50 cards should support it, but use software decoding.

Give developers an RTX 50 card and everything will work.

Klaus1189
2nd March 2025, 22:24
I only have one :(

But I can test

huhn
3rd March 2025, 00:44
there is a lot of new hardware decoding support from microsoft und that needs new code to make it work.

so the fact a card can do something is not that relevant at first.
a 1000 series maybe even 960 can do 444 predictive lossless h264 we still can't do that to day with DXVA or D3D11. main 444 has been added which may work and is new but a 1000 series is an ancient GPU.
nvdec can do that for example because it could do it for like forever..
Maybe you could get one of those Blackmagic cards as a birthday present for yourself. :)
afaik they don't have a single one with 120 hz support.
and a really good one cost a grand too that's a lot for just playing around.

Aleksoid1978
3rd March 2025, 03:15
I only have one :(

But I can test

Test - https://github.com/Aleksoid1978/MPC-BE/commit/466ce6ac07a0a99fbc1d8dda94c9fb54366f5e42

Klaus1189
3rd March 2025, 09:41
Will test, when I am home from work :)

Thank you already

Klaus1189
3rd March 2025, 17:43
GPU D3D11 decoding works.
But I encountered an issue: If image is scaled to 1920x1080 from 3840x2160p image is blocky.
Scaling till 3071x1727 is blocky, when scaling from 3072x1728 and above image looks fine.