Jump to content

Recommended Posts

Cheesegeezer
Posted
14 hours ago, lorac said:

Will the plugin be updated to allow the new versions of mediainfo w/o the override? I know there were a couple versions that had issues but I haven't seen any problems with the changed metadata using 22.12 version.

MediaInfo isnt version managed in the plugin its its only mkvtoolnix that is has a version check, because that is the culprit for the issues as it writes the title to the header. MediaInfo is only used to read and interrogate the media files.

 

  • Like 1
rbjtech
Posted (edited)

Hi Dave - @Cheesegeezer while I remember the files - these are two examples of 4K HDR that does not have the HDR Description in a mediaInfo scan.

As you can see - this is HDR, but the Plugin doesn't label it as such as it's missing the 'HDR format' field.

{
"@type": "Video",
"StreamOrder": "0",
"ID": "1",
"UniqueID": "3602958628662373885",
"Format": "HEVC",
"Format_Profile": "Main 10",
"Format_Level": "5",
"Format_Tier": "Main",
"CodecID": "V_MPEGH/ISO/HEVC",
"Duration": "3111.901000000",
"BitRate": "22055250",
"Width": "3840",
"Height": "2160",
"Sampled_Width": "3840",
"Sampled_Height": "2160",
"PixelAspectRatio": "1.000",
"DisplayAspectRatio": "1.778",
"FrameRate_Mode": "CFR",
"FrameRate": "23.976",
"FrameCount": "74611",
"ColorSpace": "YUV",
"ChromaSubsampling": "4:2:0",
"BitDepth": "10",
"Delay": "0.000",
"StreamSize": "8579219376",
"Title": "UHD  [22.1Mb/s]",
"Encoded_Library": "x265 - 3.4:[Linux][GCC 7.5.0][64 bit] 10bit",
"Encoded_Library_Name": "x265",
"Encoded_Library_Version": "3.4:[Linux][GCC 7.5.0][64 bit] 10bit",
"Encoded_Library_Settings": "cpuid=1111039 / frame-threads=1 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=3840x2160 / interlace=0 / total-frames=0 / level-idc=50 / high-tier=0 / uhd-bd=0 / ref=3 / no-allow-non-conformance / repeat-headers / annexb / no-aud / no-hrd / info / hash=0 / no-temporal-layers / no-open-gop / min-keyint=48 / keyint=48 / gop-lookahead=0 / bframes=2 / b-adapt=0 / b-pyramid / bframe-bias=0 / rc-lookahead=48 / lookahead-slices=8 / scenecut=0 / hist-scenecut=0 / radl=0 / no-splice / no-intra-refresh / ctu=32 / min-cu-size=8 / no-rect / no-amp / max-tu-size=16 / tu-inter-depth=2 / tu-intra-depth=2 / limit-tu=0 / rdoq-level=1 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / no-strong-intra-smoothing / max-merge=3 / limit-refs=1 / no-limit-modes / me=1 / subme=2 / merange=44 / temporal-mvp / no-frame-dup / no-hme / weightp / no-weightb / no-analyze-src-pics / deblock=0:0 / no-sao / no-sao-non-deblock / rd=4 / selective-sao=0 / early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / b-intra / no-splitrd-skip / rdpenalty=1 / psy-rd=1.60 / psy-rdoq=5.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=abr / bitrate=23000 / qcomp=0.75 / qpstep=4 / stats-write=0 / stats-read=0 / vbv-maxrate=25000 / vbv-bufsize=25000 / vbv-init=0.9 / ipratio=1.40 / pbratio=1.30 / aq-mode=3 / aq-strength=1.00 / no-cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=9 / transfer=16 / colormatrix=9 / chromaloc=0 / display-window=0 / cll=0,0 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.00 / hist-threshold=0.01 / no-opt-cu-delta-qp / no-aq-motion / no-hdr10 / hdr10-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=0 / analysis-save-reuse-level=0 / analysis-load-reuse-level=0 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=1 / refine-ctu-distortion=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / no-hevc-aq / no-svt / no-field / qp-adaptation-range=1.00 / no-scenecut-aware-qpconformance-window-offsets / right=0 / bottom=0",
"Default": "Yes",
"Forced": "No",
"colour_description_present": "Yes",
"colour_description_present_Source": "Stream",
"colour_range": "Limited",
"colour_range_Source": "Stream",
"colour_primaries": "BT.2020",
"colour_primaries_Source": "Stream",
"transfer_characteristics": "PQ",
"transfer_characteristics_Source": "Stream",
"matrix_coefficients": "BT.2020 non-constant",
"matrix_coefficients_Source": "Stream"
},

