Jump to content

MediaInfo For Emby Plugin(HDR, Vision, Atmos, DTS:X)


Cheesegeezer

Recommended Posts

rbjtech
4 minutes ago, gouden said:

Problem is with the location of mkvtoolnix and mediainfo cli

if they are available in unraid - then just point the plugin to them.  if they are not, then the plugin is unfortunately not going to work for you.

  • Like 1
Link to comment
Share on other sites

1 hour ago, Cheesegeezer said:

Ok so you have two instances of the server. It is only looking for a file location. So point it to a local drive, the file location doesn’t rely on an emby server install you pick the location.

if that makes sense, it could be on a completely non raid drive… no issues

Don't think it can use the .exe files on unraid can it? 

Link to comment
Share on other sites

FrostByte
On 8/21/2022 at 10:29 AM, rbjtech said:

It supposed to be in 'ServiceKind' - but it's always the same as normal tracks.

after a bit of frustration with ffmpeg (lol) - it looks like ffmpeg can do it ..

ffprobe -v error -hide_banner -of default=noprint_wrappers=0 -print_format flat -select_streams a -show_entries disposition=comment "M:\Films 4K\Back to the Future (1985) [tmdbid=105]\Back to the Future (1985) - 2160p Remux DV THD Atmos.mkv"
streams.stream.0.disposition.comment=0
streams.stream.1.disposition.comment=0
streams.stream.2.disposition.comment=1
streams.stream.3.disposition.comment=0

Where 1 = a commentary flag in the MKV

These are all available - so we could potentially add them if they are in the MKV

DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0

 

Got it working for subs.  Thanks

Question: do you know how to write a filename with a hidden character?  Google isn't my friend today.

What I'm doing is looking for this flag in subs

streams.stream.0.disposition.hearing_impaired=1

If it's a "1" then I can write the title for PGS no problem, but when extracting srt I want to output something like:

moviename.English SDH.srt

The space after the language being a hidden character Alt-255 and not a regular space.  A space doesn't work with Emby as you know.

What I'm doing so far is just making it "moviename.EnglishSDH.srt" and then inserting the Alt-255 manually afterword.

Link to comment
Share on other sites

sydlexius
20 minutes ago, gouden said:

Don't think it can use the .exe files on unraid can it? 

You'd have to use a linux version of these tools, ideally statically compiled (IE, they don't utilize external libraries/objects).  I've had zero success with getting this to work on Unraid, BTW (though I'm at best, a junior-level admin when it comes to Linux).

Link to comment
Share on other sites

FrostByte
1 hour ago, FrostByte said:

Got it working for subs.  Thanks

Question: do you know how to write a filename with a hidden character?  Google isn't my friend today.

What I'm doing is looking for this flag in subs

streams.stream.0.disposition.hearing_impaired=1

If it's a "1" then I can write the title for PGS no problem, but when extracting srt I want to output something like:

moviename.English SDH.srt

The space after the language being a hidden character Alt-255 and not a regular space.  A space doesn't work with Emby as you know.

What I'm doing so far is just making it "moviename.EnglishSDH.srt" and then inserting the Alt-255 manually afterword.

@rbjtechnm.  I found a way, though it's a bit of a hack at best.

  • Like 1
Link to comment
Share on other sites

So I'd love to have tonemapped thumbnails - setup the plugin and it's working correctly for media info (video/audio streams are being renamed).  However when I run the thumbnail side - I can see it generates the 100s of image files in the temp folder (of the correct media, I can preview them individually and see they're the movie in question), once it is done however they all vanish and there's no .bif file in the media folder like there is with all my non-hdr files.  When I run it again it just skips everything unless I force it to overwrite files then it'll reprocess the movie but still no .bif.

Any thoughts to why it might not be saving the image output to the .bif file?  I don't seem to be able to locate a log anywhere - is that something I have to turn on?

Link to comment
Share on other sites

rbjtech
16 minutes ago, bookw said:

So I'd love to have tonemapped thumbnails - setup the plugin and it's working correctly for media info (video/audio streams are being renamed).  However when I run the thumbnail side - I can see it generates the 100s of image files in the temp folder (of the correct media, I can preview them individually and see they're the movie in question), once it is done however they all vanish and there's no .bif file in the media folder like there is with all my non-hdr files.  When I run it again it just skips everything unless I force it to overwrite files then it'll reprocess the movie but still no .bif.

Any thoughts to why it might not be saving the image output to the .bif file?  I don't seem to be able to locate a log anywhere - is that something I have to turn on?

So it sounds like it's failing for some reason using the actual bif generator part.  the ffmpeg and tonemapping extraction all sounds ok.

a) In the BIF generator tab - Have you set the biftool.exe location correctly ?  

b) Turn on Debug logging - there is some very comprehensive logging showing what is going on under the Class 'Media Info-HDRConvert'

Give me a few minutes and I'll show you an example in my log ..

Edited by rbjtech
Link to comment
Share on other sites

4 minutes ago, rbjtech said:

So it sounds like it's failing for some reason using the actual bif generator part.  the ffmpeg and tonemapping extraction all sounds ok.

a) In the BIF generator tab - Have you set the biftool.exe location correctly ?  

b) Turn on Debug logging - there is some very comprehensive logging showing what is going on under the Class 'Media Info-HDRConvert'

Give me a few minutes and I'll show you an example in my log ..

Yes - I even tried moving the location of biftool from C:\...\...\...\...\ (super long path) to simply T:\Video (incase it was something with long paths) but it's definitely set and selected / visible in the configuration screen for it (and I downloaded the windows one from the roku linked page).  I see the enable debugging under logging for emby now, I turned it on and will see what the log is saying, if I can find it haha.

Link to comment
Share on other sites

rbjtech

So I just created a fake HDR item - my log is below (filtered)

If you are still having issues - then post a new log (rotate lof file in the schedule, then run the HDR BIF task) or PM me if you like and I'll take a look.

2022-08-26 12:31:42.528 Info Media Info-HDRConvert:: HDR Conversion TASK IS STARTING
2022-08-26 12:31:42.528 Info Media Info-HDRConvert:: Getting All Movies in Library
2022-08-26 12:31:42.620 Info Media Info-HDRConvert:: Filtering HDR Movies
2022-08-26 12:31:42.865 Info Media Info-HDRConvert:: Total Movies in Library = 2148 
2022-08-26 12:31:42.865 Info Media Info-HDRConvert:: NO NEW MOVIES WITH HDR FOUND
2022-08-26 12:31:42.865 Info Media Info-HDRConvert:: Getting All Episodes in Library
2022-08-26 12:31:43.802 Info Media Info-HDRConvert:: Filtering HDR Episodes
2022-08-26 12:31:45.791 Info Media Info-HDRConvert:: Total Episodes in Library = 31876 
2022-08-26 12:31:45.791 Info Media Info-HDRConvert:: Total Episodes with HDR to Process = 1 
2022-08-26 12:31:45.791 Info Media Info-HDRConvert:: Total HDR Items to process = 1
2022-08-26 12:31:45.791 Info Media Info-HDRConvert:: Episode to extract HDR = The Rogue Prince 
2022-08-26 12:31:45.792 Debug Media Info-HDRConvert:: Args= -hide_banner -loglevel panic -threads 1 -skip_interval 10 -copyts -i "\\media\TV Series 4K\House of the Dragon (2022) [tvdbID=371572]\Season 1\House of the Dragon (2022) - s01e02 - The Heirs of the Dragon - WEBDL-2160p HDR EAC3 Atmos 5.1 - Copy.mkv" -an -sn -vf "zscale=t= linear:npl=100,format=gbrpf32le,zscale=p=bt709,tonemap=tonemap=mobius:desat=0,zscale=t=bt709:m=bt709:r=tv,format=yuv420p,scale=w=320:h=180" -vsync cfr -r  0.1  -f image2 "C:\Emby-Server\programdata\plugins\configurations\BIFTempImages\%08d.jpg"
2022-08-26 12:32:58.664 Debug Media Info-HDRConvert:: Image Extraction was Successful for The Rogue Prince and took 72 seconds
2022-08-26 12:32:58.665 Debug Media Info-HDRConvert:: Creating Bif File
2022-08-26 12:32:58.665 Debug Media Info-HDRConvert:: BifTool Path =C:\bif\biftool.exe
2022-08-26 12:32:58.665 Debug Media Info-HDRConvert:: BifTool SaveFolderPath =C:\Emby-Server\programdata\plugins\configurations\BIFTempImages
2022-08-26 12:32:59.792 Debug Media Info-HDRConvert:: Bif File Successfully Created for The Rogue Prince and took 1127 milliseconds
2022-08-26 12:32:59.792 Debug Media Info-HDRConvert:: C:\Emby-Server\system
2022-08-26 12:32:59.793 Debug Media Info-HDRConvert:: File exists..... Replacing BIF File in \\media\TV Series 4K\House of the Dragon (2022) [tvdbID=371572]\Season 1
2022-08-26 12:32:59.851 Info Media Info-HDRConvert:: HDR-SDR Conversion completed for The Rogue Prince 
2022-08-26 12:32:59.852 Info Media Info-HDRConvert:: HDR-SDR TASK HAS COMPLETED SUCCESSFULLY

 