This one is fine -

{
"@type": "Video",
"StreamOrder": "0",
"ID": "1",
"UniqueID": "9487121700851483956",
"Format": "HEVC",
"Format_Profile": "Main 10",
"Format_Level": "5",
"Format_Tier": "High",
"HDR_Format": "SMPTE ST 2086",
"HDR_Format_Compatibility": "HDR10",
"CodecID": "V_MPEGH/ISO/HEVC",
"Width": "3840",
"Height": "2160",
"Sampled_Width": "3840",
"Sampled_Height": "2160",
"PixelAspectRatio": "1.000",
"DisplayAspectRatio": "1.778",
"FrameRate_Mode": "VFR",
"FrameRate_Original": "24.000",
"ColorSpace": "YUV",
"ChromaSubsampling": "4:2:0",
"BitDepth": "10",
"Delay": "0.000",
"Title": "UHD HDR10 [13.7Mb/s]",
"Default": "Yes",
"Forced": "No",
"colour_description_present": "Yes",
"colour_description_present_Source": "Container / Stream",
"colour_range": "Limited",
"colour_range_Source": "Container / Stream",
"colour_primaries": "BT.2020",
"colour_primaries_Source": "Container / Stream",
"transfer_characteristics": "PQ",
"transfer_characteristics_Source": "Container / Stream",
"matrix_coefficients": "BT.2020 non-constant",
"matrix_coefficients_Source": "Container / Stream",
"MasteringDisplay_ColorPrimaries": "Display P3",
"MasteringDisplay_ColorPrimaries_Source": "Stream",
"MasteringDisplay_Luminance": "min: 0.0000 cd/m2, max: 1000 cd/m2",
"MasteringDisplay_Luminance_Source": "Stream"
},

My thoughts are to start with the 'colour_primaries' field (if BT.2020 then HDR) - and then update it again from there with the normal HDR description fields to add the detail.

Happy to have a bash at coding this update myself if you are ok with it ?....

 

Edited by rbjtech
rbjtech
Posted (edited)

I think it's this (Capture HDR10 PQ Mode bit I added below) in MediaInfoScheduledTask.cs  ... gonna try it and see .. haha

//Dolby Vision/HDR 
                    string dolbyVisionOutput = "";
                    if (!string.IsNullOrEmpty(typeInfo.colour_primaries))
                    {
                        
                        if (typeInfo.colour_primaries == "BT.2020"  && typeInfo.transfer_characteristics != "HLG")
                            dolbyVisionOutput = FormatHelper.DolbyVisionOutput(typeInfo.HDR_Format, typeInfo.HDR_Format_Profile);
                        sb.Append(dolbyVisionOutput);
                        
                        // *** Capture HDR10 PQ Mode
                        
                        if (typeInfo.colour_primaries == "BT.2020"  && typeInfo.HDR_Format == "")
                        sb.Append("HDR10 PQ ");
                        
                        // *** End Capture HDR10 PQ Mode
                                                
                        if (typeInfo.colour_primaries == "BT.709" && typeInfo.Width == "3840")
                        {
                            sb.Append("SDR ");
                        }

                        if (typeInfo.transfer_characteristics == "HLG")
                        {
                            sb.Append("HLG ");
                        }
                    }

 

Edited by rbjtech
  • Like 1