Link to comment
Share on other sites

17 minutes ago, rbjtech said:

So I just created a fake HDR item - my log is below (filtered)

If you are still having issues - then post a new log (rotate lof file in the schedule, then run the HDR BIF task) or PM me if you like and I'll take a look.

2022-08-26 12:31:42.528 Info Media Info-HDRConvert:: HDR Conversion TASK IS STARTING
2022-08-26 12:31:42.528 Info Media Info-HDRConvert:: Getting All Movies in Library
2022-08-26 12:31:42.620 Info Media Info-HDRConvert:: Filtering HDR Movies
2022-08-26 12:31:42.865 Info Media Info-HDRConvert:: Total Movies in Library = 2148 
2022-08-26 12:31:42.865 Info Media Info-HDRConvert:: NO NEW MOVIES WITH HDR FOUND
2022-08-26 12:31:42.865 Info Media Info-HDRConvert:: Getting All Episodes in Library
2022-08-26 12:31:43.802 Info Media Info-HDRConvert:: Filtering HDR Episodes
2022-08-26 12:31:45.791 Info Media Info-HDRConvert:: Total Episodes in Library = 31876 
2022-08-26 12:31:45.791 Info Media Info-HDRConvert:: Total Episodes with HDR to Process = 1 
2022-08-26 12:31:45.791 Info Media Info-HDRConvert:: Total HDR Items to process = 1
2022-08-26 12:31:45.791 Info Media Info-HDRConvert:: Episode to extract HDR = The Rogue Prince 
2022-08-26 12:31:45.792 Debug Media Info-HDRConvert:: Args= -hide_banner -loglevel panic -threads 1 -skip_interval 10 -copyts -i "\\media\TV Series 4K\House of the Dragon (2022) [tvdbID=371572]\Season 1\House of the Dragon (2022) - s01e02 - The Heirs of the Dragon - WEBDL-2160p HDR EAC3 Atmos 5.1 - Copy.mkv" -an -sn -vf "zscale=t= linear:npl=100,format=gbrpf32le,zscale=p=bt709,tonemap=tonemap=mobius:desat=0,zscale=t=bt709:m=bt709:r=tv,format=yuv420p,scale=w=320:h=180" -vsync cfr -r  0.1  -f image2 "C:\Emby-Server\programdata\plugins\configurations\BIFTempImages\%08d.jpg"
2022-08-26 12:32:58.664 Debug Media Info-HDRConvert:: Image Extraction was Successful for The Rogue Prince and took 72 seconds
2022-08-26 12:32:58.665 Debug Media Info-HDRConvert:: Creating Bif File
2022-08-26 12:32:58.665 Debug Media Info-HDRConvert:: BifTool Path =C:\bif\biftool.exe
2022-08-26 12:32:58.665 Debug Media Info-HDRConvert:: BifTool SaveFolderPath =C:\Emby-Server\programdata\plugins\configurations\BIFTempImages
2022-08-26 12:32:59.792 Debug Media Info-HDRConvert:: Bif File Successfully Created for The Rogue Prince and took 1127 milliseconds
2022-08-26 12:32:59.792 Debug Media Info-HDRConvert:: C:\Emby-Server\system
2022-08-26 12:32:59.793 Debug Media Info-HDRConvert:: File exists..... Replacing BIF File in \\media\TV Series 4K\House of the Dragon (2022) [tvdbID=371572]\Season 1
2022-08-26 12:32:59.851 Info Media Info-HDRConvert:: HDR-SDR Conversion completed for The Rogue Prince 
2022-08-26 12:32:59.852 Info Media Info-HDRConvert:: HDR-SDR TASK HAS COMPLETED SUCCESSFULLY

 