rbjtech
Posted

Damn - I must have used an older version (1.0.1.15) as emby just updated it again to 1.0.1.20 ..

Is that the latest version on your private repo on Github ? - last update was over 4 Month ago - so I don;t think it's the latest ?

Thanks Dave.

Cheesegeezer
Posted
1 hour ago, rbjtech said:

I think it's this (Capture HDR10 PQ Mode bit I added below) in MediaInfoScheduledTask.cs  ... gonna try it and see .. haha

//Dolby Vision/HDR 
                    string dolbyVisionOutput = "";
                    if (!string.IsNullOrEmpty(typeInfo.colour_primaries))
                    {
                        
                        if (typeInfo.colour_primaries == "BT.2020"  && typeInfo.transfer_characteristics != "HLG")
                            dolbyVisionOutput = FormatHelper.DolbyVisionOutput(typeInfo.HDR_Format, typeInfo.HDR_Format_Profile);
                        sb.Append(dolbyVisionOutput);
                        
                        // *** Capture HDR10 PQ Mode
                        
                        if (typeInfo.colour_primaries == "BT.2020"  && typeInfo.HDR_Format == "")
                        sb.Append("HDR10 PQ ");
                        
                        // *** End Capture HDR10 PQ Mode
                                                
                        if (typeInfo.colour_primaries == "BT.709" && typeInfo.Width == "3840")
                        {
                            sb.Append("SDR ");
                        }

                        if (typeInfo.transfer_characteristics == "HLG")
                        {
                            sb.Append("HLG ");
                        }
                    }

 

Nice work Rich, did you compile and run a test? If it works, up the rev and I’ll update the master and post to catalog tomorrow 👍👍

Cheesegeezer
Posted
Just now, rbjtech said:

Damn - I must have used an older version (1.0.1.15) as emby just updated it again to 1.0.1.20 ..

Is that the latest version on your private repo on Github ? - last update was over 4 Month ago - so I don;t think it's the latest ?

Thanks Dave.

Oh shoot, I’m tied up and been lazy with github pushes. I’ll get latest to git tomorrow pal

  • Thanks 1
rbjtech
Posted
Just now, Cheesegeezer said:

Nice work Rich, did you compile and run a test? If it works, up the rev and I’ll update the master and post to catalog tomorrow 👍👍

It compiled ok - but it's on the old version 1.15 - and it's missing the 'per library' settings you added.

If you can update your github with the 1.20 - then I'll re-add and test .. :)

Thanks !

  • Like 1
Posted (edited)

Hi, in case of an update...its possible to add mkvpropedit v72.x/v73.x to the whitelist in this version?

I still dont had any issue with this version of mkvpropedit...

Thanks

Edited by Andy2k
rbjtech
Posted
1 minute ago, Andy2k said:

Hi, in case of an update...its possible to add mkvpropedit v73.x to the withelist in this version?

I still dont had any issue with this version of mkvpropedit...

Thanks

It's probably better if we just blacklist the one that caused issues - thoughts ?

Posted

yeah thats all v71.x versions...

  • Agree 2
Cheesegeezer
Posted
16 hours ago, rbjtech said:

It's probably better if we just blacklist the one that caused issues - thoughts ?

Rich, i just pushed 1.0.1.22 to Github.  i will need to update the catalogue but if you want to implement and test those changes we were on about yesterday.

I created a worker branch for you

image.png.652bf9ace7985d589f9fdda572500197.png

 

And in VS just click on the repo (bottom right) and you will have to go to remotes and select yours.  Then you can push changes to your branch, and then create a pull request. I will merge yours to the master, if all looks good.

image.png.c250ecab24e26e8558da7182310b240d.png 

rbjtech
Posted
1 minute ago, Cheesegeezer said:

Rich, i just pushed 1.0.1.22 to Github.  i will need to update the catalogue but if you want to implement and test those changes we were on about yesterday.

I created a worker branch for you

image.png.652bf9ace7985d589f9fdda572500197.png

 