So I selected "enable debug logging" until next restart but I don't see any log entry in that screen for media info after running it, are those logs separate and what location would they be in?  

Link to comment
Share on other sites

rbjtech

It's in the standard embyserver.txt log file 

<where you installed emby>\programdata\logs\

 

Edited by rbjtech
Link to comment
Share on other sites

34 minutes ago, rbjtech said:

It's in the standard embyserver.txt log file 

<where you installed emby>\programdata\logs\

 

Thanks - I'll continue in PM to avoid another 20 bumps here and then recap the relevant troubleshooting.

Link to comment
Share on other sites

rbjtech
2 hours ago, bookw said:

Yes - I even tried moving the location of biftool from C:\...\...\...\...\ (super long path) to simply T:\Video (incase it was something with long paths) but it's definitely set and selected / visible in the configuration screen for it (and I downloaded the windows one from the roku linked page).  I see the enable debugging under logging for emby now, I turned it on and will see what the log is saying, if I can find it haha.

 

So just to conclude this - the Video Preview option must be turned ON and have EXISTING BIF's for the Plugin to then replace them with nicely tone mapped BIF's. ;)

 We can probably improve the error handling here - so thanks @bookw for highlighting this.

Edited by rbjtech
  • Like 1
Link to comment
Share on other sites

Yup - thanks!  I guess the next issue I'm having now is the .bif file is not being created from what I can see in the system folder, puzzling.  Hopefully I can figure this one out too, or else I might just need to generate the thumbnails using the HD versions of the movies instead of the HDR version.

Link to comment
Share on other sites

rbjtech
1 hour ago, bookw said:

Yup - thanks!  I guess the next issue I'm having now is the .bif file is not being created from what I can see in the system folder, puzzling.  Hopefully I can figure this one out too, or else I might just need to generate the thumbnails using the HD versions of the movies instead of the HDR version.

We will try and sort it out - but I know @Cheesegeezer is out the county at the moment so he can't give this his immediate attention. 

I've got the source and I hope cheese doesn't mind me posting a tiny extract of it here.

This is on a condition of the new bif file being created - it then deletes the old .bif and moves the temp (tonemapped) bif file to the original location, renaming it at the same time.

This is where I think it's failing - as it deletes the original bif, but then doesn't move the temp file ...

We'll get there .. 

if (File.Exists(existingFile))
                    {
                        File.Delete(existingFile);
                    }

File.Move(Path.Combine(systemDir, bifFile), Path.Combine(item.ContainingFolderPath, newFileName));

 

  • Like 1
Link to comment
Share on other sites

Thanks - yeah, I'm at a loss, but definitely quite confused with it all!  I will be patient and I'm sure it's something dumb making it not write the .bif but it is writing the individual images in to the temp folder. 

I'm very impressed with the speed, processes a full movie in under 10 minutes (before it clears out all its work with nothing to show for it) - definitely a lot quicker than ripping the bluray for the thumbs!

Link to comment
Share on other sites

mrmorrison

Bye! Congratulations on this great plugin which is ESSENTIAL to me.

If I write here it is also to ask if it is possible to implement the signaling of the Dolby Vision profile type 7, ie FEL or MEL. It would be very convenient for me as I play my media from Emby installed on my Sony TV which unfortunately supports DV 5.8 and 7 MEL.

For the FEL I have to switch to CCwGTV. Normally, being a fussy eater, I use MkvToolNix to manually change the header, after running the plugin, just to add "FEL" or "MEL" and I establish this from the size of the 1080p track of the disc (that contains the Dolby Vision ).

I understand that if it's about 2Mb in size or less, it's MEL. If it is larger, it is FEL. I know of no other ways to determine this information.

Sorry if I talked too much and for my English and I hope this feature is possible in the future.

Greetings

Edited by mrmorrison
Link to comment
Share on other sites

mrmorrison
On 8/26/2022 at 8:52 PM, rbjtech said:

 

This is where I think it's failing - as it deletes the original bif, but then doesn't move the temp file ...

We'll get there .. 

if (File.Exists(existingFile))
                    {
                        File.Delete(existingFile);
                    }

File.Move(Path.Combine(systemDir, bifFile), Path.Combine(item.ContainingFolderPath, newFileName));

 

Wow! Is the script written in vb.net or am I misrepresented? It is a language I work with every day

Link to comment
Share on other sites

FrostByte
25 minutes ago, mrmorrison said:

 

I understand that if it's about 2Mb in size or less, it's MEL. If it is larger, it is FEL. I know of no other ways to determine this information.

 

That is a fairly accurate way, but the true way would be to analyze the metadata for a frame. You can to that with dovi_tool and I believe Softworkz posted a few pics of a new version of ffmpeg that displays FEL/MEL.

It won't be long and there will be more and more devices which can actually utilize the FEL and not just the RPU on mkv DV7 movies.

I would like this additional information myself.

  • Like 1
Link to comment
Share on other sites

mrmorrison
4 minutes ago, FrostByte said:

That is a fairly accurate way, but the true way would be to analyze the metadata for a frame. You can to that with dovi_tool and I believe Softworkz posted a few pics of a new version of ffmpeg that displays FEL/MEL.

It won't be long and there will be more and more devices which can actually utilize the FEL and not just the RPU on mkv DV7 movies.

I would like this additional information myself.

yes, I imagined that there was a more appropriate way to recognize FEL. My way is "taken from the street" 😆

  • Haha 1
Link to comment
Share on other sites

Cheesegeezer
3 hours ago, mrmorrison said:

Wow! Is the script written in vb.net or am I misrepresented? It is a language I work with every day

c# Fella which isn't to disimilar

4 hours ago, mrmorrison said:

Bye! Congratulations on this great plugin which is ESSENTIAL to me.

If I write here it is also to ask if it is possible to implement the signaling of the Dolby Vision profile type 7, ie FEL or MEL. It would be very convenient for me as I play my media from Emby installed on my Sony TV which unfortunately supports DV 5.8 and 7 MEL.

For the FEL I have to switch to CCwGTV. Normally, being a fussy eater, I use MkvToolNix to manually change the header, after running the plugin, just to add "FEL" or "MEL" and I establish this from the size of the 1080p track of the disc (that contains the Dolby Vision ).

I understand that if it's about 2Mb in size or less, it's MEL. If it is larger, it is FEL. I know of no other ways to determine this information.

Sorry if I talked too much and for my English and I hope this feature is possible in the future.

Greetings

Byeee to you too lol 🤣  - just kidding, hello and thanks for the kind words.

I will need to consult my experts on this @FrostByte and @rbjtech - I am literally just the coder and understand the concept of the formats but no expert at all on the various layers.  I can say that... we are giving as much information as possible that MediaInfo allows us to provide accurately for the end user.  And also adding in other specific conditions to derive other formats.

Let see what we can do.

  • Like 2
Link to comment
Share on other sites

rbjtech

In summary, we need to get correct DV Colour space to SDR conversion in ffmpeg to create the thumbnail images.

The latest ffmpeg 5.1 does support DoVi - but I just haven't had the time to play with it yet and what this really means.

Identifying 'Dovi' is one thing, but unless that translates into all the ffmpeg filters - then it's not gonna get us much.

As @Cheesegeezer says - lets see what we can do ... :)

  • Like 1
Link to comment
Share on other sites

@Cheesegeezer, I really don't want to be the annoying guy but how is the issue Frosty brought up (regarding TrueHD) going?

IIRC according to one of your posts it's fixed, but when will it be released?

I would really like to run this through my library but I'm holding back due to this.

Thank you!

Link to comment
Share on other sites

rbjtech
5 minutes ago, neik said:

@Cheesegeezer, I really don't want to be the annoying guy but how is the issue Frosty brought up (regarding TrueHD) going?

IIRC according to one of your posts it's fixed, but when will it be released?

I would really like to run this through my library but I'm holding back due to this.

Thank you!

In summary, what's the issue - sorry, this is now a long thread .. ;)

Link to comment
Share on other sites

Cheesegeezer
2 hours ago, rbjtech said:

In summary, what's the issue - sorry, this is now a long thread .. ;)

@neik all sorted now fella. 
 

i will actually release a new version but hide the subkiller stuff until i have finished that.  Need to fix the bif issues also rbj found. 
 

no time at the moment, i am consumed by by work and farming at the mo

  • Like 3
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...