And in VS just click on the repo (bottom right) and you will have to go to remotes and select yours.  Then you can push changes to your branch, and then create a pull request. I will merge yours to the master, if all looks good.

image.png.c250ecab24e26e8558da7182310b240d.png 

Perfect - thanks - I'll take a look shortly !

  • Like 1
Cheesegeezer
Posted
16 hours ago, rbjtech said:

It's probably better if we just blacklist the one that caused issues - thoughts ?

 

16 hours ago, Andy2k said:

yeah thats all v71.x versions...

But what if they release a version that breaks media again (i'm sure they had no intentions to do that in 71 but a few folk had media destroyed and was unrecoverable)

it's a pain in the ass... i know!!! and all we are doing is writing a header, not even remuxing or anything like that, but not everyone is savvy enough to test first.

 

rbjtech
Posted
2 minutes ago, Cheesegeezer said:

 

But what if they release a version that breaks media again (i'm sure they had no intentions to do that in 71 but a few folk had media destroyed and was unrecoverable)

it's a pain in the ass... i know!!! and all we are doing is writing a header, not even remuxing or anything like that, but not everyone is savvy enough to test first.

 

Fair point - I guess we need to play safe and rather it not work than potentially destroy the MKV's due to something outside of our control  ... :)

  • Agree 1
spongebob69
Posted

Should this plugin works also for mp4 files?

Posted
3 hours ago, spongebob69 said:

Should this plugin works also for mp4 files?

I might be mistaken but mkvtoolnix does work with mkv only.

  • Thanks 1
Cheesegeezer
Posted
4 hours ago, spongebob69 said:

Should this plugin works also for mp4 files?

No… mp4’s require remux via ffmpeg and can’t write just to headers, so decision was made to leave them out the mix, it opens possibilities of file corruption.

1 hour ago, neik said:

I might be mistaken but mkvtoolnix does work with mkv only.

💯 correct ma man!!

rbjtech
Posted

Cheese and I spend a bit of time investigating the use of MP4's - but in short, they are nowhere near as flexible as MKV's and while 'some' aspects of MP4's can be header modified, track titles (what we want) cannot.   Thus MKV's only.

Cheesegeezer
Posted

Synology is included in the wiki. @FrostByte wrote it. 
 

but you just need to select the mediainfo and mkvtoolnix files you downloaded in the relevant fields. Click on the search icon and it will give you a filepicker

Eigeplackter
Posted

Under synology you need to connect to it via ssh and the plugins folder is located under:

/var/packages/EmbyServer/var/plugins

 

You need to copy the dll to that directory and restart your emby server

  • Like 1
Teddyknuddel
Posted
43 minutes ago, MAX92 said:

And I don't know where are the files on my Synology.

MediaInfoCLI File Path:
/volume1/@appstore/mediainfo/bin/mediainfo

MKVPropEdit File Path
/volume1/@appstore/mkvtoolnix/bin/mkvpropedit

Provided that these two parts are also installed:

image.png.e67ce94bcd2207f4b6e9920819e4bee2.png

image.png.2886da2a5dff99a3457c1219bc9319f7.png

  • Thanks 3
rbjtech
Posted
1 minute ago, Teddyknuddel said:

MediaInfoCLI File Path:
/volume1/@appstore/mediainfo/bin/mediainfo

MKVPropEdit File Path
/volume1/@appstore/mkvtoolnix/bin/mkvpropedit

Provided that these two parts are also installed:

image.png.e67ce94bcd2207f4b6e9920819e4bee2.png

image.png.2886da2a5dff99a3457c1219bc9319f7.png

I've added this to the Wiki to help others - thanks for the Info !

  • Like 2
  • Thanks 1
Teddyknuddel
Posted (edited)

What will actually become of MediaInfo for Emby when Dolby Vision info is integrated in the new server version 4.8?

Because I think it's cool if I can see in advance that the faulty DV5 has been loaded, then I can correct it in advance.

Edited by Teddyknuddel

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