INTERACT FORUM
Windows => Third Party Plug-ins, Programs, and Skins => Topic started by: jmone on August 29, 2016, 01:05:37 am
-
Last Updated: 29 Mar 2022
Description: "Swag of Tools" is a collection of my scripts in a single GUI maintaining a consistent Look and Feel and includes:
- Chapterfy: Creates Chapter Based Particles (so you can manage Music Videos on a per Track Basis as you can a CD)
- Particlise: Bulk Creation of Particles
- Data Fiddler: Lets you Import / Export / Update the MC Library from a Spreadsheet
- Media Checker: Checks if Items on your HDD are actually in you Library
- Burn2BD: Transcodes a Video for the Production of a Blu-ray ISO (optionally lets you then burn it to a disk)
- MediaInfo: Uses MediaInfo to get the information of you media file and will update MC including if the Audio contains Atmos/DTS:X and can also determine a video's crop factor (uses ffmpeg)
- Filename Updater: Allows you to manually correct the "Filename" field even for items like Particles that can not be updated in the MC GUI
How to use: The latest AutoHotKey Script and a 64-Bit compiled version can be found at: https://github.com/jmone1/Swag-of-Tools/releases (latest 64-Bit compile version is attached to this post)
- It will only run in Windows and is GUI based
- It needs no install, just extract the version you want to a handy folder and run it from there.
- When you first run MC Tool Box it will create a .ini file (for the MCWS logon details) and add "Sent To" shortcuts in MC for many commands (but you may need to run it "As Administrator" this first time to add these links).
- You can then either use one of the "Right Click --> Send To --> Send To (external) -->" short cuts to run just that one command or run the EXE directly (or if you have AHK Installed the AHK script) to see the full menu of available options and their descriptions.
- If you were using any of my standalone versions or older versions, you should remove their links in "Right Click --> Send To --> Send To (external) --> Add/Edit Programs"
Notes, Limitations, Future Stuff:
- Let me know of the bugs.... There will be rough edges around this for now
- Make sure you Backup your Library First as there is no "undo" function and you can change a whole bunch of stuff!
- Let me know of any Feature Requests or Enhancements
-
Guide: Chapterfy (Particlise Anything - aka Manage Music Videos Like CDs) - Old Chapterfy Thread (http://yabb.jriver.com/interact/index.php/topic,100436.0.html)
Background: MC Lets you manually create Particles (http://wiki.jriver.com/index.php/Particles) that can include a Playback Range for a chapter / part of a file for playback. There are several issues limitations to the current approach:
- Time Consuming to Create (as you have to manually find and enter the Names and Playback range for each particle)
- Can not be saved as sidecar files (so can not recreate or move between libraries)
NOTE: ChapterDB is no longer (RIP) - there is a backup hosted here (https://chapterdb.plex.tv/browse)that you can still be used (and browsed) but the API is gone that will auto match the files
ChapterDB (http://www.chapterdb.org/) is an online data base with 100,000+ user created chapter files for Blu-ray, DVD, and other files. ChapterDB lets you search for and download a Chapters file (in either a TXT or XML format). This script is based on the TXT format that looks like:
CHAPTER01=00:00:00.000
CHAPTER01NAME=A New World
CHAPTER02=00:06:17.960
CHAPTER02NAME=You are not in Kansas anymore
What Chapterfy does: It creates MC Particles for each chapter of a file with Chapter Names and Start/Stop Times. The particles created will have all the same meta data as the original file but the script will populate the following MC Fields:
- Playback Range with "Start"-"End" timecodes
- Name will be the "ChatperName"
- Track # will be the order of the Chapters in the File
Options and Examples: Chapterfy has the following options:
Chapter DB Lookup Auto : This feature only works on Blu-ray Playlists. You would normally:
1 - need to create the BD Title Particle(s) - in MC, Select your BD --> Right Click --> Stacks --> Advance --> Auto Create BD/DVD Title Particles.
2 - check what which BD Title Particle you want to Chatperfy as MC Tool Box will create a Particle for each "Title" on the BD. Just play the newly created Title Particles to find the main one with all the chapters listed (it will typically be the one with the longest playback time).
3 - Once you have selected the desired a MPLS (BD Chapter Particle) in MC, Chapterfy will attempt to Automatically Look up a match at ChatperDB and create the Chapters based on their Chapter Names and Start / End Times.
Chapter DB Lookup with ID # : Similar to above but, this feature works on any File Type. Enter the ChapterDB # to auto get the chapter file from the www.chapterdb.org website and have it applied to ANY single file selected in MC
Read Blu-ray MPLS : This feature only works on Blu-ray Playlists. I've written a MPLS parser to grab the Chapter # and Times directly from the MPLS but you will need to manually enter your own Chapter Names (as they are not contained in the MPLS itself).
Manually Create : This feature works on any File Type. Edit your own chapter (txt not xml) file based on the number of chapters you want and have it applied to ANY single file selected in MC.
Chapter.txt File : This feature works on any File Type. Allows you to use an existing Chatper.txt file to Chapterfy an item in MC. You can also Backup / Create a sidecar chapters (txt not xml) file for the existing particles you have selected in MC regardless of filetype.
Attached is a screenshot of ChapterDB.
Notes, Limitations, Future Stuff:
- If creating a sidecar chapters file from existing particles make sure they are shown in the correct order in MC
- I'm hoping that one day MC will support chapter side car files for displaying chapter names in the MC Menu during playback (instead of Chatper 1, 2 etc) but that is up to JR
- There is a bug in MC : Incorrect Filename on Create Particles (sometime) (http://yabb.jriver.com/interact/index.php?topic=81508.0)
Other Options:
My inspiration is MrC's much more advanced MCUtils Based Script - Guide: Generate Chapter Based Blu-ray Particles (aka Rip Music BDs Like CDs) (http://yabb.jriver.com/interact/index.php?topic=89627.0)
-
Guide: Particlise
Background: MC Lets you manually create Particles (http://wiki.jriver.com/index.php/Particles) but it can be time consuming to create a batch of them.
What Particlise does: It Bulk creates MC Particles for each selected file in MC. The particles created will have all the same meta data as the original file.
Options and Examples: Particlise has the following options:
Create # : Creates the required # of Particles for every item Selected in MC
Notes, Limitations, Future Stuff:
- There is a bug in MC : Incorrect Filename on Create Particles (sometime) (http://yabb.jriver.com/interact/index.php?topic=81508.0)
-
Guide: Data Fiddler (MC Library <-> Spreadsheet Import/Export/Update) Old Data Fiddler Thread (http://Guide: Data Fiddler (MC Library <-> Spreadsheet Import/Export/Update))
Background: MC has all the power you need to maintain and modify data within it's GUI. A few members however want to be able to import/export their library to tools like excel, some want to the modify and update this information, and others would like to be able to use a spreadsheet to add new items (for existing meta data holdings, dummy files etc)
This utility has 4 Options
- Export the Entire MC Library: Exports your entire Library to a MPL and converts to a Unicode/Tab Delimited TXT file which you edit in Excel etc
- Export Selected Items from the MC Library: Exports only the Items Selected in MC to a MPL and converts to a Unicode/Tab Delimited TXT file which you edit in Excel etc
- Convert a MC MPL Playlist File: Converts an existing MC MPL (playlist) File to a Unicode/Tab Delimited TXT file which you can edit in Excel etc
- Update MC Library: Updates existing and adds new Items in your MC Library from a Unicode/Tab Delimited TXT file. The ability to directly add new items is only supported with MC Version 22.0.21 or later
- Create/Import a MC Playlist File: Creates a MC MPL (playlist) File from a Unicode/Tab Delimited TXT file (optionally asks it you want import) that lets you add new items to the MC Library - This is kept for those with older versions of MC.
Examples: Read the posts below for examples of what it can do.
- Adding Items to MC from a Spreadsheet (http://yabb.jriver.com/interact/index.php?topic=102906.msg714492#msg714492) - useful if you want to add items with no associated file such as managed a physical disk collection
- Updating Items in MC from a Spreadsheet (http://yabb.jriver.com/interact/index.php?topic=102906.msg714516#msg714516) - useful if you want bulk update vales for existing items.
- add your "off line" media library to MC (http://yabb.jriver.com/interact/index.php?topic=102906.msg714653#msg714653) by 8139david
- How to update a non editable System Field like Date Imported (http://yabb.jriver.com/interact/index.php?topic=102906.msg714728#msg714728)
- others???
Notes, Limitations, Future Stuff:
- It takes me about 2mins to export my 30K library to a Unicode/Tab Delimited Text file and will use a bunch of Memory in the process. You may need to use the 64-Bit Version of MC Tool Box for large libraires if you run out of Memory
- It will create a spreadsheet of all used Library Fields (eg if you have not populated a field it will not appear), many of these fields are system fields
- *BEWARE* it WILL change or add stuff to your Library and there is no "Undo".... so backup your Library before you modify it.
- To increase the compatibility with various TXT editors, Excel etc, any field in MC that has Tabs and Carriage Returns Line Feeds embedded in the data will be shown as {TAB}, {CR}{LF} in the exported Text File. So in an Excel you may have a Description that looks like "This Movie version is:{CR}{LF}{TAB}- The Original Theatrical Release{CR}{LF}{TAB}- Filmed in Sydney Australia" all in one cell, and in MC it will appear as:
This Movie version is:
- The Original Theatrical Release
- Filmed in Sydney Australia
"Key" Vs "FileKey": In the MC GUI, the primary "Key" for all entries is a hidden field so SOT will add a "Calculated Field" called "FileKey" that will show this information (see attached pic). During the import and export this field is just called "Key". So if you are using the "Update MC Library" the Column Header in your TXT file should be called "Key" (not "FileKey") or nothing will match and be updated. If you want to be able to view the FileKey from within MC's views then you need add "FileKey to your view.
MC Version 22.0.21 or later: Lets DataFiddler add new items from a TXT file using the "Update MC Library" option where the "Key" field is populated with "new".
Importing the TXT file into Excel: If you just drag and drop your TXT file into Excel, it will import the file using a "General" data format. This General data format will have Excel process every cell and it may change the text as a result.
As we want nothing to be changed by Excel we want to use "Text" as the data format. To do this, open the file using the Wizard, select all the Col (Select Col 1, scroll to the end and Shift Click the last Col) then change the format to "Text" (see pic). Keep in mind that even with the above technique, some longer integer #'s get truncated by Excel. It will probably not be an issue but don't update Columns you don't need to (say Frame per Sec for those NTSC frame rates).
Saving the TXT file from Excel: The text file to be used to update MC must be a Unicode/Tab Delimited TXT file. In Excel, make sure it is saved as "Unicode Text (*.txt)". If you used DataFiddler to create the TXT file, it will already be in this format.
-
Guide: MC Media Checker (Check for Items on HDD but Missing in MC) Old MC Media Checker Thread (http://yabb.jriver.com/interact/index.php/topic,103555.0.html)
Background: MC has the Ability to check for "Missing Filenames" for items that are in the MC Library but not on the HDD. Unfortunately the opposite is not easy to do (eg check what might be missing from the MC Library that is present on the HDD). As an example, you can end up with "orphaned" files when using MC's delete function if you have selected "Remove from Media Library" when you really wanted either "Remove from Media Library & ..Delete / ...send to the Recycle Bin" options.... and they can be hard to find later.
MC Media Checker allows you to select a Folder and it will check each file under that folder (and all sub folders) to see if they exist in the MC Library. Any items that do not exist will be written out to a TXT File called "FileList.txt" that you can then examine.
Notes, Limitations, Future Stuff:
- There is no logic in this script, it just reads a file and checks if it is in MC so you can end up with a big list of sidecar files, coverart, and in the case of Blu-ray / DVD rips a whole list of subfiles that MC does not display even though the "Main" file exists
- Files that are in MC but have a different name than the file system will also be reported
- It may not handle some extended characters sets well, so keep an eye on your files.
- At this stage this script does not change anything it either MC or the HDD. I was thinking of adding a buttons like "Add all to MC" and "Delete all from HDD" but ..... best to check manually at this stage.
- I could also offer a "Filter" so that it only checked for particular extensions (eg MP3, FLAC etc) to help avoid finding stuff like valid sidecar files
-
Guide: MCBurn2BD (Burn any Video from MC to a Blu-ray): Old MCBurn2BD Thread (http://yabb.jriver.com/interact/index.php/topic,100948.0.html)
Background: This script lets you burn any Video file that MC can "convert" including Particles, TV Recordings etc to a ISO Image file and optionally a Blu-ray disk.
The script will then in order:
- Transcode the Video using MC's existing "MPEG2-TS 1080p AUTOFPS" profile
- Make a BD ISO using a portable version of tsMuxeR (http://forum.doom9.org/showthread.php?t=134104)
- Burn to Disk using Windows Inbuilt ISO Burner
- At this stage you can only burn a single file. If there is any interest I can look at supporting Multiple Files --> 1 BD (eg make a compilation disk)
- The files can be Big and can take awhile to convert so you have to be patient
- The profile I'm using is 1080p MPEG2 with 2ch AC3/DD. This is the most compatible of the existing profiles for BD as this stage. This may change if there are other BD Compatible conversion profiles in the future
- No fancy Menus etc, but the disk should just "play" when you put it in a BD Player
Video Overview : From an older version of Burn2BD (https://dl.dropboxusercontent.com/u/59011278/MCBurn2BD.mp4)
-
Guide: MediaInfo (Uses MediaInfo (https://mediaarea.net/en/MediaInfo)to collect data on your library items):
Background: MC uses ffmpeg/ffprob to collect information on the media in your library and update fields such as Compression Info. Unfortunately, ffmpeg/ffprob is unable to differentiate if a TrueHD/DTS-MA has Atmos/DTS:X extensions. This script will download and use the CLI version of MediaInfo to collect this information.
The script will then in order:
- Analyse Selected File(s) using MediaInfo
- Save as an "Extra" File the output of MediaInfo in the same directory under NAME_MediaInfo.txt
- Update the "Compression" Tag with "+Atmos" or "+DTS:X" if the file contains it
- Update the "Languages" Tag with any of the languages if the file contains it that information
- Optionally Update any MC Field with data from the MediaInfo Report
Notes, Limitations, Future Stuff:
- It should work on any Media File
- To see the Extra File, right click on the file in MC ---> Extra ---> "OriginalFileName_MediaInfo.txt" to view
- Some Blu-ray discs seem to confuse MediaInfo so the script will also add the information from the largest M2TS to the OriginalFileName_MediaInfo.txt file and scan this for Atmos or DTS:X info
- Optionally (in the non-run time mode), you can select to not have the "OriginalFileName_MediaInfo.txt" saved, though it will still update the Compression Field
- Optionally (in the non-run time mode), you can select what Field in MC to update from what Field in the MediaInfo report (and also restrict by section of the report). Eg - You can update the MC "Description" field with all values for "Format" in the MediaInfo report and also restrict it to a section of the report (such as General, Video, Audio, Text... Even down to a single stream like Video #1 or Text #4). You can then update (add to) that same MC field the results of another search. If you leave the MediaInfo Field and Section areas blank it will add all Unique values in the report to the MC Field.
- It can take some time to run especially on certain Blu-Ray Discs (the confusing ones)
- Media Info seems to generate some bizarrely long and incorrect details on some Blu-ray folders (but running it on files looks fine - so the Extra's File will have the details from the BD Folder and the Larget M2TS in the Folder)
- If you want to reset the Compression Info back to MC's stock values, just right Click--> Update Library from Tags
- If you want to delete the Extra's File just do a search in Windows for "*MediaInfo.txt" and delete them
-
Update: 29 Aug 2016
- Unified all the my various scripts into one UI (bound to be bugs)
- Adds a field in MC called "Chapter DB #" for later use (note: requires MC22.0.21 or later)
- Data Fiddler Update MC Library: Can now also ADD items to MC (in addition to updating only). All items to be added should have the "new" in the "Key" Field. You can have a mix of New and items to be Updated in the one spreadsheet. (note: requires MC22.0.21 or later)
-
Thanks for your work on this Nathan.
I'd like to add two little gems I discovered to help pull chapters from a DVD folder rip from IFO's or an MKV rip with embedded chapters.
Chapter-X-tractor can rip the chapters from a DVD IFO or AVI and create an OGG text file which you can then manually type in the chapter names and chapterfy can then use that as a manual txt file to create the particles.
http://www.videohelp.com/software/ChapterXtractor
(https://c1.staticflickr.com/9/8726/29276038376_3c10d0e8aa_c.jpg) (https://flic.kr/p/LB2mfm)chapter-x-tractor (https://flic.kr/p/LB2mfm) by Hilton (https://www.flickr.com/photos/133784514@N07/), on Flickr
And Chaptereditor rev0.48 can rip the chapters from a MKV or just about any other file type to create the OGG format text file which you can again customise and save and then import with chapterfy as a manual chapter txt file to create the particles.
You need to also install mkvtoolnix for MKV support
http://www.videohelp.com/software/chapterEditor
https://mkvtoolnix.download/
(https://c6.staticflickr.com/9/8776/29310055165_d5cbbbf46b_c.jpg) (https://flic.kr/p/LE2GfH)Chaptereditor (https://flic.kr/p/LE2GfH) by Hilton (https://www.flickr.com/photos/133784514@N07/), on Flickr
-
FYI - ChapterDB also support chapter files for DVD's as well.... but I hardly have any so have not bothered. When I did, I used the old venerable DVDDecrytper that could bust a DVD up into individual mpgs per chapter.
-
OK - Found the first Bug. If you run 2 consecutive Datafiddler extracts from MC with different selections, you get the first results both times. I must not be resetting the values for the subsequent runs.
For now you need to CLOSE and Reopen MC Tool Box for each command.
Unfortunately I will not get to fix this till the end of the week (travelling with work).
-
Some Wit (read JimH) suggested I should come up with a better name.... like "Aussie Tool Box" or "Snake Bite Kit" Any suggestions (I'm even less talented at "branding"!).
Thanks
Nathan
-
Name suggestions in line with Jim's:
Crikey! Utilities
Wingo Utilities
Dombat Utilities
Nan's Hat Utilities (Anagram of Nathan's)
-
How about Bagatelles (https://www.vocabulary.com/dictionary/bagatelle)?
It sounds like something Aussie.
-
Well Bagatelles is nice, but it is French, not Aussie :)
-
So I am clear on this, Chapterfy automatically finds and stores the chapter names? I am just beginning ripping my concert/musical performance Blu-rays and have been manually searching and entering them into chapters.txt before muxing into an MKV.
Jeff
-
Yup. It will pull the chapter info for a BD from ChaperInfo and then use it to create an entry in MC for each one.
-
I noticed that "chapter" is spelled "chatper" quite a bit.
I'm trying to create sidecar chapter.txt files. I select all the chapters, but Chapterfy will only list the last chapter that has been selected. Am I doing something wrong or is there a bug?
-
I'm on the road at the moment but I'll have a look on the weeked.
-
Updated version in the OP - Cleaned a few things up.
I noticed that "chapter" is spelled "chatper" quite a bit.
17 Times in fact!
I'm trying to create sidecar chapter.txt files. I select all the chapters, but Chapterfy will only list the last chapter that has been selected. Am I doing something wrong or is there a bug?
It was a bug, I was deleting an existing chapter.txt file every entry instead of just the once.
Let me know if it works now.
Thanks
Nathan
-
Some Wit (read JimH) suggested I should come up with a better name.... like "Aussie Tool Box" or "Snake Bite Kit" Any suggestions (I'm even less talented at "branding"!).
"Swag of Tools"
-
Pub Lunch
-
Mmmm Pub Lunch ... but I do like "Swag of Tools" very Aussie - so we have a winner. (will need to change the code to reflect it at some point...)
-
:D
-
This is working great now! Thanks for the fix, jmone.
For all my Blu-rays, it is creating the chapter.txt file in either the \BDMV or the \BDMV\Playlist folder. I can't find any consistency. If I search for all the chapter.txt files to archive or share with other, they don't have anything in the name that lets me know what movie they go with. They won't always be sidecar files. Perhaps the album tag could be appended to the front of the txt file.
-
I just found out I can select all my Particles and Chapterfy will create individual txt files for each Blu-ray concert with just one click! Awesome!
I used the Video > Files view and set the List Style to Details. I typed "particle" in the search bar and it returns all Particles. I selected all files listed and then used Chapterfy to generate all the txt files.
-
Glad it works...but it should be creating the Chapter.txt file with the same name and next to the MPLS as a sidecar file (and not in any other directory) using the naming "Same_Name_As_The_mpls.chapters.txt". Also, the reason I've done this is in the hope that one day MC will use Chapter sidecar files to display chapter info (just like sidecar subs). That said, I could make it that you can choose a naming convention like "Name.MPLS.Chapters.TXT"
Any pattern on the chapter.txt files not being saved in the correct directory (also are they named correctly with the MPLS name).
Thanks for testing
-
Any pattern on the chapter.txt files not being saved in the correct directory (also are they named correctly with the MPLS name).
Thanks for testing
I haven't any more, but will be doing so again soon. I'll see how they are named and where they are placed.
If I'm creating Particles from chapter.txt files, I've had Chapterfy insist on using the previously loaded txt file on several occasions. I have to close Chapterfy and reopen to fix the issue. At first I thought my txt files were copied or named wrong. I opened them in notepad and they were all fine.
Here is what I do:
- Select Blu-ray concert in JRiver
- Switch to MC Tool Box (Chapterfy) which is already running
- Select Create from Chapter.txt and click Create Chapters
- Find txt file that corresponds to Blu-ray and click Open
- Previous txt file opens in notepad/Chapterfy for editing
- Scratch head
-
I'll check on the Weekend (away at present). From what you are saying, Chapterfy is keeping a previous chapters.txt file in memory and not the latest one opened?
-
Should be fixed (new version in the OP). I was not overwriting my temp.chatpers.txt file - see how it goes now.
Thanks
Nathan
-
Chapterfy was working for me last weekend, but would create ~10 extra entries of the last chapter. Today I get to "Would you like to now Chapterfy [title]" and it hangs. I can't Chapterfy from text or mpls. I had deleted 32-bit JRiver this week so thought that may be the issue. I reloaded it and still have the issue. I wonder if MC Tools needs to be updated for the 64-bit version of JRiver.
-
I'll have a look....
-
Did a couple of tests with:
- Manual creation of Particles
- Auto creation (with Chapter Names pulled from ChatperDB)
- Creation from chapter.txt sidecar file
May have found something. It could be poor handling of any characters like the comma. Can you post a copy of your chatper.txt file?
-
Did a couple of tests with:
- Manual creation of Particles
- Auto creation (with Chapter Names pulled from ChatperDB)
- Creation from chapter.txt sidecar file
May have found something. It could be poor handling of any characters like the comma. Can you post a copy of your chatper.txt file?
I downloaded the txt files from ChaptersDb.org for:
Joe Bonamassa Live From The Royal Albert Hall 2009 (#18908)
Joe.Bonamassa-An.Acoustic.Evening.2013 (#76050)
Neither worked.
-
I just tried on another PC and it is working fine. I had even rebooted the 1st PC and still couldn't get it to work - with any text file. I'll remove all copies of MC Tool Box and try again later tonight.
I did notice that your version date needs to be updated.
-
Thanks - I'll update the ver # once you have tested (if I need to make other changes - it defiantly does not like commas in the text file but it is fine when it auto reads from chapterDB).
Tested "Joe Bonamassa Live From The Royal Albert Hall 2009" and it worked fine for me.
In the logging box do you get:
Media Center Version 23.0.78 Found at xxx.xxx.xxx.xxx:52199
If not check your settings in the INI file.
-
In the logging box do you get:
Media Center Version 23.0.78 Found at xxx.xxx.xxx.xxx:52199
Yes.
I'll test some more tonight.
-
I used my old copy of Chapterfy. It provided some logging to show that Media Network > Authentication was not turned on. Evidently, updating to the 64-bit version of JRiver turned this off and I didn't realize it.
I found that Test Configuration shows "success" even if Authentication is turned off.
Thanks again for making this tool. It sure saves a lot of time. I now have almost all my Concert Blu-ray's made into Particles and can access individual songs or the entire concert on Theater View or JRemote.
-
Glad it is working and thanks for the test. I'll look at the logging for Authentication as well. ;D
-
This looks like it could be exactly what I need. I use Smartlists all the time and I recently started creating one for Rolling Stones top 500 albums of all time. I figured I likely have all 500 in my collection and wanted to create a smartlist for these 500 albums. I was able to find a .csv file online with a list of these albums so my question is it possibe? I started doing this manually by finding each album and just adding the keyword 'Rolling Stone 500' to each and then letting the smartlist do the rest. My library is tagged perfectly so I guess all I need this program to do is group the 500 albums together.
-
MC uses ffmpeg / ffprob to provide stream info in video files. Unfortunately, at present it is unable to highlight if there is a DTS:X or ATMOS track (it just reports DTS-MA and TrueHD). Media Info can however.... so, here is a new version to test. I've added a new feature, MediaInfo that will:
- Download MediaInfo CLI to a subfolder
- Run it over the MC Library Entries you select
- Save the output of MediaInfo as an "Extra's File" (see pic)
- Update the "Compression Info" field if there is an ATMOS or DTS:X track found (see pic)
- Should work on BD, UHDBD, DVD, and Video Files
- Works on Audio files as well
Some notes:
- Media Info seems to generate some bizarrely long and incorrect details on some Blu-ray folders (but running it on files looks fine - so the Extra's File will have the details from the BD Folder and the Larget M2TS in the Folder)
- It can take awhile to generate these Extra's Files
- To see the Extra File, right click in MC ---> Extra ---> "YourFileName_MediaInfo.txt" to view
- If you want to reset the Compression Info back to MC's stock values, just right Click--> Update Library from Tags
- If you want to delete the Extra's File just do a search in Windows for "*MediaInfo.txt" and delete them
Let me know of any weirdness.
Thanks
Nathan
-
FYI - Just ran it over my Movies and TV series (post 2015 imported) and found I had:
- 115 entries with Atmos, and
- 7 with DTS:X
All seemed to work as it should. I'll now be able to setup a Zone Switch so I can Bitstream for Atmos / DTS:X and decode for the rest.
-
Wow, great work. I shall look into all this very soon. Exactly what I was looking for.
-
FYI - Just ran it over my Movies and TV series (post 2015 imported) and found I had:
- 115 entries with Atmos, and
- 7 with DTS:X
All seemed to work as it should. I'll now be able to setup a Zone Switch so I can Bitstream for Atmos / DTS:X and decode for the rest.
Curious - why do you decode the rest instead of bitstream?
-
For me it is so I can use "Videoclock", turn it on and no dropped video frames. Others will want to decode for other MC DSP effects. All this needs decoded Audio ... but there is no way to decode Atmos or DTS:X so I'll need to bitstream these.
-
Wow, great work. I shall look into all this very soon. Exactly what I was looking for.
That would be good, I've still got a few days before I have to go back to work - so let me know of bugs etc.
One I'm chasing down is if you run it from MC using the Right Click--> SendTo--> .... --> MediaInfo on multiple items it can sometimes open up several versions of my script which is not what I want as it will process everything a couple of times. I'm guessing that on my new i7-8700K is just quicker than my old box and it manages to fire up a couple of scripts before it recognises that one of the same name is already running. No issues if running Swag in Standalone mode however.
-
Update: 04 Jan 2018
- Added New Function : MediaInfo (see OP (https://yabb.jriver.com/interact/index.php/topic,106802.0.html) and the Guide: MediaInfo (https://yabb.jriver.com/interact/index.php/topic,106802.msg742303.html#msg742303))
- Renamed to "Swag of Tools". Prior Users should delete the older version (MC ToolBox) and remove the links in "Right Click --> Send To --> Send To (external) --> Add/Edit Programs" as these will point to the old program
- You should run Configuration Again so as to create the links to the new "Swag of Tools" in MC
- Updated the logging to catch issues with Authentication (thanks mojave)
- Expanded the logging area
Let me know of what I've broken or if you want anything added. Eg - I can scrap other info from the MediaInfo dump and update other MC Library Fields.
-
Update: 05 Jan 2018
- Fixed multiple instance of Swag of Tools opening from MC's Sent To Command
-
Hi jmone!
Now that you have integrated MediaInfo to Swag could you also add fetching of subtitle languages?
I have made custom list field [Subtitles] to save subtitles info. It helps me to select movies to watch when there are persons present who needs subtitles to help understand foreign language dialogue
Thanks
-
Hi lepa. MC already does that, with the "Get Movie and TV Info" function. There is a "Use Subtitles" check box and then you can select the Lang and MC will get it from OpenSubtitles.
-
Hi lepa. MC already does that, with the "Get Movie and TV Info" function. There is a "Use Subtitles" check box and then you can select the Lang and MC will get it from OpenSubtitles.
I meant that you would use MediaInfo to get embedded subtitles languages info from the file and it would be saved to the database so I can see easily which videos have which subtitles already.
-
Ahhh got you. Let me have a Look.
-
So there may be a couple of fields of interest in the MediaInfo dumps, one is the Language Field for each Audio Stream, and for each Text Stream. Are you just after the Text Streams?
-
Personally I'm interested on subtitle streams as I only use original languages for the sound (but I guess it is similar job to parse also audio languages if you decide to implement this). Maybe people who are used to dubbing would also use that soundtrack language data. At least for children's videos it might be helpful to get that info into a view
-
How about, I scan the MediaInfo dump for all Languages in all streams (including Video or Audio) and add the data into the existing MC "Language" field (if this data exists). This would be similar to what I'm doing for "Compression" and the DTS:X and Atmos extension?
-
Stock field would be of course easier to maintain but I would prefer own fields for audio and subtitles or if in one field at least to be able to separate which are subtitle languages and which are for audio so I could make custom fields using that data to show them separately.
-
I'm more thinking of how to make the idea of exposing the supported lang generically applicable for any user (if that makes sense). I "think" it would work for you as I'm not sure you would have any (or many) cases where there would be an Audio Lang listed that did not also have a subtitle lang.
Let me start with that as a simple case first and see how it works.
-
Update: 06 Jan 2018
- MediaInfo will now update the MC Languages Field with any languages found in the file
-
Thanks for the update. I downloaded 64bit binary but am not able to get Language field populated...
It downloads MediaInfo according to GUI but the folder created is empty
E: Manually downloaded MediaInfo and now Language gets populated. However I still would like to get audio and subtitle languages separated somehow.
-
Mmmm MediaInfo Download is working for me, you should have seen in order
- % download and did it progress from 0 to 100%,
- Windows then U-Zip the downloaded file
(One bug is the above info does not stay in the log - I'll see if I can fix that)
Also, I'm having a think on how to generically support some form of Rule, where you can specify I want "This Data" to go into "This Field"
-
Update: 07 Jan 2018
- MediaInfo will now let you optionally update a MC Field with selected info reported by MediaInfo and can restrict this by a Section of the report.
Eg Lepa can update his custom "Subtitles" field by using these values in order (See Pic)
- Subtitles (the name of the field in MC)
- Language (the name of the field in MediaInfo)
- Text (the name of the section in MediaInfo to restrict it to).
-
Working great! Thanks a lot. Your tool is much appreciated and saves a lot manual work for me!
-
You're welcome. Let me know of any bugs etc. Can you post a description / screen shot of what you are doing (it may be of interest to others) and I'll link it to the MediaInfo post as an example?
-
I get the following error when I try to chapterfy:
http://192.168.178.35:52199/MCWS/v1/File/CreateParticle?File=-1&FileType=Key&Count=1
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Response Status="Failure"/>
Nothing is Selected in MC!
Checking for chapterDB #169116, Please Wait
The file has been selected with Right Click. Any Idea ?
-
Hi dskrt, I'm not sure the exact method you are using.
- Are you running Chapterfy from MC or where you running Swag of Tools first?
- Which Chapterfy option are you trying to use (Manually Create, CatperDB Lookup, Read Blu-ray MPLS, chapter.txt File)?
- Can you post the full log entries
I tried the following... (I think you are using the ChapterDB Lookup??) - Ran Swag of Tools --> ChapterDB Lookup --> Entered "169116". It then fetched the Chapter Info and opened up it up in Notepad (as follows)
CHAPTER01=00:00:00.000
CHAPTER01NAME=The Ballad of Bill Hubbard
CHAPTER02=00:04:20.594
CHAPTER02NAME=What God Wants, Part I
CHAPTER03=00:10:20.954
CHAPTER03NAME=Perfect Sense, Part I
CHAPTER04=00:14:35.500
CHAPTER04NAME=Perfect Sense, Part II
CHAPTER05=00:17:27.546
CHAPTER05NAME=The Bravery of Being Out of Range
CHAPTER06=00:22:11.705
CHAPTER06NAME=Late Home Tonight, Part I
CHAPTER07=00:26:13.572
CHAPTER07NAME=Late Home Tonight, Part II
CHAPTER08=00:28:25.203
CHAPTER08NAME=Too Much Rope
CHAPTER09=00:34:13.051
CHAPTER09NAME=What God Wants, Part II
CHAPTER10=00:37:51.269
CHAPTER10NAME=What God Wants, Part III
CHAPTER11=00:42:01.519
CHAPTER11NAME=Watching TV
CHAPTER12=00:48:07.885
CHAPTER12NAME=Three Wishes
CHAPTER13=00:55:00.297
CHAPTER13NAME=It's a Miracle
CHAPTER14=01:03:30.306
CHAPTER14NAME=Amused to Death
CHAPTER15=01:12:43.401
CHAPTER15NAME=Program End
Note: I had to manually remove the Commas as it was causing the call to fail (so this is a bug on my part)
Chapterfy then it created the particles just fine (see log)
Created the following Chapter Particles ,5661590,5661591,5661592,5661593,5661594,5661595,5661596,5661597,5661598,5661599,5661600,5661601,5661602,5661603,5661604
Checking for chapterDB #169116, Please Wait
-
...there also seems to be an issue with the ChapterDB.org website. Do you get the Notepad opening with the Chapter Info in it, or is it Blank?
-
I get the following error when I try to chapterfy:
http://192.168.178.35:52199/MCWS/v1/File/CreateParticle?File=-1&FileType=Key&Count=1
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Response Status="Failure"/>
Nothing is Selected in MC!
Checking for chapterDB #169116, Please Wait
This is also indicating that nothing is actually selected in MC. The call as File=-1, and should looke like File=123456 (which is the item selected in MC).
-
Hi Jmone, thanks for your fast answer(s)
What I am doing is:
I select the file (which is a flac 5.1 extracted from a BD audio) and send it to swag of tools - Main Menu. I then do a ChapterDB lookup, I get a text file with the chapters, when I close the file I am asked if I want to chapterfy, say yes and then the error 500 occurs. I also tried to use chapter.txt to create the particles with the same error!
First I suspected My Server library and files who are on a Synology NAS in a docker container, I then tried with a library server and files on a Macbook with the same error, as a last resource I tried with the server library and files being on the same Windows PC and this time it worked!
So it seems to not pass the file argument when the library server and the files are on another machine. Maybe it is a MCWS problem ?
-
Could be... what PC is 192.168.178.35 ?
-
It is the synology NAS where MC runs in a docker container, but as I wrote before it is also not working with a Macbook as Library server but with the server on the same Windows PC as the client it works fine.....
-
Ok. So it's probably just me but for the life of me, I can't figure out how to list Blu-ray playlists. Are they something I should be Importing but are not? Help!
Thanks, Gary
-
@GaryWW - have you created your Title Particles first in MC (this is the bit that takes a BD and then exposes each title on that BD as a particle? Discussion is in the 2nd post on this thread, but the main bit is:
1 - need to create the BD Title Particle(s) - in MC, Select your BD --> Right Click --> Stacks --> Advance --> Auto Create BD/DVD Title Particles.
-
@dskrt - Glad you got it narrowed down and working (at least on one PC). Unfortunately, I'm not sure if it is a MCWS, OS or a topology limit. From what I see in the log, the server was reporting no Item was selected (eg the -1) and errored out. I've only ever used my tool on a Windows Box running both Swag and MC Server.
-
@GaryWW - have you created your Title Particles first in MC (this is the bit that takes a BD and then exposes each title on that BD as a particle?
Sure enough. I missed that. :-[ It's all good now. :)
-
@jmone, I will continue to narrow it out, for instance trying the files on the NAS and the library locally etc. But I suspect the problem beeing between the different OS's as it does not work neither on MAC and on the Synology. I will also try to set it up in a client/Server on 2 Windows PC's.
-
This may help speed up testing what is happening. From a Web Browser enter the following (just change the IP Addy:Port for the device running MC Server):
http://192.168.178.35:52199/MCWS/v1/Files/Current?Action=Serialize
It should return a result as follows where the last part is the KEY of the item selected:
2;1;-1;5596380
If it looks like the following then nothing is selected in the MC Server @ 192.168.178.35:52199
2;0;-1
Edit - Keep in mind the above call asks the MC Server at 192.168.178.35:52199 what it has selected (not what a MC Client may be showing on another PC). Thinking out loud..., if it is the case where you have a MC Client loaded that you have selected an item but the call is to the MC Server then it is not going to get the item you want. If that is the case the only way I can think of doing it would be have you to enter in the MC Key (I'd have to add the option however).... Unless there is a way of having a MC Client select an Item on the MC Server somehow (maybe play it first???).
-
Hi Jmone,
Basically, what you are saying is that the server library must reside on the same machine as the client or at least it should be a local library ?
I tried the command http://192.168.178.35:52199/MCWS/v1/Files/Current?Action=Serialize with the result being 2;0;-1 !
Then using a copy of the library at my windows PC with the local command http://192.168.178.20:52199/MCWS/v1/Files/Current?Action=Serialize
or
http://localhost:52199/MCWS/v1/Files/Current?Action=Serialize
I got an output like 2;1;-1;5596380 and the chapterfy command was also working!
BUT then, how should I work in a server library environment from a client ? Or am I misunderstanding the purpose of MCWS ?
-
Why do you need to call the server? Can't you enable mcws on the client and call that instead (to get the selected entry)
-
Sorry - I'm poorly using terms. MCWS are commands sent to a particular MC Instance. Swag uses http://192.168.178.35:52199/MCWS/v1/Files/Current?Action=Serialize to find out what item has been selected on that MC Instance, and the future MCWS commands to create particles etc on that Instance.
What I've never tested is if you use Swag on a MC Client if the changes will then sync back to the MC Library Server. I'm guessing it is "Yes" if you have on the MC Client --> Tools--> Options--> Media Network--> Client Options--> AutoSync with Server "checked".
Give it a go.
-
HI Jmone,
Tried it out, checked first the configuration, to be sure that MC is available at localhost which it was!
I then launched ChapterDB lookup, followed by chapterfy, I get after a while the message 'Error MC not found at localhost:52199' and from that point on, MC reacts very erratically and the PC is very slow and most worrying, the selected entry has disappeared from the server library !!
What I think is that MCWS (or the swag) cannot be used with a client connected to a server library on another device even if the configuration of the 'swag' is the local machine itself!
-
Weird. I'll be able to test at the end of the week when I'm back at home.
-
HI Jmone,
Tried it out, checked first the configuration, to be sure that MC is available at localhost which it was!
I then launched ChapterDB lookup, followed by chapterfy, I get after a while the message 'Error MC not found at localhost:52199' and from that point on, MC reacts very erratically and the PC is very slow and most worrying, the selected entry has disappeared from the server library !!
What I think is that MCWS (or the swag) cannot be used with a client connected to a server library on another device even if the configuration of the 'swag' is the local machine itself!
I can confirm that BAD THINGS HAPPEN, if you try to do any Particle Work on a Client (this is not a SWAG thing but an MC Thing). As an example I made the following changes on a client:
1) OK: I deleted some existing particles (all ok and the changes sycned)
2) BAD: I then created a Title Particle (Using MC). Looked OK on the Client but the MC Server then started to move stuff around and I got pop ups like attached. It seems that the BDMV Folder was being re-created in the BDMV/PLAYLIST Folder. Now the entry is Gone from MC all together (i'll restore the file structure from my backup and re-import into MC).
Edit - In looking at "All" DB Entires I can see it has been tagged as FileDBLocation as "Stacks" (not "Main" etc).
-
Will you submit this behaviour as a bug to the MC team ?
How should I then work in the meantime ? My server is more or less a headless server, should I move the library to the 'client', do the changes and move back to the server? Or should I simply do the changes on the client without auto-sync and sync manually in the end ? I will give both a try...
-
The MC Team reads these posts so they will now be aware of it. For now, can you Remote into your server to select the item(s) to process?
-
Yes, this I can do. I will try it out.
-
Tried it out by selecting the file on the server but then the client does not allow me to to 'send to' with the message 'no file selected'.
! So this does not work (either).
-
Hopefully relevant .. my server is also headless, plus I don’t run MC on it. I have a client device running Media Server, generally. But I was also told that I can make library changes from any client as long as it was the first MC client to access onto my stored library.
-
Hopefully relevant .. my server is also headless, plus I don’t run MC on it. I have a client device running Media Server, generally. But I was also told that I can make library changes from any client as long as it was the first MC client to access onto my stored library.
If your server isn't running MC, then you must be using a NAS and importing files to each client or something similar.
If so, MC won't restrict you or protect you in that case.
-
Hi Nathan,
I tried Data Fiddler for the first time today. My first test was to extract my entire Library. Next I selected 1 Blu-ray and ran the Export Selected Items. The resultant .mpl file looks correct but the .txt file does not. Whaaat?
Cheers,
Gary
Updates:
I ran a couple of more tests:
- I ran the Convert a MC MPL Playlist File against the single Blu-ray extract .mpl and the resulting .txt looks correct
- I extracted some particles using the Export Selected... and the .mpl looks correct but the .txt did not. So I ran the Convert on the new .mpl and that .txt also doesn't look right.
-
@ Gary - I'll have a look (have to used Fiddler for ages).
@ dskrt - the only way I can think of is to select the item(s) in the server GUI but run Swag as a standalone from your PC. The other way would be for me to add an option where you can enter the Key instead of Swag asking MC what is selected.
-
@Gary - could you test something for me please. I looks like I'm not clearing all my vars between runs. Try running a "fresh" instance of Swag for each export (eg just make sure Swag is not running, then run swag --> do a Export --> close swag). Does the output now look correct?
-
@Gary - could you test something for me please. I looks like I'm not clearing all my vars between runs. Try running a "fresh" instance of Swag for each export (eg just make sure Swag is not running, then run swag --> do a Export --> close swag). Does the output now look correct?
Happy to help. The output does look correct when I follow that procedure. :)
-
Thanks - I'll fix it (was a bad boy re-using vars between actions and not cleaning the contents out) :)
-
OK, selecting the entry on the server and running Swag as a standalone on the client works, particles are created correctly in the server library! A little bit tedious but working....
-
OK, selecting the entry on the server and running Swag as a standalone on the client works, particles are created correctly in the server library! A little bit tedious but working....
Yeah it would be. I tried to find a call (either MCWS or MCC) that would select an item in the GUI on a remote machine but came up empty handed.
If the bug does not get fixed the other ways I could do it in Swag would be:
1) Manually enter the ID of the object you want, or (more complicated)
2) Allow for the registration of 2 MC instance (a client and a server). You would interact with Swag using the client but it would send the commands to the server. I wonder if there is a way of knowing via MCWS if it is a Client or not.
-
Hi Nathan,
Could you check the attached Data Fiddler exported chapters files. The albums are over an hour in length and I think the last Playback Ranges are incorrect. The Chapterfy backup files are correct.
Cheers,
Gary
-
Yeah it would be. I tried to find a call (either MCWS or MCC) that would select an item in the GUI on a remote machine but came up empty handed.
MCC_SELECT_FILES sounds like it might do the job (if it weren't internal use only)
-
@GaryWW - I'll have a look on the weekend
@Mattkhan - I'd tried that call... but it does not highlight the item. Anyway these are just workarounds.
-
Re. Data Fiddler chapter export.
The Playback Ranges for the last chapter of every album are incorrect to one degree or another. It isn't just for albums over an hour in length. It appears to be a rounding/truncation issue.
-
@GaryWW - Good find, but looks like it is an excel thing being "helpful" if cells contain certain characters....eg,
- In MC : Last track Playback Range is in the form of "hh:mm:ss.xxx-" (note: the trailing "-" which means play from this point to the end)
- In the Fiddler Export it is correct in both the MPLS and TXT file
- When you just open the TXT file in Excel, it gets changed by Excel to the truncated form as Excel is processing the cells.
From what I've googled, Excel will default import the file using a "General" data format. As we want nothing to be changed by Excel we want to use "Text" as the data format. To do this, open the file using the Wizard, select all the Col (Select Col 1, scroll to the end and Shift Click the last Col) then change the format to "Text" (see pic).
See if that now works for you (if it does, or you find another way of doing the same) let me know and I'll update the notes.
-
Excel itself allows one to click on the top of a column, i.e. A, B, C, etc, to highlight it and then change formats. One can also select multiple columns with the A-B-C row with Shift-Click and Alt-Click, or even holding down the left mouse button and dragging the cursor across multiple column tops.
Don’t know if the import wizard works the same way though ....
-
Shift-Click
Don’t know if the import wizard works the same way though ....
Yep it does.
-
looks like it is an excel thing being "helpful" if cells contain certain characters
See if that now works for you (if it does, or you find another way of doing the same) let me know and I'll update the notes.
That procedure worked well. I haven't found any other.
I don't think it is really an issue but do you know why the track #1 particle points to all of the tracks on the album? If I play track #1 and right click, I see a Titles option that opens to lists all the tracks (particles). None of the other tracks (particles) have the Titles option (as they should not).
-
Glad the import now works.
I do see when the 1st Particle is playing, there is a Right Click --> Jump To Menu --> showing all the chapters that does not appear with any of the subsequent particles. It does not matter if you have Unstacked the particles either. Must be a MC Feature.
-
See attachment. Is there a way to make this work?
-
What does / does not work for you?
-
Nothing! Everything seems to work just fine. I guess I'm just suggesting a context menu short-cut to the Particlise tool. :)
-
Ahhh got it. Let me check when I'm back at home what shortcuts I already add to MC's menu VS what other should be added. Thanks
-
You're welcome. Let me know of any bugs etc. Can you post a description / screen shot of what you are doing (it may be of interest to others) and I'll link it to the MediaInfo post as an example?
First of all most of my videos are in foreign language so I'm using this first of all to populate my user created [Subtitles] DB field up to date without manual work.
Then I can make a view which shows only the videos which contains subtitles in my native language or where the spoken language is in my native language.
In Finland basically only childrens movies are dubbed and for those I want to know if the audio is in finnish as small children cannot read so the subs doesn't help there. That's one reason for need to have separate language fields so I'll know if the language tag concerns audio or subtitles.
Other use case is to get the information which videos lack subtitles (after running the tool) so I can add them to my TODO view.
For people who are watching almost everything in their mother tongue it might be little difficult to understand these subtitles needs but hopefully above made some sense :)
And thank you for the tool!
-
Hi Nathan,
I see you recently updated Swag. Care to share what changes were included?
...Gary
-
Having a problem. See attachment.
This suddenly started happening as I was trying to create particles. Username and password have not been changed. Why is it throwing this error?
EDIT: Never mind. Somehow, Read-Only Authentication got changed in Options.
-
Update: 11 Aug 2018
- MediaInfo now support also support File Extensions of "index.bluray3d;1" (MC made a change recently where BD 3D would get this "file extension" rather than "index.bluray;1")
- Updated the Autohotkey to the latest compiler for 32 and 64-Bit versions in the OP
- Updated the version of Media Info to the latest (just delete the Swag of Tools MediaInfo sub directory to re-download the latest).
All in all, minor changes, just needed to add the "new" BD 3D file extension. Let me know of any odd behaviours from the new compiler etc. I do know that some of these BD can take some time for MediaInfo to finish it's scan.
-
Just started using these tools! Thank you! Saves a lot of time; still a good amount of tagging/manual work but this is incredibly helpful.
Never really deeply used the power of MC tagging/library management and particles, but this is quite flexible. Learning curve is steep!
-
found an mpls that does not work with chatperfy.
it will read the mpls, report 13 chapters, but when I go to create the particles, it appears to "hang".
the particles appear in MC, but only the first one works; the rest report "file not found" when attempting to play them.
manually creating them in MC seems to work without error. First I've encountered this using the tools.
question for you - what end time does your code use for a chapter when creating a particle? is it the start of the next chapter minus some value?
let me know if you want me to provide the mpls. it's from Steven Wilson's Grace for Drowning BD Audio. 0008.mpls
Edit:
So looked at the tags of the files that could not be found. Seems randomly (I tried this multiple times) it does not set the file path correctly for this mpls. Correcting that fixed the issue. There's nothing special about the file path that I can determine - it's the same with exception of the album title which is just alpha characters.
-
Guide: Chapterfy (Particlise Anything - aka Manage Music Videos Like CDs)
......
Notes, Limitations, Future Stuff:
- If creating a sidecar chapters file from existing particles make sure they are shown in the correct order in MC
- I'm hoping that one day MC will support chapter side car files for displaying chapter names in the MC Menu during playback (instead of Chatper 1, 2 etc) but that is up to JR
- There is a bug in MC : Incorrect Filename on Create Particles (sometime) (http://yabb.jriver.com/interact/index.php?topic=81508.0)
I'm not sure if what you are seeing is from this long term bug? If you follow the link above there is more details and a pic of what I sometimes get.
-
Do the attachments in the first post work? I am getting "Attachment not found" when trying to download them.
Would like to test the plugin :)
Thanks.
-
No. They don't work. It's probably related to our recent server problem. jmone will need to upload them again.
-
Thanks JimH for the confirmation. I'll be alert to see if he updload them again.
-
Fixed - re-uploaded in the OP.
-
Fixed - re-uploaded in the OP.
Working again! Thanks, jmone.
-
Update: 03 Sep 2018
New: Filename Updater.
- This allows you to update the "Filename" field in MC even for objects like Particles where the MC own "Rename, Move, & Copy Files --> Update Database..." = "file not supported".
- The Main purpose is to fix incorrectly created particles where the Filename ends up wrong.
- You can select one or more files in MC but will need to confirm each one In Swag of Tools.
- If you rerun the Swag of Tools --> Configuration --> OK it will also add a MC Shortcut for this function.
Note: I'm not "keen" on this feature as MC does some post processing when filenames are changed so you can get odd popups etc. I'd prefer that:
1) the bug of (sometimes) incorrectly creating Particles is fixed, and
2) the "Rename, Move, & Copy Files --> Update Database..." is supported for particles
-
I was editing chapter names and included "," in some of the names.
Seems this does not parse well by Chapterfy when creating the particles; perhaps you're parsing/breaking on "," ?
Changing it to a "-" worked.
-
Yeah - "," is a special char and I'm probably not escaping it properly! I'll have to look at the code (at some point).
-
Yeah - "," is a special char and I'm probably not escaping it properly! I'll have to look at the code (at some point).
happy to contribute if you want...
-
More than happy if you want to have a look at the code. I escape a bunch of stuff in the "Fiddler" part of the code, but I don't think I've applied it to the "Particle" code.
-
downloaded your source. maybe consider throwing it up on Github?
So... Not a familiar syntax to me but I can parse it. I'm a Java/C/C++ (very weak)/HTML/CSS dev (or was; I can still read and write code and do so now as a hobby but time is the biggest issue for me)
I'll look through this and send you via PM whatever suggestions I come up with. I'm not versed in AHK but will google a bit as time permits. Seems a fun project.
Anyway - think about Github. That way I can check in stuff and you can do a pull request and review/accept what you deem acceptable (and reject the rest :))
Cheers and thanks! This is cool stuff. You have caused me to explore a new area of MC I would not have otherwise.
-
Feel Free! Any help is welcome as my formal programming skills was Uni in the mid/late 80's and I'm not sure Modular is a thing anymore and my assembler suxed, hence I now just use scripting (did a bit in the 90's with Foxbase but rhat was acquired by MS). I'm also not good in knowing if there are libraries to do "stuff", eg I tend to write a parser to then find out a library has been around for years. ::)
Anyway, all the source is available in the OP and if anyone wants to setup GitHub etc fell free (I only ever download stuff from it, I've never created a project) but I guess that would make sense if others want to fix/change/add stuff to this script.
-
It appears that chapterdb is down.
Any way around this to keep Chapterfy working ?
-
Yeah it has been down for a month. Does not look good. The other Chapterfy options will work just not the bit that pulls the names from the chaperfy DB. There is a read only copy at http://chapterdb.plex.tv/ that you could download the chapter.txt file and use that in Chapterfy
-
Thanks.
I have about 110 concert rips, so looks like I've got a bit of work to do !
Cheers,
Peter
-
Nice collection! Typing in the names for all those tracks is going to be a PITA however :) ... though you could cut and past from the backup site for the ones that they have in Chapterfy where you get to the review part.
-
Mr JMONE - Does your swag of tools address my MC ot Itunes Sync needs? https://yabb.jriver.com/interact/index.php/topic,121478.0.html
Thanks
JoeLava
-
Sorry Joe it does not.
-
Wow, great work. I shall look into all this very soon. Exactly what I was looking for.
::) ::)
A year and a half later, and I only started playing with it today! Loving it so far, although I am not sure I know how to make MediaInfo do exactly what I want yet.
-
No need to rush :)
-
I am having challenges updating MC25 using Data Fiddler. I found the FileKey as a function - so I created a library field for it and put in the function =FileKey() for the values.
All good so far. And I created a new field called Album DUPE. I want to put a "1" in album dupe using Data Fiddler.
Here is my txt file:
Key;Album DUPE;Album Artist (Auto);Album
38263;1;"10;000 Maniacs";Blind Man's Zoo
38273;1;"10;000 Maniacs";Love Among The Ruins
38285;1;"10;000 Maniacs";MTV Unplugged
38300;1;"10;000 Maniacs";Our Time in Eden
38312;1;"10;000 Maniacs";The Wishing Chair
38386;1;A Fine Frenzy;One Cell In The Sea
33665;1;Aaron Neville;To Make Me Who I Am
33677;1;Aaron Neville;Warm Your Heart
38469;1;AC/DC;Back In Black
38481;1;AC/DC;Dirty Deeds Done Dirt Cheap
30263;1;Acoustic Alchemy;Against The Grain
30282;1;Acoustic Alchemy;The New Edge
38556;1;Aerosmith;Aerosmith
38566;1;Aerosmith;Box Of Fire Bonus Disc
20551;1;Air;Le Voyage Dans La Lune
20562;1;Air;Moon Safari
20571;1;Air;Pocket Symphony
20587;1;Air;Premiers Symptomes
20590;1;Air;Talkie Walkie
20602;1;Air;The Virgin Suicides
32610;1;Al Jarreau;High Crime
12714;1;Alabama;Dancin' on the Boulevard
38591;1;Alabama Shakes;Boys & Girls
When I tell it to run - it looks like it runs - and no error messages - but the Album DUPE field is not updated.
Any help out there?
-
I'm not sure if this helps, but you don't need to create a field for FileKey in MC. You can just show it (right click on the col headings and select from the list). Maybe it does not like two FileKeys in MC? I'd delete the FileKey field you created.
-
FileKey does not appear as one of the library fields available for me.
Thats why I thought I had to make one.
I ran Fiddler after deleting my own FileKey and still no luck.
-
Maybe a dumb question - but how does Fiddler know which JRiver library to modify? Does it just work on the one that is currently loaded?
-
Sorry - travelling for work.
- No idea why you can not see the file key in the MC Library (I can just fine).
- Yes it works on the loaded library.
-
Attached is a sample TXT file that works fine for me adding "1" to a Field call DUPE (setup as an Integer)
-
I know it sounds like I have no idea what I am doing - and that is true much of the time. Here are my library fields.
Why wouldnt FileKey appear?
-
No you are correct! I checked and I had created a FileKey Expression (as shown) so I could see it in the Views. Must have been years ago and I'd just forgotten (sorry about that). ;( I'll add it to the instructions on the Data Fiddler post.
-
Cool. I appreciate your help.
I need to weed out a bunch of album dupes and Excel is the way to find them.
I will be working on this more - and I really like the swag of tools.
Thanks so much for your efforts.
Hope you dont mind me asking a couple more questions as they pop up.
This is going to save me a bunch of time.
-
No problems at all. Did you get it to work (adding 1 to DUPE)? It's hard to tell with a forum post of the txt file, but I'm guessing it is just you were delimiting with ";" rather than a TAB?
-
I think that is it. I am in the middle of importing a bunch tonight - so I will try it tomorrow.
-
JMone -
That utility is absolutely fabulous. Once I got through the initial learning curve - the FileKey thing - it worked flawlessly.
Thanks a bunch.
-
No probs - glad it is of help!
-
Old post but very relative for me currently. I need a utility that will allow me to import an excel spreadsheet or CSV file that contains artist and song. What I have is an excel spreadsheet of a playlist that I want to duplicate in Media Center (I have the songs but no way to tag them to a playlist without selecting each one and adding to playlist. So if I had the ability to import a list of songs artist and "special tag" then sort on "special tag" -> Song -> Artist -> my jriver music would sort above or below each of the entries I have in my excel playlist. I could then mass select the "real" songs and put them into the correct playlist. Thus having a playlist exactly like the one I have in excel.
Your thoughts
-
To tie a list of songs (Album artist name etc) together to the database - you need the filekey. Create the filekey library field, then do an export of your library into excel - just enough tags that you can find the songs you need. And include the filekey field in the export to excel.
With excel - you want to look up the playlist data to find the filekey for every song in the list.
Now you figure out what you want to change about those files - change a tag - a library field.
If its just a playlist you want - What I would do is create another library field - named whatever you want - and make it - binary - yes/no or 1/0
Then change that library field for those filekeys to yes or true or 1 using the utility.
Next time you go in - sort by that library field and you will find all your selected songs together.
-
I understand the last part, but not the first. How do I get the exported data out of JRiver, merged with my excel spreadsheet and back to the JRiver database? I understand that I can change the field in an exported file, but how will that field show up inside JRiver? I also understand that once inside JRiver, I can sort on that field and have my playlist songs. Just not tracking with how to go about defining the filekey field and the export/import of the data from/to JRiver. I also have 200K songs in that JRiver database.
-
You create a FileKey library field by going to Tools - Options - Library and folders - Manage Library Fields and create a new one that looks like the screenshot below.
To get a list into excel - go to playlists - smartlists - and select Audio - all. Get rid of fields you wont need. And include the FileKey library field. Hit the down arrow on the Audio-All tab and select export playlist. Include only visible fields - and output range - all. This gives you a CSV file. Then do your stuff in Excel. You must save the output from excel as a text file.
To get that data back in to JRiver - use the "Swag of Tools" utility. See my previous posts as I had some difficulty the first time as well - and got help from the forum.
You basically create a text file and the utility loads that into JRiver changing the fields.
For 200,000 file Library - don't worry - it works fine for small databases. ;D
Just for safety's sake - back up the library before making changes.....
-
Sounds like great stuff... Not a simple task but is simplified somewhat with the swag tools.
-
Update: 07 Jan 2018
- MediaInfo will now let you optionally update a MC Field with selected info reported by MediaInfo and can restrict this by a Section of the report.
Eg Lepa can update his custom "Subtitles" field by using these values in order (See Pic)
- Subtitles (the name of the field in MC)
- Language (the name of the field in MediaInfo)
- Text (the name of the section in MediaInfo to restrict it to).
Hi,
I'm testing out this feature in Swag of tools and am noticing that if I run Swag of tools on the same file multiple times the subtitles text duplicates every time:
First run: English; French; Spanish;
Second run: English; French; Spanish; English; French; Spanish;
Third run: English; French; Spanish; English; French; Spanish; English; French; Spanish;
Is there a way of not making Swag of tools duplicate the Subtitles texts.
-
Got the answer
-
Got the answer
-
Hi,
I'm testing out this feature in Swag of tools (SoT) and am noticing that if I run Swag of tools on the same file multiple times the subtitles text duplicates every time:
First run: English; French; Spanish;
Second run: English; French; Spanish; English; French; Spanish;
Third run: English; French; Spanish; English; French; Spanish; English; French; Spanish;
Is there a way of not making Swag of tools duplicate the Subtitles texts.
To add some more request to SoT
Under the Mediainfo tab.
Could there be a couple of "sets of fields" so that SoT run all the request at once.
As it is now I run SoT with these fields entered (for subtitle information):
Subtitles
Language
Text
and then I run SoT with these fields entered (for audio language information):
Audio Language
Language
Audio
and then I run SoT with these fields entered (for audio tracks information):
Audio Tracks
Title
Audio
If I could run all of these at once would be great.
//arcspin
-
To add some more request to SoT
Under the Mediainfo tab.
Could there be a couple of "sets of fields" so that SoT run all the request at once.
...
//arcspin
I would love this feature too.
The possibility to specify any number of MC Field/Mediainfo Data Field/Mediainfo Section per run.
Actually, info automatically populated for video files in MC fields is very poor (resolution, compression, etc...).
Thanks in advance.
-
Sorry - I've been away and since back kinda distracted on what going on in the world. :o
Anyway, here is a new test version that I'd love some feedback on before publishing:
- Updated: the "Read Blu-ray MPLS" code to the latest I'd published earlier this year
- Updated: Media Info to use V20.03 (you will need to delete or rename the MediaInfo sub folder to get the new version)
- Fixed (Media Info): the bug where it kept adding values that were already in the list
- New (Media Info): You can now enter a delimited list of Fields for updating MC from Media Info (see pic)
Thanks
Nathan
-
Hello jmone and thank you for the update!
I have tried it out and here is what I have found.
The delimiter list works just fine when I update one movie at the time.
When I update several movies with a delimiter it will only update the fields in the first movie, not the other movies.
When I update several movies without delimiter that specific Field in MC is updated ok.
The fields that only the first movie is updated with and not the other movies (with delimiter):
Subtitles
Language
Text
Audio Language
Language
Audio
EDIT:
My own field with Different sound tracks in the MKV-movie file
Audio Tracks
Title
Audio
This field is getting updated with multiple movies and delimiter but it also adds the same information in the back of the existing information.
OK this is a little strange, I have found one movie that does the above regarding adding information, other movies do not duplicate my Audio Tracks field. Strange?
This is the information that is stored and being duplicated when I run SoT multiple times:
English ; DTS-HD Master Audio ; 5.1 ; 48 kHz ; 3 432 kbps ; 24-bit (DTS Core; 5.1 ; 48 kHz ; 1509 kbps ; 24-bit); English commentary
One suggestion I have to improve SoT is to have SoT remember what is entered in the fields for Mediainfo.
As it is now, I have to type in the same information when I start SoT.
Stay safe,
//arscpin
-
Thanks for testing - I'll dig into that on Sunday. ;D
-
Ok - here is the next test version:
- Updated: the "Read Blu-ray MPLS" code to the latest I'd published earlier this year
- Updated: Media Info to use V20.03 (you will need to delete or rename the MediaInfo sub folder to get the new version)
- Fixed (Media Info): the bug where it kept adding values that were already in the list
- New (Media Info): You can now enter a delimited list of Fields for updating MC from Media Info (see pic)
- New (Media Info): Field values will be remembered
- New: MCWS Username and Password will now be hashed in the INI File (note: you will need to reenter your User Name and Password in the Configuration Box).
-
I have done some more testing and here are my results.
Now SoT do update several movies at once using delimiter, so that problem is now solved.
SoT remember my field values in Mediainfo tab (thank you for that)
SoT do not remember my username and password, I have to type those in every time I open SoT
(In the Swag of Tools.ini file there are garbage text instead of, as it was before, my username and password written in plain text.)
I still have these duplicates when trying to import title info from the audio tracks chapter from Mediainfo and when I try more movies with information in the Audio, Title field I do get duplicates writing on several more movies.
So this is what I type in SoT:
Audio Tracks
Title
Audio
SoT then fetches all the information from the titles field in Audio as per the attached screen shots. (Duplicated.jpg and Not Duplicated.jpg)
It is this information that gets duplicated when I run SoT multiple times on several movies that I have.
From a movie that gets duplicated information, this is what is written to my MC Audio tracks field (see also attached Duplicated.jpg for comparison) :
English ; DTS-HD Master Audio ; 5.1 ; 48 kHz ; 3 432 kbps ; 24-bit (DTS Core; 5.1 ; 48 kHz ; 1509 kbps ; 24-bit); English commentary
From a movie that do not get duplicated information, this is what is written to my MC Audio tracks field(see also attached Not Duplicated.jpg for comparison) :
TrueHD Atmos 7.1; AC-3 5.1-EX; Commentary by director Andrew Niccol
(I also attach a screen shot from my Library filed to show my created Audio tracks field)
This is however not a big deal because I only run SoT once for every movie, but it is interesting that this duplication thing do not occur on every movie but only some.
-
Thanks - I'll dig into this some more.
One quick thing, can you check that the Username and Password is not working (it is for me)
edit: Nope I broke something!
-
Here is a version where the Username / Password should be working
I'm struggling to find an example in my Library with anything with Audio/Title to see what is happening. Do you have some movie names or a sample of one?
-
Yes, the username and password are now saved ;D
I'll attach the Mediainfo file for two movies that I was referring to in my previous post.
Duplicates = Zodiaz Directors Cut
Not Duplictaes = Lord of War
-
So how the script should work using Audio Tracks / Title / Audio on the Zodiac example:
1st Instance of the match = "English / DTS-HD Master Audio / 5.1 / 48 kHz / 3 432 kbps / 24-bit (DTS Core: 5.1 / 48 kHz / 1509 kbps / 24-bit)"
2nd Instance of the match = "English" but that is already in the string so we ignore that
3rd Instance of the match = "English" but that is already in the string so we ignore that
4th Instance of the match = "English commentary" and since that is unique we add that to the string
SoT changes "/" to ";" so what should be written to MC is then
English ; DTS-HD Master Audio ; 5.1 ; 48 kHz ; 3 432 kbps ; 24-bit (DTS Core; 5.1 ; 48 kHz ; 1509 kbps ; 24-bit); English commentary
Are you saying if you run SoT multiple times on Zodiac you get multiple versions of this string being written or is it that there is "English" and "English commentary"?
-
Hi,
This is what is written into MC Audio Tracks field:
First run with SoT
English ; DTS-HD Master Audio ; 5.1 ; 48 kHz ; 3 432 kbps ; 24-bit (DTS Core; 5.1 ; 48 kHz ; 1509 kbps ; 24-bit); English commentary
Second run with SoT
English ; DTS-HD Master Audio ; 5.1 ; 48 kHz ; 3 432 kbps ; 24-bit (DTS Core; 5.1 ; 48 kHz ; 1509 kbps ; 24-bit); English commentary; English ; DTS-HD Master Audio ; 5.1 ; 48 kHz ; 3 432 kbps ; 24-bit (DTS Core; 5.1 ; 48 kHz ; 1509 kbps ; 24-bit)
And so on...
-
Thanks - I'll dig in further...
-
Mind you that this duplication thing is not for every movie that has Audio/Title, only some.
Some movies like Lord of war does not duplicate but others like Zodiac duplicates.
Weird!
-
Weird indeed. Sent you a PM.
-
PM returned.
-
How does this one work?
-
Nope it is broken.... more digging
-
Yup,
I do not post the MC fields as you have noticed that it writes a lot more info in Audio tracks, Audio language and subtitles
-
Next test
-
BINGO!
It works as it should, no duplication with any of my movies files that before hade duplicates written in MC Audio Tracks field.
Great work!!!
-
XLNT! I'll clean up some code and post a new version. Thanks for all the testing :)
-
Update: 02 May 2020 - Latest files in the First Post of this thread
- Updated: the "Read Blu-ray MPLS" code to the latest I'd published earlier this year
- Updated: Media Info to use V20.03 (you will need to delete or rename the MediaInfo sub folder to get the new version)
- Fixed (Media Info): the bug where it kept adding values that were already in the list
- New (Media Info): You can now enter a delimited list of Fields for updating MC from Media Info (see pic)
- New (Media Info): Field values will be remembered
- New: MCWS Username and Password will now be hashed in the INI File instead of being in Clear Text (note: you will need to reenter your User Name and Password in the Configuration Box).
-
Still works perfect. ;D
-
Thanks again! Let me know if there are other things that are needed.
Nathan
-
Thanks, Nathan.
-
Thanks - it's good to be back :)
-
Hi there,
Does the MediaInfo work with DTS X? My MC is never updated to show DTS X. It does update for Atmos and DTS-HD MA.
In MediaInfo, the track shows as ObjectBased DTS XLL.
I'm running the most up to date MediaInfo.
-
Hi,
This is how it looks, for me, in Mediainfo when SoT finds a DTS:X movie.
See attachment
//arcspin
-
Thanks for the report. Looks like "Media Info" changed how they report DTS:X in the latest version so I was not picking it up
oldversion: X / MA / Core
newversion: DTS XLL X
Here is a test version that should find both examples (if they exist) and update MC's Compression Field with "+DTS:X".
Thanks
Nathan
Note: I also see there is an open ticket over at MediaInfo (https://github.com/MediaArea/MediaInfo/issues/422) regarding some issues with correctly identifying some DTS:X audio tracks
-
Awesome! I’ll give it a shot in the AM!
-
HI,
When I look into the movies I have and what movies are being recognized as DTS:X on my Marantz SR-7011 I come across for example Jumanji The Next Level.
It is being labeled in Mediainfo as per the attachement.
-
Yup, I checked my and it to has DTS:X but the latest version of Media Info is not displaying that info either, I get:
Audio #1
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : DTS XLL
Format/Info : Digital Theater Systems
Commercial name : DTS-HD Master Audio
Muxing mode : Stream extension
Codec ID : 134
Duration : 2 h 3 min
Bit rate mode : Variable
Channel(s) : 8 channels
Channel layout : C L R LFE Lb Rb Lss Rss
Sampling rate : 48.0 kHz
Frame rate : 93.750 FPS (512 SPF)
Bit depth : 24 bits
Compression mode : Lossless
Language : English
Source : 00001.m2ts
The author of MediaInfo has acknowledged the issue and has an open bug report.... but is is not sure how/when/if it can be addressed
-
Of the 66 UHD's that I have with DTS, 28 are marked as having DTS:X and 38 without. Of the 38 it looks like the only one that should have been marked with DTS:X is Jumanji The Next Level. So it's a bug but not a big one.... but still annoying.
-
So to "Fix" Jumanji The Next Level, I used the folllowing in SoT (as the Compression Field is locked in the MC GUI):
- Highlighted "Jumanji The Next Level" in MC
- In SoT when to Data Fiddler
- In SoT selected "Export Selected Items Only from the MC Library (Creates a TXT File)"
- Opened the TXT file with Notepad++ and changed "bdmv video (video: HEVC, audio: dts-hd)" to "bdmv video (video: HEVC, audio: dts-hd)+DTS:X"
- In SoT selected "Update MC Library (From TXT File)
= Fixed!
-
I got Bad Boys for Life today on UHD and while it is DTS:X it is only identified as DTS-HD MA
-
The latest SOT (uploaded a few posts ago), doesn't fix the issue.
The movies still show up as DTS-HD MA.
-
What are the movies that don't show as DTS:X that should? ....and if you use MediaInfo directly on them what does MediaInfo say?
Thanks
Nathan
-
Upon a closer look, it doesn't seem to be that wide-spread as I thought.
The handful of the 60 I looked at is all there is...
E.T
Jurassic Park
Jurassic World Fallen Kingdom
Bad Boys for Life
I can fix these manually, but what happens when you select to update the entire library? I guess just don't do that!
-
So SoT will not remove the +DTS:X or Atmos if it is there. It will only ever add it. If you run MC's "Update Library from Tags" then it will be removed as MC does a full replace.
I have both Jurassic Park discs and DTS:X is being correctly identified for me using the latest version of SoT:
Audio #1
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : DTS XLL X
We know BB for Life is not being picked up and I don't have E.T to test.
What does your MediaInfo info file look like for the Jurrasic Park's? (note: in MC you can Right Click on them --> View Extras --> View index_MediaInfo.txt to auto open the MediaInfo info file.
-
Update: 02 July 2020 - Latest files in the First Post of this thread
- Fixed (Media Info): Will update MC for DTS:X on both the new (DTS XLL X) and old format (X / MA / Core) used by MediaInfo. Note: there is still an open bug at MediaInfo where some DTS:X tracks are not correctly detected
- New (Setup): Thanks to a MCWS change from Matt, SOT will now automatically create the calculated field "FileKey" during configuration (so users don't have to do it manually). Requires MC V26.0.95 or latter.
-
Update: 10 October 2020
- Fixed: Found a bug in the MPLS Chapter code where the first 9 chapters could be mis-numbered. Just removed the bit of code that was padding these with a leading "0".
- New (Setup): As suggested earlier, I've moved the code and release onto Git Hub - https://github.com/jmone1/Swag-of-Tools/releases - Unless there is a need to attach the files in this thread, you can download the releases there from now on.
Thanks
Nathan
-
Greatday all, hoping you're safe and well,
Question concerning the working of MediaInfo and the amazing SoT:
It seems i can't grab the subtitle language from a bigger part of my movies collection inside MC.
Talking about .TS rips mostly.
After setting the config file - and working - I did create a additional field in MC and 'linked thisone to 'Languages' from MediaInfo and using "text".
P.e. DVD: The man with the golden gun, has a multiple subtitles, but not repported by MediaInfo. I mean not pushed into the MC field neither the log says getting the languages or subs scrapped.
As I'm using some other 3thP program to scrape for film posters, banners etc, I've got also the streamdetails as .nfo from the latter one which does include the languages and subs, see list below.
I'm sure I'm missing some setting or detail, thanks for pointing me into the right direction :-)
fileinfo>
<streamdetails>
<video>
<durationinseconds>7189</durationinseconds>
<codec>mpeg2</codec>
<aspect>1.778</aspect>
<width>720</width>
<height>576</height>
</video>
<audio>
<language>fra</language>
<channels>2</channels>
</audio>
<audio>
<language>ita</language>
<channels>2</channels>
</audio>
<audio>
<language>eng</language>
<channels>2</channels>
</audio>
<audio>
<language>eng</language>
<channels>2</channels>
</audio>
<subtitle>
<language>fra</language>
</subtitle>
<subtitle>
<language>ita</language>
</subtitle>
<subtitle>
<language>eng</language>
</subtitle>
<subtitle>
<language>dut</language>
</subtitle>
<subtitle>
<language>hun</language>
</subtitle>
<subtitle>
<language>gre</language>
</subtitle>
</streamdetails>
-
thanks for this tool!
-
@Mans, I tested on a TS file and it was OK for me, but.... Can you please post the SOT created MediaInfo file is for one of the rips (it should be next to your TS File but named "(ripname)_mediainfo.txt" so I can have a look?
PS - Thanks for the well wishes Mans & zxsiz and I trust you are also well :)
-
The mediainfo tool was run on most of my movies and seemed to have worked ok. It took a while to run and the log shows each movie as it was processed.
Later I did some cleanup and renaming of movie files, and MC doesn't rename the _mediainfo.txt file like it does the .jpg and the .xml sidecar files, so I deleted all mediainfo.txt files and ran the tool again.
This time it didn't process all of the movies.
It seems to think that because there were no changes needed on the first file, that it didn't need to go any further.
I confirmed that it only created ONE mediainfo.txt file and it was for the movie mentioned in the log.
Here's the output.
The MC Run Time Command has finished, you can now either press
- "Cancel" to close the Swag of Tools or
- "Launch Full Version"
Error - 500 Processed Failed (see details below)
http://127.0.0.1:52199/MCWS/v1/File/SetInfo?File=13219663&FileType=Key&Field=Language&Value=English;French;Japanese;Portuguese;Spanish; English; French; Japanese; Portuguese; Spanish
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Response Status="Failure" Information="No changes."/>
DTS:X track found and already in MC Compression Field
Created Extra file for "\\NAS\movies\2 Fast 2 Furious [2003]\2.Fast.2.Furious_MediaInfo.txt"
Commenced - Please wait....
The MC Runtime Command Received was : MediaInfo
Media Center Version 27.0.47 Found at 127.0.0.1:52199
-
Mmmm, so to stop runaway issues SOT checks the response back from MC after each call and STOPS if it gets anything other than a "200" (all good).
The "500" from MC is a general "Something Went Wrong" (in this case "Response Status="Failure" Information="No changes") for the call shown. I'm not sure why MC would return an "500" Error Msg for this.
I guess there are a few ways of working on this:
1) Have MC not error out for "No Changes" (that would need JRiver to make a change and they may not agree)
2) Clear out the Data from your Language fields and then SOT should run and repopulate them anyway
3) Remove the error check in SOT/Media Info Module, just log them and press on through the list to be processed
4) Instead of SOT exiting, put up a Popup on the first error saying that it failed (with the error info), and do you want to continue anyway?
5) Specifically exclude the 500 errors that contain "No changes" from halting the process (but log them anyway)
As I can't commit to #1, the "easiest" option would be #2 as this is the first time we have seen the issue... but it may be better in the long run to update the error handling code, so I guess it would be #5 would for this specific case, or for a more general approach #4 or ultimately #3 but that last one sounds like a bad idea to me.....
What do you think?
-
OK - after more thought I went with #5 and marked them in the Log. This should now work on all MCWS calls (not just Media Info). Odd thing is I think the behaviour from MC has changed on this.... As I'm pretty sure I've run it multiple times and not seen the error.
Here is a test build (Win 64-Bit). If it is all good, I'll update the GitHub repository. Let me know how it goes.
Thanks
Nathan
-
Thanks Nathan!
The adjustment is working.
It's scanning through all the movies and I've confirmed presence of hundreds of additional mediainfo.txt files.
-
Release : 02 Jan 2020
- Available @ https://github.com/jmone1/Swag-of-Tools
Change Log:
- Small change to allows the continuation of the processing of items even if there is a MCWS "500" Status Error where that error is reported as "No changes."
-
Great day Jmone,
Apologies for the delay, attached you can find the Video_TS Mediafile of the specific film.
Thanks for your feedback,
Cheers.
-
Hey Mans,
Here is a test (64-Bit compile) that now also scans all the IFO files of the disc instead of the Main IFO file (as the Language info can be in the child IFO files).
Let me know of any issues and if OK, I'll update Git Hub.
Thanks
Nathan
-
This is a long thread, but let me know if you think anything should be changed in MC (or the MCWS handling). Thanks.
-
Hey Matt, this is a collection of scripts to cover stuff MC just does not do (or do well), though I would be delighted if any were part of MC :)
I'd say the 3 most popular ones to consider would be:
- Better Metadata from Video Files / Folder based rips, in particular:
- Atmos & DTS:X Detection: MC uses ffprobe but that can not detect if you have an Atmos / DTS:X track..... but MediaInfo can
- MC does not show all the Languages on some Folder rips as this info can be stored in child files not just the "main" one
- Option to Create Particles based on the Chapter Start / Stop Times: so you can manage Music Videos on a per Track Basis as you can a CD
- Import / Export / Update a selection (or the entire) MC Library from a Spreadsheet
MCWS itself is working well for me!
-
Hey Mans,
Here is a test (64-Bit compile) that now also scans all the IFO files of the disc instead of the Main IFO file (as the Language info can be in the child IFO files).
Let me know of any issues and if OK, I'll update Git Hub.
Thanks Nathan, this version does returns much, much more updated field(s) :)
Much appreciated,
Cheers !
-
Release : 04 Jan 2020
- Available @ https://github.com/jmone1/Swag-of-Tools
Change Log:
- Additional Language information is collected from DVD structures by scanning all the IFO files of the disc instead of the Main IFO file (as the Language info can be in the child IFO files).
-
Hi jmone,
Couple of issues and a question...
Could you add utf filename support? Seems to me that SoT cannot find any info from files which have such characters. Also it seems that SoT reacts to ESC even when it is not active window which has resulted me to accidentally close the active scarping.
And the question:
If I leave mediainfo txt file on the disk is SoT going to use it for next scrape so it doesn't need to read media file again? It would be a time saver when collection bunch of information.
Thanks for the tool anyway. It is very useful for me :)
-
Hi lepa,
I can have a look this weekend, but want to check a couple of things:
- ESC: I can remove this easily, so to close the script from then on you have to either close the SOT window (X) or use the button in SOT
- Existing MediaInfo.txt: I can skip existing MediaInfo.txt, though it will mean if you want to "refresh" them (if you say replace the original file in MC with a "better" one), you will need to manually delete the relevant MediaInfo.txt file
- UTF: SOT is already UFT-8 BOM encoded, so I suspect the issue may be this note from Media Info "Microsoft Windows command line does not support Unicode, so if you use command line, let use MediaInfo without Unicode"..... but I'll need to look. Can you give me an example of the UTF Filename where it fails so I can test?
Thanks
Nathan
-
SoT:
Karakkaze yarô (1960).mkv
--> Karakkaze yarô (1960)_MediaInfo.txt
Manually calling MediaInfo creates correct filename eg.
MediaInfo.exe "Karakkaze yarô (1960).mkv" >"Karakkaze yarô (1960).txt"
-
Thanks - I'll have a look.
-
About logfile creation:
Maybe option to refresh/overwrite exististing MI-logfile would be good? I'm getting Text:Language, Audio:Language, Audio:Format/Commercial Name, Video:HDR Format etc so reading actual media file on every pass is a little slow. Of course If you could create UI to scrape many things on one pass it would be the heaven.
-
;Here is a test build:
- Media Info (Bug Fix): Now supports UTF Names
- Media Info (New Option): Don't overwrite existing MediaInfo "Extra" file
- General: ESC will no longer exit SOT
@lepa - have a look at the Media Info instructions (and pics) on https://yabb.jriver.com/interact/index.php/topic,106802.msg742303.html#msg742303 regarding using multi field in one pass. Just seperate them with a ";"
Let me know of any bugs, issues etc and if good I'll post up the code on Github.
Thanks
Nathan
-
ah, multifield handling was there already :)
Didn't face any problems with my utf-files so for me it is working. Also SoT was crunching data while I was doing something else and also needing to hit ESC and SoT kept on going in the background 8)
-
Glad it is working :) ... though I found a bug.
Next test build:
- Media Info (Bug Fix): The new "Don't overwrite existing MediaInfo "Extra" file was still adding the (largest) Bluray M2TS and all the DVD IFO files to the "_MediaInfo.txt" sidecar file.
-
I tryed it for creating chapters by some of mine mp4 videos, but it doesnt work good for me.
i make the chapterlist and it is send to mc and the correct file, but when i start this video in theatermode it already will start without chapters.
only way to get the chapters working is to call it in standard mode with right klick of mouse and call "play with stack list".
but this way isnt useful for me cause i always work in theatermode to control with ir remote or with ip commands over tablet (mediola).
dont know if i am doing something wrong
-
Hi Inquisition,
I don't understand why the particles would show in Std View but not Theater View? Here is an example of what it looks like for me.
Thanks
Nathan
-
hmm did you choose "resolve stack" in standardview before?
i didnt do that, i let the videofile in one piece so it shows only one peace in theaterview, but i have no chapters.
is this my error?
-
so i tryed "resolve stack" first, now i see all chapters in theaterview. but not in numbered order, it shows in alphabetical order ? ?
-
It works now.
the name of the chapter had also been numbered
-
:) glad you got it working!
-
Having Problems with using the Excel export and import. I've been through this many times and not making any headway - asking for assistance
Here's what I did
Installed newest SWOT - it autocreated a filekey field per the log file and visually looking internally in JR
Created new field Name DVD field as string
Created Playlist of just one DVD
Removed all fields not required - see first attachment
Exported through File Export playlist with text file.csv defined
Brought .csv file into excel
Added data to Name DVD field - See second attachment
Saved as Txt file with tab - see third attachment Name DVD field does have data
Ran SWOT as update MC library from TXT file. Selected appropriate file
SWOT reports file updated
No data is in the Name DVD field in JRiver
TXT file does have data in it. See 3rd attached file
What might I be missing?
-
Hi mvandykey, I think this is all the issue is (just change your Header from "FileKey" to "Key"):
So if you are using the "Update MC Library" the Column Header in your TXT file should be called "Key" (not "FileKey") or nothing will match and be updated.
I tested with that change and my "Name DVD" col was updated...... I should add some more logging so we can see what works and fails. :(
Thanks
Nathan
-
Hi mvandykey, I think this is all the issue is (just change your Header from "FileKey" to "Key"):
I tested with that change and my "Name DVD" col was updated...... I should add some more logging so we can see what works and fails. :(
Thanks
Nathan
Yes, that did work! Thanks!
But.., I believe that SWOT created the fileKey field and labeled it filekey and not Key as it should be - is that correct?
Thanks again, now time for a lot of updating.....
-
It's all a bit of a workaround as the field "Key" in MC is not displayed or exportable. So we create a "Calculated Field" called "FileKey" that reads this hidden value from "Key" and puts it in "FileKey" (which we can see and export). When we need to update MC, we need to use the value in "FileKey" but the MCWS call to MC must be to "Key". I guess I could automap FileKey to Key in SOT but somehow that fells wrong, so I make you title the column "Key" to be sure.
I'm also working on adding some additional logging.
-
...also, SOT will update MC with every col in your txt file, so you should only include columns which have changes in the data. There is no point in having cols where you don't want the data changed. eg, in your example only have "KEY" and "Name DVD"
-
Another test build:
- Data Fiddler: Log will update with the # of entries updated in MC
- Data Fiddler: Log will warn if there were 0 entries updated in MC and ask you to check there is a "Key" column
- General: Log now has a "Turn on Verbose Logging of MCWS Calls" - Careful using this one as it may be very long if you are doing a lot of MCWS calls (eg a big batch).
Let me know of any bugs, issues etc and if good I'll post up the code on Github.
Thanks
Nathan
-
Perfect - thanks for all of your help here. We all really appreciate it :)
-
Warning: Technologically somewhat challenged user here!
I have downloaded SWOT, and started the Credentials procedure. As per attached screenshot, it wants a Username and password.....to what?
-
This is the Server Side in MC, so you get to pick what Username and Password you want external parties / apps to have to use to get access to MC Server.
-
This is the Server Side in MC, so you get to pick what Username and Password you want external parties / apps to have to use to get access to MC Server.
Ok thanks. This is probably an MC thing (rather than SWOT) but the pop-up should really say "Enter the username and password you wish to use"
-
Have entered those, and also into SWOT Configure window, but I get:
Error 401 Access Denied
- Check Username / Password is correct in the Configuration Options
Adding "FileKey" Field to MC Library
Check if "FileKey" Field already exists in MC Library
Error 401 Access Denied
- Check Username / Password is correct in the Configuration Options
Adding "ChapterDB #" Field to MC Library
Check if "ChapterDB #" Field already exists in MC Library
Writing Registry Keys to HKEY_CURRENT_USER, SOFTWARE\JRiver\Media Center 27
Writing to Swag of Tools.ini
Which was preceded by:
Success, Media Center Found at 127.0.0.1:52199!
Checking for Media Center at 127.0.0.1:52199
Is this because I am not "running as Administrator"? I got no prompts to that, which is what usually happens. I don't actually know how to run as Admin.
-
Maybe ..... In Windows Explorer --> Right Click on "Swag of Tools.exe" --> Run a Administrator and see if that works (it only needs to be done once).
-
Maybe ..... In Windows Explorer --> Right Click on "Swag of Tools.exe" --> Run a Administrator and see if that works (it only needs to be done once).
So it is because it needs to run as Admin? Right clicking on the .exe only shows Open, Cut, Copy, Delete, Properties.
-
From "memory" (many years ago), SOT needed a single "Run as Administrator" to add some stuff to the registery for the "Sent to" links in MC to be added..... but should not impact the actual access to MC from SOT (I've attached a pic anyway).
Also, if I run SOT --> Configuration --> and press "Test Configuration", I get the following if everything is OK:
Success, Media Center Found at 127.0.0.1:52199!
Checking for Media Center at 127.0.0.1:52199
If my Username or Password does not match, I get:
Error 401 Access Denied
- Check Username / Password is correct in the Configuration Options
Checking for Media Center at 127.0.0.1:52199
Trying setting a very Simple Password and Username in MC first?
-
I had to take it out of the Zipped folder to be able to run as admin - got fooled because I was able to run it from there as non-Admin.
I have already entered my username and psw in MC (Authentication window). They are not complicated but not supersimple. I can't see either in the Config window as they are just dots.
I'm getting:
Error 401 Access Denied
- Check Username / Password is correct in the Configuration Options
Adding "FileKey" Field to MC Library
Check if "FileKey" Field already exists in MC Library
Error 401 Access Denied
- Check Username / Password is correct in the Configuration Options
Adding "ChapterDB #" Field to MC Library
Check if "ChapterDB #" Field already exists in MC Library
Writing Registry Keys to HKEY_CURRENT_USER, SOFTWARE\JRiver\Media Center 27
Writing to Swag of Tools.ini
Media Center Version 27.0.43 Found at 127.0.0.1:52199
So I went back to the Authentication window, put the same user & psw in, went to SWOT > Configure and tried again. Same deal,
Check Username / Password correct in the Configuration options.
Whilst I can only see dots, I am certain that they are the same as I put into Authentication.
-
Changed it to a two character user & Psw - can't go wrong with that (my initials). Still won't accept it. Confirming that I am running it as Admin, btw.
-
The download i took was the second line in the attached screenshot (64bit):
-
Yeah, you have to extract SOT from the Zip File to a folder (anywhere) and then run it from there and once run the first time (for Config) there is no need to run it again as Administrator
For some reason MC is not giving read/write access. I take it you are putting the Username & Password in MC under:
- Authentication (must be on to use the Library Server Sync) check box?
To test the Password/Username from within MC, go to "Media Network --> MCWS (we services) --> ... Open with web browser" it should open up a web page asking for your Username / Password
-
For some reason MC is not giving read/write access. I take it you are putting the Username & Password in MC under:
- Authentication (must be on to use the Library Server Sync) check box?
To test the Password/Username from within MC, go to "Media Network --> MCWS (we services) --> ... Open with web browser" it should open up a web page asking for your Username / Password
Using the second checkbox in the first screenshot. When I go to MCWS using my two letter username and PSW I can see the second screenshot.
Was there something else I needed to do beforehand to do with Library Keys or summink?
-
Did you have to type in your Username and Password to get to the web page showing the list of functions?
-
Yes.
-
Mmmm - so Authentication is working at the MC end, but some some reason SOT is not able to. Can you try this test version of SOT
*** removed ***
- Run SOT
- Go to the Configuration Page
- Check the "Turn on Verbose Logging of MCWS Calls"
- Press Test Configuration
- Press Save Configuration
- Select all the items in the Log Box and do a copy and paste of the results here
-
The download i took was the second line in the attached screenshot (64bit):
...also I assume you have 64-Bit windows? (from the "Type here to search" in the windows taskbar type "About" and hit enter. It should say something like "System type: 64-bit operating systems, x64-based processor)
-
As per your instructions:
After Test Config:
Success, Media Center Found at 127.0.0.1:52199!
MCWS Status - 200 MCWS Call and Result (see details below)
http://127.0.0.1:52199/MCWS/v1/Authenticate
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Response Status="OK">
<Item Name="Token">XYZXYZ</Item>
<Item Name="ReadOnly">0</Item>
<Item Name="PreLicensed">0</Item>
</Response>
After save Config:
MCWS Status - 200 MCWS Call and Result (see details below)
http://127.0.0.1:52199/MCWS/v1/Library/CreateField?Name=FileKey&Expression=FileKey()
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Response Status="OK"/>
Adding "FileKey" Field to MC Library
Check if "FileKey" Field already exists in MC Library
MCWS Status - 200 MCWS Call and Result (see details below)
http://127.0.0.1:52199/MCWS/v1/Library/CreateField?Name=ChapterDB #&Type=string
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Response Status="OK"/>
Adding "ChapterDB #" Field to MC Library
Check if "ChapterDB #" Field already exists in MC Library
MCWS Status - 200 MCWS Call and Result (see details below)
http://127.0.0.1:52199/MCWS/v1/Library/Fields
<Fields>
<Field Name="Filename" DataType="Path" EditType="Filename"/>
.....
<Field Name="Instrum used" DataType="List" EditType="Standard"/>
</Fields>
Writing Registry Keys to HKEY_CURRENT_USER, SOFTWARE\JRiver\Media Center 27
Writing to Swag of Tools.ini
-
...also I assume you have 64-Bit windows? (from the "Type here to search" in the windows taskbar type "About" and hit enter. It should say something like "System type: 64-bit operating systems, x64-based processor)
Yes, 64 bit Win 10 (I may be "somewhat" tech challenged, but......slightly above knuckle dragging ;D
-
Well it is now working! You got an OK for the creation of the Fields.
I'll edit you log down now (as it has some authentication stuff in it).
-
...and turn off Verbose if you are using SOT to do stuff, (it only good for problem solving and is.... verbose!).
-
Ok, thanks for your help Nathan. Does that mean the version I downloaded has a bug in it? Or....
What I want to do is import from Excel data for 2 fields that I have created:
<Field Name="Muso Name" DataType="List" EditType="Standard"/>
<Field Name="Instrum used" DataType="List" EditType="Standard"/>
Is there some sort of instruction list somewhere?
EDIT: They are both Relational fields: one per Album. I'll post a screenie of the excel sheet.
-
Ok, thanks for your help Nathan. Does that mean the version I downloaded has a bug in it? Or....
Maybe, but that part of the code has not changed for a long time and was no different to the Test Version (which had expanded logging capabilities).
What I want to do is import from Excel data for 2 fields that I have created:
<Field Name="Muso Name" DataType="List" EditType="Standard"/>
<Field Name="Instrum used" DataType="List" EditType="Standard"/>
Is there some sort of instruction list somewhere?
There is some instructions in the Data Fiddler post on the first page, but I'll do up a screen shot for you in a sec.
-
Maybe, but that part of the code has not changed for a long time and was no different to the Test Version (which had expanded logging capabilities).
Well who knows what was going on, but the version you linked to in your post went straight through.
There is some instructions in the Data Fiddler post on the first page, but I'll do up a screen shot for you in a sec.
Great thanks.
Screenie of the Excel sheet attached. Column F is the semi-colon delimited data to go into "Muso name" field, and Col H is for "Instrum used" field.
I can make it whatever it needs to be, but IIRC I need to export the data as a .TXT or .csv file?
Am I correct in thinking that Album Artist and Album are sufficient to identify the correct album within MC?
Will I need one line per album or one line for each file of the Album?
As a point of interest I have created these so that with a view I can now cross-reference what artists and albums each musician is with/on. The Instrum used is so that I can Xref the lesser known instruments in the same way - find out where they appear in my collection. It's fascinating seeing a list of all the people/albums that musicians have played with. I started massaging the data with Jazz & Fusion (being the Elephant in the collection) because they play with so very many different people. Had to write considerable VB code to do the data massaging (data sourced from the web with different spellings for the same name, instrument etc - been QUITE the project!).
-
Make a backup of your library and try this with 1 Item first in case you get unexpected results
In MC
- Highlight the one file you want to change "Muso Name" and "Instrum used" and make sure that these columns are displayed
- In SOT --> Data Fiddler --> press the button "Export Selected Items Only for the MC Library (Creates a TXT File). This will create a file like "MC_Output_20210120124916.txt" in the same folder as SOT
- Open this file in Excel (needs to be a Tab Delimited TXT file not converted to XLS etc)
- Modify the contents of the "Muso Name" and "Instrum used" separating list values with a ";" without the quotes
- When finished, you should delete all columns except the one called "Key" and "Muso Name" and "Instrum used" as SOT will update MC with all the data in the spreadsheet even if it does not change
- Save the file in Excel (making sure it is still a Tab Delimited TXT file)
- in Sot --> Data Fiddler --> press the button "Update MC Library (From Txt File)"
Check the results.
Attached is an example of what it looks like in Excel for updating a List Field (Language in this case).
-
Yes, that did work! Thanks!
But.., I believe that SWOT created the fileKey field and labeled it filekey and not Key as it should be - is that correct?
Thanks again, now time for a lot of updating.....
@mvandyke, I should mention that if you use SOT to do the Export (instead of MC), you will see the Col is labelled as "Key" not "FileKey" so there is nothing to change. It is MC's export that does not push out the "Key" col.
-
Make a backup of your library and try this with 1 Item first in case you get unexpected results
In MC
- Highlight the one file you want to change "Muso Name" and "Instrum used" and make sure that these columns are displayed
Yes, have already backed up the library earlier, and also did a complete backup of the Folders/Files.
Both fields a re relational- one per album. Should I be displaying (and therefore exporting) one line per album or one line per file in the album? (suspect the latter, given that as I understand it, the FileKey is....probably for each file.... 8))
-
Screenie of the Excel sheet attached. Column F is the semi-colon delimited data to go into "Muso name" field, and Col H is for "Instrum used" field.
I can make it whatever it needs to be, but IIRC I need to export the data as a .TXT or .csv file?
Am I correct in thinking that Album Artist and Album are sufficient to identify the correct album within MC?
Will I need one line per album or one line for each file of the Album?
Yes - TXT File (Tab Delimited)
Yes - semi-colon delimited for data that goes to a list field in MC
Matching - It is done on the (primary) KEY value. SOT will search for the Key then update the field values in MC, so it is one line per entry in MC
As a point of interest I have created these so that with a view I can now cross-reference what artists and albums each musician is with/on. The Instrum used is so that I can Xref the lesser known instruments in the same way - find out where they appear in my collection. It's fascinating seeing a list of all the people/albums that musicians have played with. I started massaging the data with Jazz & Fusion (being the Elephant in the collection) because they play with so very many different people. Had to write considerable VB code to do the data massaging (data sourced from the web with different spellings for the same name, instrument etc - been QUITE the project!).
Sounds good, one think I'm not sure of is how well I handle the conversion of UTF (and special) characters back and forth, so keep an eye on what shows up in MC.
-
Both fields a re relational- one per album. Should I be displaying (and therefore exporting) one line per album or one line per file in the album? (suspect the latter, given that as I understand it, the FileKey is....probably for each file.... 8))
I can only update stuff with a Key, so I guess you are the first to test this out ! :)
-
I can only update stuff with a Key, so I guess you are the first to test this out ! :)
Well if it's by key then I will have to do one per file.
How do I open a .txt file in Excel? If I try to open from within Excel...it only wants to look at Excel files. If I right click on the MC_Output file > Choose another app then Excel doesn't show on the list.
-
Belay that - I found a way to open it.
-
FYI The Best way to import the txt file into excel is covered in the Instructions - https://yabb.jriver.com/interact/index.php/topic,106802.msg742297.html#msg742297
Importing the TXT file into Excel: If you just drag and drop your TXT file into Excel, it will import the file using a "General" data format. This General data format will have Excel process every cell and it may change the text as a result.
As we want nothing to be changed by Excel we want to use "Text" as the data format. To do this, open the file using the Wizard, select all the Col (Select Col 1, scroll to the end and Shift Click the last Col) then change the format to "Text" (see pic).
(https://yabb.jriver.com/interact/index.php?action=dlattach;topic=106802.0;attach=26805;image)
-
See atatched screenie:
The two fields I want to update have not been exported (MUSO NAME and Instrum used)
BUT
other fields I have created are there such as Musicians (which is where I have extracted the data from for th above two), Wiki Page, and Studio Album #. They are all relational fields (one per album) just like the two I want to update.
Now I did delete that data from the two fields before I exported (I have been pasting some data in along the way in doing my massive edit job for the last 6 weeks). However, I do know that the Instrum field is not up to date. I deleted the data so that I could readily the changes....that I am trying to make.
Would I be right in thinking that even though the fields are not exported (presumably because they are empty of data) that I can just enter those filed names in the headers of the txt file in Excel?
-
Correct, it only pulls out the fields with Data but you can just add in the header any of the Field Names (as long as the match or it will just be skipped during the update).
-
And....VOILA! We have a result (attached). Just the first album so far (the one I deleted the data from for this test).
Thank you very much for
A) guiding me through the process and
B) creating the software.
I do think that this would be a very useful part if it was built into MC.
-
No Probs - glad it works. :)
I guess the reason it is not part of MC is that not many people actually want such a feature. What is great about MC is that with their Web Services interface, you can build specialty tools to make it extensible.
-
Update: 20 January 2021 - Git Hub - https://github.com/jmone1/Swag-of-Tools/releases
- Media Info (Bug Fix): Now supports UTF Names
- Media Info (New Option): Don't overwrite existing MediaInfo "Extra" file
- General: ESC will no longer exit SOT
- Data Fiddler: Log will update with the # of entries updated in MC
- Data Fiddler: Log will warn if there were 0 entries updated in MC and ask you to check there is a "Key" column
- General: Log now has a "Turn on Verbose Logging of MCWS Calls" - Careful using this one as it may be very long if you are doing a lot of MCWS calls (eg a big batch)
Thanks everyone for the testing over the last week. :)
-
Test Version: Update to Chapterfy regarding ChapterDB's decommissioning
ChapterDB has been down for well over a year and is not coming back. The Folks over at Plex however did take an "Archive" of it where you can still browse, see, and download Chapter.txt files for titles that were updated prior to ChapterDB's demise.
As a result, in this Test Version, I've:
- Removed the Auto Lookup based on the MD5 Hash (there is no Chapter DB API anymore)
- Changed the link to point at the Archive for browsing
- Allow you to Chapterfy an item in MC based on the reference # from the Archive
-
Nathan do you have any thoughts on a practical limit to the number of files to be updated in one pass, or will it cope with say 5000 or 10000 ok?
Also, is it better to empty the fields in MC first or just overwrite them with the incoming data. Not all of them have data currently.
-
It should be fine on any size (will just take a bit longer). I've tested up to 30K items. Again, it is best to only include the data you want to make a change to so remove any Rows for items that don't need to update and any unnecessary Columns without changes. You should see a counter showing the % processed on large jobs in the Log screen (it is there for small jobs but it is so quick you don't see it)
As SOT will overwrite the data in every cell in MC with the cell from excel (including if something in blank in your spreadsheet it will become blank in MC) there is no need to "clear" anything out in MC before hand.
-
...so backup you Library and let it rip! Then check to see if it worked as expected! :)
-
Just did a single field update on 33K Items in MC and it took me about 6 minutes. I did find a bug in my % to go calculation in the log that was showing I'd only done about 5% at that point so I need to look at that.... so that is waaaaay off.
-
It appears that SOT has to be shut down and reopened with each use? I exported one lot, and then decided to export that whole section (given your response of no real file number limit). What I got is attached. Lots of album called Data Fiddler.
So I shut it down and restarted it. All ok except the last line which is by an Album Artist called "About", but the other tracks for this album are correctly attributed to Tinariwen as the Album Artist. It is the lowest Key number for this album, so I assume it's the first track.
EDITED to attach screenie of "About".
-
Yup - looks like you have found a bug. SOT Data Fiddler gets MC to download a MPL file that SOT then process to a TXT file..... but if you do 2 in a row then it is not re-reading the new MPL file. I'll need to track that down. For now you will need to restart SOT between operations.
-
Yeah, rightio. That doesn't explain the "About" though (was the first run after re-opening).
-
I'm prone to putting in a column of spaces between the two columns of long data (because it enables seeing which cells have values more easily). If the column has no header then can I assume that it will not upset anything when it goes back into MC?
-
Ahhh - the About thing is weird - I'll need to have a look after dinner. SOT seems to be putting About into all empty data fields for me during the conversion from MPL to Txt. I must have moved something around.
I've not tested what happens with a empty header but with data below (you would have to test).... you could put a header in for something that is not a field in MC and it will be ignored.
-
I can now confirm that Data Fiddler is not handling special characters at all. I use En-dash (Alt 0150) extensively, plus all the accents, graves and so on for European and African names have all turned into a black diamond with a ? in it. Even the most common one which is é (Alt 130).
BTW, that was the first time ever I have used the restore Library function. :P
-
I'm not sure if there will be a solution to special characters - there are quite a few of the little blighters.
Out of my first section of music (essentially "World" music with lots of Europeans and Africans), I have stripped out A-Z, a-z, 0-9 and that reveals what is left.
Apart from ; , . ( ) ' [ ] -
there is
– á â å Å ả æ ç é É ë ğ ı í ï ł ñ Ó ó ò ö Ö ø Ø ş ú ü
but of course, that is just so far. There will be some more coming out of the Jazz section (lots of Scandinavians).
-
Nathan, not sure if you're already doing this: if you're including values in the URL of the MCWS calls you'll need to URL-Encode them in UTF8.
For instance, "Träume?" needs to go over as "Tr%C3%A4ume%3F".
If the values are in the body of POST requests then the encoding is not needed, but the request needs to have an header saying "Content-Type: text/html; charset=utf-8".
Not sure how AHK handles these things as I don't use it much.
-
Here is an update that (I hope) fixes the reuse of variables on the same run and issues with blank fields.
Mmmm - the UTF Encoding seems to be working for me (see a PIC), but @FenceFurniture if it is still not working correctly can you please post the MPL & TXT file that SOT makes when you press "Export Selected Items ...." from Data Fiddler that shows the issue?
-
It's not so much the export Nathan, it's the import to MC. (for the export I can just paste over the top - in fact I don't have to because the import is done by Key, so it's only data I'm importing that gets a "?")
-
I entered the "á â å Å ả æ ç é É ë ğ ı í ï ł ñ Ó ó ò ö Ö ø Ø ş ú ü" data into Excel then used SOT to update MC and got the correct results (as per the pic above).
- Try the new build?
- Maybe if you save out a bit of the XL spreadsheet and post it here so I can have a look at it?
-
Ok, but mañana - early night tonight to watch the inauguration.
-
Yeah - I'm off as well :) - FYI, this is what I tested..
Have a good night
-
Have just downloaded that latest version from a few posts back, and am yet to run it.
I thought I should probably let you know (if you don't already) that Windows gets a bit narky when it is opened:
"Windows Protected your PC"
have to click More Info and only then does the option come up to "Run Anyway".
This happens every time the pgm is opened, not just the first time of each new build. I suspect (but am not sure) that this has something to do with
Publisher: Unknown publisher
It also defaults to MC version 26.
Not sure if this one is working yet:
Error - MediaCenter not Found at 127.0.0.1:52199
- Check MC Server is running and the Configuration Options are Correct
Adding "FileKey" Field to MC Library
Check if "FileKey" Field already exists in MC Library
Error - MediaCenter not Found at 127.0.0.1:52199
- Check MC Server is running and the Configuration Options are Correct
Adding "ChapterDB #" Field to MC Library
Check if "ChapterDB #" Field already exists in MC Library
Error - MediaCenter not Found at 127.0.0.1:52199
- Check MC Server is running and the Configuration Options are Correct
Writing Registry Keys to HKEY_CURRENT_USER, SOFTWARE\JRiver\Media Center 27
Writing to Swag of Tools.ini
Error - MediaCenter not Found at 127.0.0.1:52199
- Check MC Server is running and the Configuration Options are Correct
Checking for Media Center at 127.0.0.1:52199
I'll try to access MCWS.
(a few minutes later) I had to enter the Authentication again - don't know if that's usual with a new version of SWOT.
When I saved Config:
Error 401 Access Denied
- Check Username / Password is correct in the Configuration Options
Adding "FileKey" Field to MC Library
Check if "FileKey" Field already exists in MC Library
Error 401 Access Denied
- Check Username / Password is correct in the Configuration Options
Adding "ChapterDB #" Field to MC Library
Check if "ChapterDB #" Field already exists in MC Library
Writing Registry Keys to HKEY_CURRENT_USER, SOFTWARE\JRiver\Media Center 27
Writing to Swag of Tools.ini
Success, Media Center Found at 127.0.0.1:52199!
Checking for Media Center at 127.0.0.1:52199
However, I am able to access the web page of MCWS (without having to enter user/psw)
-
Ah, I've just realised why I had to re-authenticate - I restored the Library earlier, as previously posted.
-
No success with getting the special characters into MC. Have attached the small txt file I used to test with the new version, plus a screenie of the result in MC.
-
Thanks for the sample TXT file!!!! - Found it (and why it was working for me and not you!)..... well I think?!?!! I'm so glad you were taking backups :)
The TXT file for "Update MC Library" has to be UTF Encoded for the extended chars to work:
- For Me: My Text file was being created from SOT (UTF Encoded) using the "Export Selected Items .... " and I'd then make changes (like add Muso) in Excel, save, then "Update MC Library (from TXT File)"
- For You: I think you created the TXT file in Excel and the sample you sent me is ANSI (not UTF) encoded, and you were making the changes in that spreadsheet (adding the Key for example) then trying "Update MC Library (from TXT File)" ?
If so, there are two ways to fix it:
1) Use "Exported Selected Items....." from SOT and edit that one, or
2) Use a File in Excel but convert it UTF (see pic). Keep in mind that Excel also tries to be "helpful" in converting dates and numbers, so you have to be carful on that as well (see the instructions on the first page for how to make sure TXT files are imported where all the cell formats are "TXT" instead of some of them being "GENERAL").
I "may" have made some changes in SOT trying to work this out so here is the latest test version.
Thanks
Nathan
-
Wonderful - that did it (saving as UFT). Screenshot attached.
I was sure I'd read that it had to be a Tab delimited file? I'll try to find where I read that.
-
Yes, it has to be Tab Delimited & UTF. I'll update the instructions on that in the first page. It seems that to get both in Excel, you need to save as Unicode Text (*.TXT).
-
In MC
- Highlight the one file you want to change "Muso Name" and "Instrum used" and make sure that these columns are displayed
- In SOT --> Data Fiddler --> press the button "Export Selected Items Only for the MC Library (Creates a TXT File). This will create a file like "MC_Output_20210120124916.txt" in the same folder as SOT
- Open this file in Excel (needs to be a Tab Delimited TXT file not converted to XLS etc)
- Modify the contents of the "Muso Name" and "Instrum used" separating list values with a ";" without the quotes
- When finished, you should delete all columns except the one called "Key" and "Muso Name" and "Instrum used" as SOT will update MC with all the data in the spreadsheet even if it does not change
- Save the file in Excel (making sure it is still a Tab Delimited TXT file)
- in Sot --> Data Fiddler --> press the button "Update MC Library (From Txt File)"
Yes, here it is here in reply #256. I knew I had to have read it because on the very first save Excel defaulted to UTF so I had to deliberately select Tab delimited.
-
My apologies.
I did not even think about checking that your TXT file was not UTF encoded till you sent though the sample, as I'm guessing most of us normally uses the file created from SOT which is UTF & Tab Delimited by default. This is the first time I've seen a TXT file initially created in Excel being used (or at least anyone reporting the issue with Unicode).
I'm going to add a new para and pic on that first page about saving from Excel in particular.
Thanks for testing so far, and please still be carful to check the results, as I made a few changes trying to hunt this down.
-
My apologies.
Thanks for testing so far, and please still be careful to check the results, as I made a few changes trying to hunt this down.
Not at all Nathan. Thank YOU for your ongoing work!
Should you need anything else destruction tested....you know where to call. ;D
-
No probs - what Time Zone are you in? You don't seem to sleep :)
-
BTW, the reason I'm creating the txt file, rather than exporting one from MC, is because I have to run a macro on the data first.
1. From MC (in which I have created a special view for this) I copy & paste the fields FileKey, Album Artist, Album for the bunch of files I want to update. Paste into an Excel sheet that contains the macro code.
2. Next, I run my macro which collects the data I have created for the two delimited fields - but only one per album - so I have to run a couple of Do loops to repeat it into the MC data sheet for each file on the Album.
3. Next, make sure there are no "Data Fiddler" or "About" artists, then delete the Album Artist & Album columns (because they are only there for my recognition in that checking after the macro has run). I probably don't really have to check for DF or About, because I delete the columns anyway, but you'd probably like to know if it's still happening.
4. Save the stripped-down file as UTF and run SWOT to update MC.
I didn't fancy running a VB macro on a txt file - it may work - but it's really 6 of one and a ½doz of the other. In fact, it's slightly better this way because I don't get ALL the field's data columns which then have to be deleted. if I export via SWOT.
-
No probs - what Time Zone are you in? You don't seem to sleep :)
Sydney (Katoomba - just west). I was planning on getting up at 3.30am to watch the inauguration, but I couldn't sleep past 2 anyway. Then, after that effort, he got sworn in 10 minutes early and I missed it while I was fooling around with other stuff! ::)
-
Nice, - I'm near Chatswood. Good to see another Aussie. :)
-
So what this whole project has been about is cross-referencing where various musicians and instruments appear. In the attached screenshot I am displaying the "Instruments" view, and if I select "Balafon" I can see that it appears on 10 different albums by 6 different artists. The field that is being edited (white) is the Musicians field which supplied the data for the Muso Name and Instrum used fields. It shows who plays what (this was the data gathered from the internet in all it's various forms, and that had to be massaged into shape).
I have another view for Muso Name which shows me that (e.g.) Vinnie Colaiuta appears on 41 albums by 26 artists (or something like that).
However, there is something wrong with the data because there used to be over 4000 musos and I know that there are about 350 instruments used. I'll have to look into that tomorrow - today has been "rather long".
-
Wow - looks great!
-
I want to see what "Bagpipes" has :)
-
There are more occurrences of Uilleann Pipes than Bagpipes, but then I haven't done the enormous Rock section, which includes AC/DC...
-
Damn... I was hoping to see ACDC "It's a long way to the top"
-
Is it necessary to keep the Swag of Tools.ini file that has been placed on my Desktop? (I think not)
-
There is a Swag of Tools.ini file that is created on the first run and it sits next to the Swag of Tools.exe file. It holds the settings (Hashed Username, Hashed Password, Connection details and any preferences that have been set). If you now run SOT from some other folder, then yes you can delete the one on your desktop (maybe it was created when you ran it from inside the ZIP file?).
-
Test Build - DataFiddler: The code for converting MC's data for use in an editor like Excel was.... ordinary. I'd written it based on my 1980's Com Sci experience of writing a parser. Turns out that nifty XML stuff lets you do stuff much quicker, easier and with a lot less code! So this is a TEST build with a XML based parser for the following Options:
- Export the Entire MC Library (Creates a TXT File)
- Export the Selected Items Only from the MC Library (Creates a TXT File)
- Convert a MC MPL Playlist File (Creates a TXT File)
Other changes:
- Progress Counter shows how many lines are processed (both for creating TXT files and Updating MC)
Also, here are some updated instructions to be clearer on the best way of importing these TXT Files into Excel.
- I've updated the First Page with the attached pic shows the "best" way of importing the TXT file into Excel and clearer description
- (for now) The "Export Library to TXT file" will replace any Line Feeds it finds in a MC Field with a text {LF} place holder in the TXT File
- The {LF} place holder in the TXT file will be converted back to a real Line Feed when using the "Update MC from TXT File".
I just can not work out the combination required to keep Excel happy with both a Tab Delimited UTF TXT file using "Text" as the import setting AND having Fields with internal LF (even the using Text Qualifier option). I previously also used this technique with other "special" characters like {TAB}, {CR} but I'm not sure these are needed anymore as I could find no example of "Tabs" (they now seem to all be spaces) or "Carriage Returns" in my library (maybe the MC Library has changed at some point since I wrote the original code 5 years ago).
Testing: I'd appreciate any feedback on what works or does not, especially, could I ask that you try a "Export the Entire MC Library (Create TXT File)" and import it into Excel let me know of:
- Speed and Stability: It takes be about 2min to "Export the Entire MC Library (Create TXT File)" with 33K items, and all the operations are in memory.... so I don't know how it will go with super big libraries or with limited RAM
- In Excel does the table "look correct"
- Are Unicode Chars look OK
- Any other weirdness ?
Still to do:
- Update the routine used for "Update MC from TXT file"
Thanks
Nathan
-
There is a Swag of Tools.ini file that is created on the first run and it sits next to the Swag of Tools.exe file. It holds the settings (Hashed Username, Hashed Password, Connection details and any preferences that have been set).
Ah, I see. That would explain why I had to re-enter the user/psw when I ran it after I moved the .exe from the desktop to another folder, without moving the .ini as well.
I have now automated the process of producing the Unicode .txt file and auto-saving it. That was mainly so that when I come to do this again in some weeks time I don't have to try and remember each step in the process (there are quite a few actually).
That also means that I have now .....I think (I've said this a few times before)..... finished folders 4. FUSION & JAZZ and 5. W-C-F-A-B (World, Chill, Flamenco, Acoustic, Bluegrass - a kinda miscellaneous folder).
No more Bagpipes turned up! :'(
Now I move into the huge Rock section, but this is right from the start of the process - actually manually splitting up the stored web data into something sensible, without spelling mistakes and 3 different versions of Buzzy no Buzz no Howard Feiten (which gives false reads). I have a number of macros to assist with this but it's a very manual process to massage it all into shape. However, in the Rock sections there are nowhere near the amount of special characters (although, I guess Bon Scott was a special character), and nowhere near the spider-web of musicians playing with gawd-knows how many people (you know - up to 70 or more musos on one album, creating table entries for one person playing on ONE track). Also means many repetitions of the same bunch of musos from album to album, so Copy & Paste, Next, C&P, Next...
As an indicator, the very worst, most arduous albums to get the data right were David Sanborn's - up to 30 minutes per album sorting all the data out.
Anyhoo, I'll see you in "some weeks time"....with an increased list of Bagpipes. ;D
-
Test Build - DataFiddler: The code for converting MC's data for use in an editor like Excel was.... ordinary. I'd written it based on my 1980's Com Sci experience of writing a parser. Turns out that nifty XML stuff lets you do stuff much quicker, easier and with a lot less code! So this is a TEST build with a XML based parser for the following Options:
- Export the Entire MC Library (Creates a TXT File)
- Export the Selected Items Only from the MC Library (Creates a TXT File)
- Convert a MC MPL Playlist File (Creates a TXT File)
Other changes:
- Progress Counter shows how many lines are processed (both for creating TXT files and Updating MC)
Also, here are some updated instructions to be clearer on the best way of importing these TXT Files into Excel.
- I've updated the First Page with the attached pic shows the "best" way of importing the TXT file into Excel and clearer description
- (for now) The "Export Library to TXT file" will replace any Line Feeds it finds in a MC Field with a text {LF} place holder in the TXT File
- The {LF} place holder in the TXT file will be converted back to a real Line Feed when using the "Update MC from TXT File".
I just can not work out the combination required to keep Excel happy with both a Tab Delimited UTF TXT file using "Text" as the import setting AND having Fields with internal LF (even the using Text Qualifier option). I previously also used this technique with other "special" characters like {TAB}, {CR} but I'm not sure these are needed anymore as I could find no example of "Tabs" (they now seem to all be spaces) or "Carriage Returns" in my library (maybe the MC Library has changed at some point since I wrote the original code 5 years ago).
Testing: I'd appreciate any feedback on what works or does not, especially, could I ask that you try a "Export the Entire MC Library (Create TXT File)" and import it into Excel let me know of:
- Speed and Stability: It takes be about 2min to "Export the Entire MC Library (Create TXT File)" with 33K items, and all the operations are in memory.... so I don't know how it will go with super big libraries or with limited RAM
- In Excel does the table "look correct"
- Are Unicode Chars look OK
- Any other weirdness ?
Still to do:
- Update the routine used for "Update MC from TXT file"
Thanks
Nathan
Possibly tomorrow.
On the first screen (for import to Excel) I have always checked "My data has headers"
-
Wow - big project! That is going to keep you busy.
Possibly tomorrow.
On the first screen (for import to Excel) I have always checked "My data has headers"
No rush, and from what I can tell, "My data has headers" on or off makes no difference on importing these sort of files... but who knows!?!?
-
Currently doing the first request - Exporting the entire library.
I have nothing but music files - many are high-res.
35,633 files
The first 10,000 or so were quicker than the rest. 26,000 so far has taken 7 minutes.
Toshiba laptop with i7 Quad core 2.8GHz processor, 16GB RAM, SSD internal drive, but the files are stored on an external SSD.
Win 10 64 bit.
Ok, finished now, and took 12 minutes to create a 326MB txt file. It would probably be useful if the item count remained in the Log, as well as the elapsed time (then I wouldn't have to use a stop watch and sit here watching it 8) )
-
Wow you really do have a lot of Meta Data, my 33K items only created a 43MB file! So 12min for 326MB vs 2min for 43MB is probably about right.
I should be able to add a timer and leave the count as well (the Update to MC leaves the final count of how many were successfully updated) but it would be good to have both.
-
Yeah, in the Musicians tag it can be anything from nothing to
John Abercrombie – Guitar
Jan Hammer – Keyboards
Jack DeJohnette – Drums
to the 167 musicians on Natalie Cole's Unforgettable:
Original copied Personnel
Murray Adler – Violin
Monty Alexander – Piano
Israel Baker – Violin
Marilyn Baker – Violin
Rick Baptist – Trumpet
Arnold Belnick – Violin
Pete Beltran – Trombone
Dixie Blackstone – Violin
Samuel Boghossian – Viola
George Bohanon – Trombone
Tom Boyd – Oboe
Jacqueline Brand – Violin
Oscar Brashear – Trumpet
Alan Broadbent – Celeste, Piano
Ray Brown – arranger, Bass
Dennis Budimir – Guitar
Denyse Buffum – Viola
Larry Bunker – Percussion
Jodi Burnett – Cello
Ralph Burns – arranger
Kenneth Burward-hoy – Viola
Darius Campo – Violin
Conte Candoli – Trumpet
Stuart Canin – Violin
Lily Ho Chen – Violin
John Chiodini – Guitar
Pete Christlieb – Saxophone–Tenor, Saxophone, Woodwind
Gene Cipriano – Woodwinds (& Oboe)
John Clayton – Bass, string Bass
Pat Coil – Keyboards (Synthesizer)
Brad Cole – Piano
Ike Cole – Piano
Natalie Cole – arranger, vocal arrangement, Vocals
John Collins – Guitar
Antony Cooke – Cello
Ronald Cooper – Cello
Gail Cruz – Violin
Isabelle Daskoff – Violin
Donna Davidson – Background Vocals
Charlie Davis – Trumpet
Vincent DeRosa – Horn–French
Chuck Domanico – Bass, string Bass
Bonnie Douglas – Violin
Assa Drori – Violin
David Duke – Horn–French
Bruce Dukov – Violin
Bob Efford – Saxophone–Baritone
Stephen Erdody – Cello
Pavel Farkas – Violin
Henry Ferber – Violin
Michael Ferril – Violin
Chuck Findley – Trumpet
Clare Fischer – arranger, Piano, rhythm arrangements
Ronald Folsom – Violin
Gary Foster – Saxophone–Alto, Flute
Armen Garabedian – Violin
Berj Garabedian – Violin
Tom Garvin – Synthesizer
James Getzoff – Violin
Julie Gigante – Violin
Harris Goldman – Violin
Pamela Goldsmith – Viola
Endre Granat – Violin
Gary Grant – Trumpet
Thurman Green – Trombone
Susan Greenberg – Flute
Ralph Grierson – Synthesizer
Sol Gubin – Drums
Debbie Hall – Background Vocals
Larry Hall – Trumpet
Diana Halprin – Violin
Jeff Hamilton – Drums
Clayton Haslop – Violin
Daniel Higgins – Saxophone–Alto, Soprano Saxophone
Paula Hochhalter – Cello
Bill Holman – arranger
Steve Huffsteter – Trumpet
Jim Hughart – Bass
John Johnson – tuba
John Thomas Johnson – tuba
Marilyn L. Johnson – Horn–French
Thomas "Snake" Johnson – Trombone
Harold Jones – Drums
Karen Jones – Violin
Nathan Kaproff – Violin
Anne Karam – Cello
Dennis Karmazyn – Cello
Armand Karpoff – Cello
Roland Kato – Viola
Kerry Katz – Background Vocals
Randy Kerber – Synthesizer
Myra Kestenbaum – Viola
Katie Kirkpatrick – harp
Ezra Kliger – Violin
Armen Ksadjikian – Cello
Steve Kujala – Woodwind
Bernard Kundell – Violin
Michael Lang – Piano
Ronnie Lang – Woodwind
Ronald Langinger – Flute
Michel Legrand – arranger, orchestral arrangements
Kathleen Lenski – Violin
Brian Leonard – Violin
Gayle Levant – harp
Rich Logan – Background Vocals
Charles Loper – Trombone
Warren Luening – Trumpet
Arthur Maebe – Horn–French
Rene Mandel – Violin
Edith Markman – Violin
Michael Markman – Violin
Yoko Matsuda – Violin
Donald McInnes – Viola
Mike Melvoin – Keyboards (Piano)
Don Menza – Saxophone–Tenor
Gene Merlino – Background Vocals
Richard Mitchell – Saxophone–Tenor
Rick Mitchell – Saxophone–Tenor
Lanny Morgan – Saxophone–Alto
Ralph Morrison III – Violin
Carole Mukogawa – Viola
Richard Taylor "Dick" Nash – Trombone
Buell Neidlinger – string Bass
Dan Neufeld – Viola
Irma Neumann – Violin
David "Fathead" Newman – guest artist, Saxophone–Tenor
Jack Nimitz – Saxophone–Baritone, Woodwind
Mike Nowack – Viola
Brian O'Connor – Horn–French
Nils Oliver – Cello
Sid Page – Violin
Marty Paich – arranger, orchestral arrangements, rhythm arrangements
John Patitucci – Bass
Bruce Paulson – Trombone
Bill Perkins – Saxophone–Alto
John Pisano – Guitar
Kazi Pitelka – Viola
Stanley Plummer – Violin
Barbara Porter – Violin
Jack Redmond – Trombone
Bill Reichenbach Jr. – Trombone
Dorothy Remsen – harp
Anatoly Rosinsky – Violin
Daniel Rothmuller – Cello
Joe Sample – guest artist, Piano
Myron Sandler – Viola
Frederick SeyKora – Cello
Sid Sharp – Violin
Don Shelton – Background Vocals
Harry Shirinian – Viola
Haim Shtrum – Violin
Paul Shure – Violin
Andrew Simpkins – Bass
Nolan Andrew Smith – Trumpet
Valerie Smith – linguist
Sally Stevens – Background Vocals
Susan Stevens – Background Vocals
David Stockhammer – Viola
Sheridon Stokes – Woodwind
Robert Stone – string Bass
Margaret Storer – string Bass
Frank Szabo – Trumpet
James Thatcher – Horn–French
Milton Thomas – Viola
Raymond Tischer – Viola, Violin
Richard Todd – Horn–French
Alexander Treger – Violin
Bob Tricarico – Saxophone–Baritone
Mari Tsumura-botnick – Violin
Louise di Tullio – Flute, Woodwind
Jo Ann Turovsky – harp
Alan de Veritch – Viola
Gerald Vinci – Violin
Al Viola – Guitar
Dorothy Wade – Violin
Brad Wanaar – Horn–French
Miwako Watanabe – Violin
Dave Weckl – Drums
Ken Yerke – Violin
which I have trimmed down to:
Natalie Cole – Vocals
GUITARISTS:
Dennis Budimir
John Chiodini
John Collins
John Pisano
Al Viola
PIANISTS:
Monty Alexander
Alan Broadbent (+ Celeste)
Brad Cole
Ike Cole
Clare Fischer
Michael Lang
Mike Melvoin
Joe Sample
SYNTHESIZERS:
Pat Coil
Tom Garvin
Ralph Grierson
Randy Kerber
TRUMPETS:
Rick Baptist
Oscar Brashear
Conte Candoli
Charlie Davis
Chuck Findley
Gary Grant
Larry Hall
Steve Huffsteter
Warren Luening
Nolan Andrew Smith
Frank Szabo
TROMBONES:
Pete Beltran
George Bohanon
Thurman Green
Thomas Johnson
Charles Loper
Bruce Paulson
Jack Redmond
Bill Reichenbach
Richard Taylor Nash
SAXOPHONES:
Pete Christlieb – Saxophone–Tenor, Woodwind
Bob Efford – Saxophone–Baritone
Gary Foster – Saxophone–Alto, Flute
Daniel Higgins – Saxophone–Alto, Saxophone–Soprano
Don Menza – Saxophone–Tenor
Richard Mitchell – Saxophone–Tenor
Rick Mitchell – Saxophone–Tenor
Lanny Morgan – Saxophone–Alto
David Newman – Saxophone–Tenor
Jack Nimitz – Saxophone–Baritone, Woodwind
Bill Perkins – Saxophone–Alto
Bob Tricarico – Saxophone–Baritone
WOODWINDS:
Tom Boyd – Oboe
Gene Cipriano – Woodwinds (& Oboe)
Susan Greenberg – Flute
Steve Kujala – Woodwind
Ronnie Lang – Woodwind
Ronald Langinger – Flute
Sheridon Stokes – Woodwind
Louise di Tullio – Flute, Woodwind
FRENCH HORNS:
Vincent DeRosa
David Duke
Marilyn L. Johnson
Arthur Maebe
Brian O'Connor
James Thatcher
Richard Todd
Brad Wanaar
TUBAS:
Thommy Johnson
BASS PLAYERS:
Ray Brown
John Clayton
Chuck Domanico
Jim Hughart
Buell Neidlinger
John Patitucci
Andrew Simpkins
Robert Stone
Margaret Storer
DRUMMERS:
Sol Gubin
Jeff Hamilton
Harold Jones
Dave Weckl
Larry Bunker – Percussion
HARPISTS:
Katie Kirkpatrick
Gayle Levant
Dorothy Remsen
Jo Ann Turovsky
Michel Legrand – Arranger, Orchestral arrangements
Marty Paich – Arranger, Orchestral arrangements, Rhythm arrangements
*NOTE: there are also 70 String
players - full list in Album Notes
and the problem is that it has to be a relational one field per album so it gets repeated 22 times for 22 tracks!
-
Thankfully storage, and processing power is cheap!
-
Just for you.
-
Nice! Bon did like the Bagpipes ;D
-
Is 1.1.32.0 the most recent version? (I may have confused myself...)
-
Nice! Bon did like the Bagpipes ;D
I had to search to find out who played them on IaLWTTT. I'm still not quite sure, but I know that Kevin Conlon gave Bon enough lessons so that he could look like he knew what he was doing in the video. Maybe he played them on the recording too, but the info wasn't definitive. For a little while they tried to play them in concerts, but gave up due to "too many mishaps". A difficult instrument, by all accounts - 12 months learning just to play a tune.
-
That's alright, you had me confused as well! I just use the Data for the Version #, eg v2021.01.20 is the latest on Github. If you run SOT you will see the Version in the "About" page where you will see something like "Version: 20 Jan 2021". The latest with the new parser is "23 Jan 2021 - Test Build".
I think you are referring to the Right Click Properties --> Details on "Swag of Tools.exe" and it shows the version of the Compiler used (1.2.32.0) to turn the script into an exe.
-
Apart from the Music Video of IaLWTTT there is this Bandstand version (https://www.youtube.com/watch?v=nULs4JW3tPI&ab_channel=RockMusiclmLForevah) ... but I'm not sure one way or the other if he really is playing
Edit and here is an Audio only version from '76 where the bagpipe is just playing a single note.
-
Apart from the Music Video of IaLWTTT there is this Bandstand version (https://www.youtube.com/watch?v=nULs4JW3tPI&ab_channel=RockMusiclmLForevah) ... but I'm not sure one way or the other if he really is playing
I would say without a doubt...not playing them... for a few reasons:
1. Bag not inflated as I would expect
2. Not playing into the microphone on far too many occasions
3. He couldn't play them....
But none of that means the cheeky bugger didn't like them!
-
Update: 02 May 2020 - Latest files in the First Post of this thread
- Updated: the "Read Blu-ray MPLS" code to the latest I'd published earlier this year
- Updated: Media Info to use V20.03 (you will need to delete or rename the MediaInfo sub folder to get the new version)
- Fixed (Media Info): the bug where it kept adding values that were already in the list
- New (Media Info): You can now enter a delimited list of Fields for updating MC from Media Info (see pic)
- New (Media Info): Field values will be remembered
- New: MCWS Username and Password will now be hashed in the INI File instead of being in Clear Text (note: you will need to reenter your User Name and Password in the Configuration Box).
Hi
I am new with this tool but is really impressive.
I have been working with some of the features but still cannot select a specific field that I want for a column in MC.
I was wondering if here someone can provide some guidance.
I need to display just the Audio [i]Bit rate[/i] but I still keep getting the Bit rate mode info in the column.
I created my custom column _Bit Rate_ to host the value
In the Swag of Tools, Mediainfo section I enter _Bit Rate_ (in the MC field section) then Bit rate (in Mediainfo section) and Audio (in the last section)
I have tried Audio;Bit rate (in Mediainfo sections) but it does not work.
How can I restrict the field to a specific cathegory and sub cathegory of the video information?
Regards,
-
Hi mirskid,
Looks like SOT is finding the value "Constant; 225 kb;s" from MediaInfo and updating the MC "_Bit Rate_" field with it. Can you please:
- Save and Post the MediaInfo.txt file that is created here so I can have a look at it.
- Advise what string from within the MediaInfo.TXT file that you want SOT to be finding (eg is it just "225")?
Thanks
Nathan
-
Hi mirskid,
Looks like SOT is finding the value "Constant; 225 kb;s" from MediaInfo and updating the MC "_Bit Rate_" field with it. Can you please:
- Save and Post the MediaInfo.txt file that is created here so I can have a look at it.
- Advise what string from within the MediaInfo.TXT file that you want SOT to be finding (eg is it just "225")?
Thanks
Nathan
Hi Nathan
Thank you for your reply.
Please find attached the file.
And yes I just need to be visible in the column the 225 info.
-
It looks like what you want to do is "clean" the input that is being read. I'm not very experienced with MC's Expression Fields so hopefully someone else will chip in but:
=Number([_Bit Rate_]) (see https://wiki.jriver.com/index.php/Miscellaneous_Functions#Number)
...will do what you want to the raw MediaInfo data once in MC. It turns "Constant; 225 kb;s" into "225"
So, it would be a 2 step process
1) you would run SOT and it would get all the raw data and put it into a MC Field, then
2) you would select all your data in MC and on the first "_Bit Rate_" change it to "=Number([_Bit Rate_])" (without the quotes) and all the data will be converted to values.
There may also be a way of setting it up under "Manage Library Fields". I tried changing "_Bit Rate_" from "User Data" to "Calculated data" and adding "=Number([_Bit Rate_])" but that did not seem to work.
-
Nathan, isn't that a bug? It's capturing 2 lines when he only requested "Bit rate":
Bit rate mode : Constant
Bit rate : 225 kb/s
I would expect "bit rate" to capture only the 2nd value, and "bit rate mode" to capture the first.
Also, why is it replacing the fwd-slash with semicolon? MC doesn't care about them in strings, only in Expressions.
-
Yeah, you are right - I'll need to look into both of these bugs.... but for mirskid he wants to pull out the #'s from the string, so it will need to post process regardless. "=Number" will do what he needs and will work both now and when I fix the bugs.
-
Here's an idea for a feature on that MediaInfo page - add a box for "post process Expression", where the user can enter an MC Expression to mangle the value.
The expression would take a special $value arg that you just replace with the actual value; otherwise it's a regular MC Expression.
To evaluate it, you would call /MCWS/v1/GetFilledTemplate (documentation on http://localhost:52199/MCWS/v1/)
The Expression arg to the function would need to be URL-escaped, and fwd-slashes in the $value would need to be doubled (/ -> //) so that they don't take a special meaning.
For this case, mirskid would use "Number($value)"
-
I also thought about allowing adding Regex expressions for similar processing.... but then figured it may be something very few people would ever actually use, and there is so many potential combinations! Given MC can do this, I figured the job of SOT is to get the data into MC, and MC can do the rest. Still I need to look at the 2 bugs to make it cleaner.
-
It looks like what you want to do is "clean" the input that is being read. I'm not very experienced with MC's Expression Fields so hopefully someone else will chip in but:
=Number([_Bit Rate_]) (see https://wiki.jriver.com/index.php/Miscellaneous_Functions#Number)
...will do what you want to the raw MediaInfo data once in MC. It turns "Constant; 225 kb;s" into "225"
So, it would be a 2 step process
1) you would run SOT and it would get all the raw data and put it into a MC Field, then
2) you would select all your data in MC and on the first "_Bit Rate_" change it to "=Number([_Bit Rate_])" (without the quotes) and all the data will be converted to values.
There may also be a way of setting it up under "Manage Library Fields". I tried changing "_Bit Rate_" from "User Data" to "Calculated data" and adding "=Number([_Bit Rate_])" but that did not seem to work.
Thank you it worked. Altho if there is a space after a number it cuts it. So the audio that has "1 536 kbps" it only shows the number "1"
-
Nathan, isn't that a bug? It's capturing 2 lines when he only requested "Bit rate":
Bit rate mode : Constant
Bit rate : 225 kb/s
I would expect "bit rate" to capture only the 2nd value, and "bit rate mode" to capture the first.
Also, why is it replacing the fwd-slash with semicolon? MC doesn't care about them in strings, only in Expressions.
Thank you again for the help and advice.
I was thinking, with the MC's Expression Fields is there a way that I can say just display one of the options or fields in the string.
Once the info is captured into a column in MC is separated by ";" is there a comand to indicate just to select a spacific field?
Example:
This is a test field I created. "AAC LC; Advanced Audio Codec Low Complexity" can only "AAC LC" or the last part be displayed?
That could solve the just dispaying number issue.
-
Yeah, that MC function just finds and returns the first #. I'm equally poor at Regex, but a quick google shows this should work in stripping all non numeric characters in MC instead of the "=Number(...)"
Regex.Replace(s, "[^0-9.]", "")
....but I've no idea how to use that in MC - https://wiki.jriver.com/index.php/String_Manipulation_Functions#Regex
-
If I fix my SOT bug so it only finds "225 kb/s" would that work (you would still get the "kb/s" part)?
-
If you don't mind, jmone, I'll offer something...
This issue can be worked around, guys.
This is a longstanding problem in Mediainfo. But the mediainfo developer will not address it, nor will he respect the language defaults on the computer running mediainfo.
So, workarounds...
You can have mediainfo additionally output raw unformatted numbers, but this may complicate your parsing because there will be lines with duplicate labels. You can do this with mediainfo -f
Alternatively, you can force mediainfo to output the numbers in the format you desire by specifying a language file. Read this link for more:
https://mediaarea.net/en/MediaInfo/Support/FAQ#ThousandSeparator
Alternatively, and what I think is the easiest, you can disable language processing with mediainfo --language=raw
This makes mediainfo output numbers as just, you know, numbers.
Anyway, I hope this helps. Carry on... :)
-
If I fix my SOT bug so it only finds "225 kb/s" would that work (you would still get the "kb/s" part)?
That should work, the Kb/s is not that relevant because that is the standard measure for this unit.
If SOT captures the full number then should be fine.
Thanks
-
If you don't mind, jmone, I'll offer something...
This issue can be worked around, guys.
This is a longstanding problem in Mediainfo. But the mediainfo developer will not address it, nor will he respect the language defaults on the computer running mediainfo.
So, workarounds...
You can have mediainfo additionally output raw unformatted numbers, but this may complicate your parsing because there will be lines with duplicate labels. You can do this with mediainfo -f
Alternatively, you can force mediainfo to output the numbers in the format you desire by specifying a language file. Read this link for more:
https://mediaarea.net/en/MediaInfo/Support/FAQ#ThousandSeparator
Alternatively, and what I think is the easiest, you can disable language processing with mediainfo --language=raw
This makes mediainfo output numbers as just, you know, numbers.
Anyway, I hope this helps. Carry on... :)
Apologies in advance for my lack of knowledge in this area, slowly I am learning.
Can you please let me kow where will I use this code "mediainfo --language=raw". Will it be in SOT mediainfo section? or is it in MC Calculated Data part?
Regards,
-
@wer -
For all it's fault, I like the human readable TXT file and layout for parsing but I'll have a look at it later (edit - the formats are pretty similar). For now I'm cleaning up the two bugs.
Test Build: Anyway, here is a test build that should for MediaInfo:
- Only find an exact match
- Keep "/" and ":" in the string if they exist (rather than replacing them with ";"). I'm guessing this was an old part of the code prior to upgrading the MCWS calls that was better at escaping these characters.
Anyone, attached is a Test Build - and any feedback would be great!
-
Apologies in advance for my lack of knowledge in this area, slowly I am learning.
Can you please let me kow where will I use this code "mediainfo --language=raw". Will it be in SOT mediainfo section? or is it in MC Calculated Data part?
Regards,
Don't worry about that for now. It is something I would need to look into more as it would be on my side to use this option and then change how I parse it.
-
cross post from your other thread on Post Processing the raw data.
===========================
I think this will work better:
=removecharacters([Raw Rate]," kb//s")
removes the kb/s and also the space between "1 552 kb/s" so you should get "1552"
-
@wer - For all it's fault, I like the human readable TXT file and layout for parsing but I'll have a look at it later. For now I'm cleaning up the two bugs.
Test Build: Anyway, here is a test build that should for MediaInfo:
- Only find an exact match
- Keep "/" and ":" in the string if they exist (rather than replacing them with ";"). I'm guessing this was an old part of the code prior to upgrading the MCWS calls that was better at escaping these characters.
Anyone, attached is a Test Build - and any feedback would be great!
Thank you very much.
Great work
Is working without an issue now!!
-
Thank you very much.
Great work
Is working without an issue now!!
Thanks that work perfectly!!
-
Great to hear!
Thanks that work perfectly!!
Did you mean that the following also works?
=removecharacters([Raw Rate]," kb//s")
-
Great to hear!
Did you mean that the following also works?
=removecharacters([Raw Rate]," kb//s")
Actually it worked only on the PCM sources, the AAC does not work
-
What does not work on the AAC, SOT or the "removecharacters"? What does the AAC source look like?
Thanks
Nathan
-
FYI - I ran SOT over my test clips and found that MediaInfo does not report the Audio Bit Rate for a subset (about a 20%).... and neither does ffprobe. Looking into it further, it seems the issue is that some muxers simply don't actually update the metadata for Bitrate so there is nothing to report back on.
Here is a HandBrake thread about it (https://github.com/HandBrake/HandBrake/issues/1609), and how some users are remuxing their files so the metadata gets updated.
-
What does not work on the AAC, SOT or the "removecharacters"? What does the AAC source look like?
Thanks
Nathan
I am not sure where is the issue.
It was working, then I renamed the columns in MC to make them shorter and it stopped working. And SOT was showing and error string.
Now I created 2 new fields for columns with the same parameters and is workign again.
Please see below all the screens with the error message and the new columns working fine.
Maybe something between SOT and previous columns I created was just not updating after I rename them.
Seems fine now with new columns I created.
Regards,
-
FYI - I ran SOT over my test clips and found that MediaInfo does not report the Audio Bit Rate for a subset (about a 20%).... and neither does ffprobe. Looking into it further, it seems the issue is that some muxers simply don't actually update the metadata for Bitrate so there is nothing to report back on.
Here is a HandBrake thread about it (https://github.com/HandBrake/HandBrake/issues/1609), and how some users are remuxing their files so the metadata gets updated.
I noticed that too with some old videos, need to review that.
Thank you very much for all the work with this and the updates and amendments.
Really appreciated.
-
As long as it is working again, I'm happy! .... & good to see some AccaDacca :)
-
Hi jmone,
Found possible bug with handling "&" character
SoT log:
MC Extras updated with Isolated Music & Effects Track; Audio Commentary with Writer-Director Steve Kloves and Film Historians Julie Kirgo and Nick Redman; Audio Commentary with Director of Photography Michael Ballhaus
Extras field in MC:
"Isolated Music "
-
Errrrgggg. I'm sure It will be my escaping of special chars.
What version are you using (on the About Tab)? Is it the "8 March 2012 - Test Build" as I made some changes around this?
edit - can you run it with the "Turn on verbose logging" and cut and paste the log? I'm 99% certain I'm not escaping the "&" but I may not get a chance to look at the code (I'm hopefully going on Holidays for a week .... pending COVID lockdowns that is).
-
it's march 8 test build. SoT seems to parse media info correctly but then inserting to MC field over API the data is cut when handling "&" character
Finished
MC Video Codec updated with AVC
--- MC already has the same information for the above results ---
MC Subtitles updated with English; Finnish
--- MC already has the same information for the above results ---
MC Extras updated with Isolated Music & Effects Track; Audio Commentary with Writer-Director Steve Kloves and Film Historians Julie Kirgo and Nick Redman; Audio Commentary with Director of Photography Michael Ballhaus
MC Audio Tracks RAW updated with FLAC; DTS
--- MC already has the same information for the above results ---
MC Audio Language updated with English
--- MC already has the same information for the above results ---
Language track info found and MC Language Field Updated
--- MC already has the same information for the above results ---
-
@jmone
I don't know if you've read this post, https://yabb.jriver.com/interact/index.php/topic,119385.msg896632.html#msg896632 where the good lepa thinks my request can be solved by adding a script to your SoT.
Ideally, this script, in addition to detecting the black bars, also cropped, but even if it could only change the aspect ratio tag, that would be a great thing.
Everything comes from my desire to be able to automatically cropping the black bars directly with JRiver, as I said in my post https://yabb.jriver.com/interact/index.php/topic,128769.0.html as with madvr and my RX580 I can only do it with HD files while for those a UHD I would have to change VGA and these days it is very complicated.
-
I need to open the code up to look at lepa's issue so at the same time I'll have a look at how to get the actual aspect ratio info an aspect ratio tag. I hope to have a look this weekend.
-
Thank you :)
-
I've had a bit of a play using ffmpeg's cropdetect from a windows batch file to see what it produces but I'm not getting to far:
Here is what I'm running over a letterboxed movie
ffmpeg.exe -i "\\MAIN\Media\Discs\AQUAMAN\BDMV\stream\00058.m2ts" -vf cropdetect=24:16:0 -vframes 10 dummy.mp4
pause
Here is part of the output looking at the cropdetect
[Parsed_cropdetect_0 @ 0000024cea623240] x1:0 x2:3839 y1:0 y2:2159 w:3840 h:2160 x:0 y:0 pts:7507 t:0.083411 crop=3840:2160:0:0
It is reporting the full 3840x2160 frame from what I can see.
Any suggestions on the FFMPEG command?
Thanks
Nathan
-
it's march 8 test build. SoT seems to parse media info correctly but then inserting to MC field over API the data is cut when handling "&" character
Here is a 64-Bit test build that should fix the MediaInfo issue when trying to update the data in a Field Name that contain an "&".
Let me know how it goes.
Thanks
Nathan
-
Any suggestions on the FFMPEG command?
I think vframes 10 means you're just looking at the 1st 10 frames only which is not so much and the content might be different to the actual target content
on my copy of the same file, if I switch to looking at 2s worth of content via
ffmpeg -i 00058.m2ts -t 2 -vf cropdetect -y dummy.mp4
then I see the following after about a second
[Parsed_cropdetect_0 @ 0x55bf81bacc00] x1:3839 x2:0 y1:2159 y2:0 w:-3824 h:-2144 x:3834 y:2154 pts:97597 t:1.084411 crop=-3824:-2144:3834:2154
[Parsed_cropdetect_0 @ 0x55bf81bacc00] x1:3839 x2:0 y1:2159 y2:0 w:-3824 h:-2144 x:3834 y:2154 pts:101351 t:1.126122 crop=-3824:-2144:3834:2154
[Parsed_cropdetect_0 @ 0x55bf81bacc00] x1:3839 x2:0 y1:2159 y2:0 w:-3824 h:-2144 x:3834 y:2154 pts:105105 t:1.167833 crop=-3824:-2144:3834:2154
[Parsed_cropdetect_0 @ 0x55bf81bacc00] x1:2996 x2:3084 y1:2159 y2:0 w:80 h:-2144 x:3000 y:2154 pts:108858 t:1.209533 crop=80:-2144:3000:2154
[Parsed_cropdetect_0 @ 0x55bf81bacc00] x1:2930 x2:3287 y1:276 y2:769 w:352 h:480 x:2934 y:284 pts:112612 t:1.251244 crop=352:480:2934:284
[Parsed_cropdetect_0 @ 0x55bf81bacc00] x1:1628 x2:3439 y1:276 y2:1883 w:1808 h:1600 x:1630 y:280 pts:116366 t:1.292956 crop=1808:1600:1630:280
[Parsed_cropdetect_0 @ 0x55bf81bacc00] x1:674 x2:3672 y1:276 y2:1883 w:2992 h:1600 x:678 y:280 pts:120120 t:1.334667 crop=2992:1600:678:280
[Parsed_cropdetect_0 @ 0x55bf81bacc00] x1:0 x2:3839 y1:276 y2:1883 w:3840 h:1600 x:0 y:280 pts:123873 t:1.376367 crop=3840:1600:0:280
it then sticks at 3840:1600:0:280 for a prolonged period of time
fwiw I found that attempting to use input seeking (-ss before -i) with these files gave v strange results, different output depending on the ss value basically, not sure what is going on there but might be something to watch out for if you were attempting to seek past some initial screens. I guess you could do something like parse the output for the 1st 20s, reduce to the unique detected crop sizes and then either pick one that looks right (e.g. full width and y position indicates equal size bars is surely actual black bar size) or let the user select?
-
Thanks Matt, that works nicely!
As a trade off between speed (esp if you are scanning lots of files in one pass) and a good result, I may try 4sec. I too did not have a lot of luck with -ss and dropping the "suggested" cropdetect=24:16:0 seemed to also be key. Anyway, the plan would then to be to just copy the final "crop=" values into a MC Field.
-
I think it's important to skip a couple of minutes due to all the logos that may not be cropped.
You can try skipping to the nearest keyframe with -noaccurate_seek, and you can also discard the output with -f null.
This works nicely for me (note the dash at the end):
ffmpeg -ss 00:05:00 -noaccurate_seek -i input.mp4 -t 5 -vf cropdetect -f null -
I'm testing on an MP4 with black bars, but should work for BluRay too.
"Kursk (2018)" - Unusual format, the first 17 minutes are at 4:3 with side bars, then the rest is at 24:10...
-
....actually I do have some questions of what to store and in what field.
In MC playback we have
- Crop Options listed as 1.33 (4:3), 1.78 (16:9), 1.85, 2.35, and 2.40
- Aspect Ratio Field that can contain any string and is in a ratio format such as 1:1, 4:3, 16:9 etc (I even have weird stuff like 4400:3285)
So in the above example we have a 3840 x 1600 which I could store as:
- 3840:1600
- 2.4
- 21.6:9 (or as it is commonly and incorrectly called 21:9)
Also is the idea to overwrite the existing "Aspect Ratio" field or add the data to a new field such as "Aspect Ration (Actual)"?
-
ffmpeg -ss 00:05:00 -noaccurate_seek -i input.mp4 -t 5 -vf cropdetect -f null -
I agree that it would be good to skip into the video first, but when trying this I get a bunch of errors:
M:\Video Editing\transcodes\ffmpeg\bin>ffmpeg.exe -ss 00:05:00 -noaccurate_seek -i "\\MAIN\Media\Discs\AQUAMAN\BDMV\stream\00058.m2ts" -t 5 -vf cropdetect -f null -
ffmpeg version N-91434-gcced03dd66 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7.3.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
libavutil 56. 18.102 / 56. 18.102
libavcodec 58. 21.104 / 58. 21.104
libavformat 58. 17.101 / 58. 17.101
libavdevice 58. 4.101 / 58. 4.101
libavfilter 7. 25.100 / 7. 25.100
libswscale 5. 2.100 / 5. 2.100
libswresample 3. 2.100 / 3. 2.100
libpostproc 55. 2.100 / 55. 2.100
[hevc @ 000001ae8c64b440] Skipping NAL unit 62
[mpegts @ 000001ae8c649c00] start time for stream 24 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 25 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 26 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 27 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 28 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 29 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 30 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 31 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 32 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 33 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 34 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 35 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 36 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 37 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 38 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 39 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 40 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 41 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 42 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 43 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 44 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 45 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 46 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 47 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 48 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 49 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 50 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 51 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 52 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 53 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 54 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] start time for stream 55 is not set in estimate_timings_from_pts
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 24 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 25 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 26 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 27 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 28 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 29 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 30 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 31 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 32 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 33 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 34 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 35 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 36 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 37 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 38 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 39 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 40 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 41 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 42 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 43 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 44 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 45 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 46 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 47 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 48 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 49 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 50 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 51 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 52 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 53 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 54 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ae8c649c00] Could not find codec parameters for stream 55 (Subtitle: hdmv_pgs_subtitle (pgssub) ([144][0][0][0] / 0x0090)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[NULL @ 000001ae8c6714c0] missing picture in access unit
[NULL @ 000001ae8c64b440] missing picture in access unit
[NULL @ 000001ae8c6714c0] missing picture in access unit
[NULL @ 000001ae8c64b440] missing picture in access unit
Input #0, mpegts, from '\\MAIN\Media\Discs\AQUAMAN\BDMV\stream\00058.m2ts':
Duration: 02:23:19.40, start: 11.641667, bitrate: 81975 kb/s
Program 1
Stream #0:0[0x1011]: Video: hevc (Main 10) (HDMV / 0x564D4448), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 23.98 tbc
Stream #0:1[0x1015]: Video: hevc (Main 10) (HDMV / 0x564D4448), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 23.98 tbc
Stream #0:2[0x1100]: Audio: truehd (AC-3 / 0x332D4341), 48000 Hz, 7.1, s32 (24 bit)
Stream #0:3[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:4[0x1101]: Audio: dts (DTS-HD MA) ([134][0][0][0] / 0x0086), 48000 Hz, 5.1(side), s16p
Stream #0:5[0x1102]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:6[0x1103]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:7[0x1104]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:8[0x1105]: Audio: truehd (AC-3 / 0x332D4341), 48000 Hz, 7.1, s32 (24 bit)
Stream #0:9[0x1105]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:10[0x1106]: Audio: dts (DTS-HD MA) ([134][0][0][0] / 0x0086), 48000 Hz, 5.1(side), s16p
Stream #0:11[0x1107]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:12[0x1108]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:13[0x1109]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:14[0x110a]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:15[0x110b]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:16[0x110c]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:17[0x110d]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:18[0x110e]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:19[0x110f]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:20[0x1110]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:21[0x1111]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:22[0x1112]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:23[0x1113]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
Stream #0:24[0x12a0]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:25[0x12a1]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:26[0x12a2]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:27[0x12a3]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:28[0x12a4]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:29[0x12a5]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:30[0x12a6]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:31[0x12a7]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:32[0x12a8]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:33[0x12a9]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:34[0x12aa]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:35[0x12ab]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:36[0x12ac]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:37[0x12ad]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:38[0x12ae]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:39[0x12af]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:40[0x12b0]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:41[0x12b1]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:42[0x12b2]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:43[0x12b3]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:44[0x12b4]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:45[0x12b5]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:46[0x12b6]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:47[0x12b7]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:48[0x12b8]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:49[0x12b9]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:50[0x12ba]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:51[0x12bb]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:52[0x12bc]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:53[0x12bd]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:54[0x12be]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream #0:55[0x12bf]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090)
Stream mapping:
Stream #0:0 -> #0:0 (hevc (native) -> wrapped_avframe (native))
Stream #0:2 -> #0:1 (truehd (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
[hevc @ 000001ae8ff6aa80] Could not find ref with POC 51
[hevc @ 000001ae8ff6aa80] Could not find ref with POC 54
Too many packets buffered for output stream 0:1.
Conversion failed!
-
...and if I use this to output to a dummy file
ffmpeg.exe -ss 00:05:00 -noaccurate_seek -i "\\MAIN\Media\Discs\AQUAMAN\BDMV\stream\00058.m2ts" -t 5 -vf cropdetect -y dummy.mp4
I don't get the error but the Crop Detect aspect ratio is wrong that I think is from using -ss
[Parsed_cropdetect_0 @ 0000025a0e72a740] x1:0 x2:3839 y1:0 y2:2159 w:3840 h:2160 x:0 y:0 pts:440721 t:4.896900 crop=3840:2160:0:0
-
Try "-map 0" to select just one stream. Those errors are likely caused by ffmpeg trying to seek into empty/invalid subtitle streams.
-
ffmpeg.exe -ss 00:05:00 -noaccurate_seek -i "\\MAIN\Media\Discs\AQUAMAN\BDMV\stream\00058.m2ts" -t 5 -vf cropdetect -map 0 -codec copy -f null -
Filtergraph 'cropdetect' was defined for video output stream 0:0 but codec copy was selected.
Filtering and streamcopy cannot be used together.
....and
ffmpeg.exe -ss 00:05:00 -noaccurate_seek -i "\\MAIN\Media\Discs\AQUAMAN\BDMV\stream\00058.m2ts" -t 5 -vf cropdetect -map 0 -f null -
Automatic encoder selection failed for output stream #0:24. Default encoder for format null (codec none) is probably disabled. Please choose an encoder manually.
Error selecting an encoder for stream 0:24
-
What about selecting the first video stream with "-map 0:v" ? Place it after the -i arg.
You can also try excluding subtitle streams with "-map 0 -map -0:s"
-
works but the aspect ratio info is wrong
[hevc @ 00000212edce4280] Skipping NAL unit 62
[Parsed_cropdetect_0 @ 00000212eab7d340] x1:0 x2:3839 y1:0 y2:2159 w:3840 h:2160 x:0 y:0 pts:440721 t:4.896900 crop=3840:2160:0:0
[Parsed_cropdetect_0 @ 00000212eab7e040] x1:0 x2:1919 y1:0 y2:1079 w:1920 h:1072 x:0 y:4 pts:440721 t:4.896900 crop=1920:1072:0:4
-
Strange that it outputs 2 different values for the same timestamp. The @address/value is different, but I don't know what that means.
Is this a 3D movie?
edit: can you please paste the whole output to see what streams it's processing?
-
Not 3D but 2 video streams. The real issue is that the aspect ratio is just wrong when you use -ss, it is reporting the full frame and not detecting the black bars. I've attached the output.
-
seems to be related to the hevc decoder, same commands behave normally when used on a BD as opposed to a UHD
-
I think Matt is correct.
-
OK, after googling I think this is what is called "picture in picture" (PIP). It's a feature of M2TS where you can have 2 video tracks in a single stream, or multiple different bounding boxes per frame.
https://forum.makemkv.com/forum/viewtopic.php?t=15253
I'm sure there's a way to select which one of them you want, but there's no way to know which is the correct one.
I suggest you go with this last command/output and just select the highest x*y value from the output. This is usually what is wanted.
-
Sorry, I missed your reply above.
If it's detecting the wrong resolution with -ss then it's bad :/
What about selecting substream with -map 0:v:0 ?
-
Yup -ss is bad when combined with cropdetect on these files.
-
.... so back to the question of what to do with the data anyway,
In MC playback we have
- Crop Options listed as 1.33 (4:3), 1.78 (16:9), 1.85, 2.35, and 2.40
- Aspect Ratio Field that can contain any string and is in a ratio format such as 1:1, 4:3, 16:9 etc (I even have weird stuff like 4400:3285)
So in the above example we have a 3840 x 1600 which I could store as:
- 3840:1600
- 2.4
- 21.6:9 (or as it is commonly and incorrectly called 21:9)
Also is the idea to overwrite the existing "Aspect Ratio" field or add the data to a new field such as "Aspect Ration (Actual)"?
-
I think it's useful to have both the declared and the detected ratios (meaning, new field for the detected ratio).
Or what about entering the fieldname in SWOT?
-
Here is a 64-Bit test build that should fix the MediaInfo issue when trying to update the data in a Field Name that contain an "&".
Let me know how it goes.
Thanks
Nathan
Still the same with test build. MC field is cut. Test property "Isolated Music & Effects Track"
-
Odd - It is working for me (see pic). In the About tab does it say 17 April 2021 - Test Build?
-
My MC field is called Extras and I will read the value for it from Mediainfo's Audio:Title/s so in this case
MediaInfo Audio:Title value is "Isolated Score & Effects"
After running SoT MC [Extras] value will have "Isolated Score " when it should be "Isolated Score & Effects"
So the value of the field will be cut not the field name
I'm using 17 April build
-
Ahhh got you. I thought your MC Field was ""Isolated Score & Effects" not that the Data was being read was "Isolated Score & Effects"
-
Here is another Test Build.
-
Yup, got that from your picture. Says more than 1000 words as they say 8)
E: Now working fine thank you
-
Great!
FYI - I'll need to go through the code and change a bunch of different areas to this URI encode method.... so there will be another test build when I've done that.....
-
19 April 2021 - Test Build 2 (64-Bit only)
MediaInfo module: Made some URI encoding changes to handle MC Field Names and Data with characters like "&".
Let me know if I broke anything! :)
-
.... so back to the question of what to do with the data anyway,
In MC playback we have
- Crop Options listed as 1.33 (4:3), 1.78 (16:9), 1.85, 2.35, and 2.40
- Aspect Ratio Field that can contain any string and is in a ratio format such as 1:1, 4:3, 16:9 etc (I even have weird stuff like 4400:3285)
So in the above example we have a 3840 x 1600 which I could store as:
- 3840:1600
- 2.4
- 21.6:9 (or as it is commonly and incorrectly called 21:9)
Also is the idea to overwrite the existing "Aspect Ratio" field or add the data to a new field such as "Aspect Ration (Actual)"?
My only motivation is to see real aspect ratio for the actual image content and I myself don't need to do any cropping or anything like that based on it. So I would only use it to select correct aspect ration icon based on the calculation. I wouldn't probably override MC's own aspect ratio field
-
Sorry, but I have understood little, indeed nothing, of what you have written: by chance have you been able to fulfill my request?
-
19 April 2021 - Test Build 2 (64-Bit only)
MediaInfo module: Made some URI encoding changes to handle MC Field Names and Data with characters like "&".
Let me know if I broke anything! :)
Filenames probably still have "& problem"
ref: The Doctor, The Tornado & The Kentucky Kid (2006).mkv
-
Thanks - seen the "&" on file name issue so I'll take a look and also at storing the actual image ratio in a new Field
-
Test Build: 17 May 2021
Fixed the "&" Issue on file names that contain it
Added a Crop Detect, but this is for testing only at this stage
- You will need to run SOT --> Configuration --> Save Configuration and it will add a new Field called "Crop"
- Run SOT --> MediaInfo and it will download a copy of FFmpeg and then it will run over the selected files
- At this stage it will only work on single files like MP4, MKV, MOV etc and not on BD, UHD BD, DVD's etc
- At this stage there is no way to "turn it off" so it will run regardless if you want that data or not
- It may take a fair bit of time given it is analysing the first 30 sec of every video file and then storing the value from the last frame
Let me know if this is useful and I'll
- make it more integrated so it works on BD, UHD, DVD's
- make it optional
Also this is the ffmpeg cmd I'm using, so any ideas on improvements would also be worth discussing:
ffmpeg.exe -ss 300 -i "%MC_FileNameExt%" -t 5 -vf cropdetect -f null dummy > ffmpg.txt 2>&1
EDIT: If the ffmpeg build is not downloading and extracting correctly into your [SOT]\ffmpeg folder (blocked by Windows Defender etc), then you can just download the this ffmpeg build manually (https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2021-05-15-12-36/ffmpeg-N-102545-g59032494e8-win64-gpl-shared.zip) and extract it to the [SOT Folder]\ffmpeg folder.
-
So I'm grabbing all the text from the end of the last Crop Line that ffmpeg outputs, and it looks like this at this stage. I don't really know what the 4 different values are for or how you would use them. I've also attached a sample of the output from one of the files.
-
The values are w/h and x/y, enough to describe the active image inside the frame.
So 3840:2160:0:0 means the image is 3840x2160 starting at 0:0 - ie. no cropping was detected.
1920:1072:0:4 means the image is 1920x1072, starting at 0:4 .. ie. it wants to crop off 8 lines in total, and the image starts at line 4 from the top (and the second set of 4 lines to crop would be at the end then)
-
ffmpeg is downloaded again for each run for me. there is a folder called ffmpeg but it its empty
-
Thanks Hendrik, makes sense when it is explained!
So the next question is how to store the data in MC for the intended purpose for those wanting to change the aspect ratio on playback? Should it be:
- As it is now
- Less the "crop=" text
- Just the first two #'s (eg 3840:2160 or 3840 x 2160)
- As an Decimal Aspect Ratio to xxx number of places from the first two numbers (eg 1.77 for 3840/2160)
- "Round" to some known Fractional Aspect Ratio based on the first two numbers (I don't like this one).
I've now run it over some more random files and compared it to what MC holds already.
-
ffmpeg is downloaded again for each run for me. there is a folder called ffmpeg but it its empty
I just tested by deleting my downloaded ffmpeg folder (in the SOT folder) and it download and unzipped the file just fine for me.
Do you see a download progress indicator in the SOT log followed by windows unzipping the file?
Other wise you could just download the this ffmpeg build manually (https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2021-05-15-12-36/ffmpeg-N-102545-g59032494e8-win64-gpl-shared.zip) and extract it to the [SOT Folder]\ffmpeg
I was seeing some Windows Firewall warning it was a dangerous file when downloading it manually but after I hit "keep" it seemed to be fine.
-
Also this is the ffmpeg cmd I'm using, so any ideas on improvements would also be worth discussing:
ffmpeg.exe -i "filename" -t 4 -vf cropdetect -y dummy.mp4 > ffmpg.txt 2>&1
You can use "-f null dummy" instead of "-y dummy.mp4" to redirect the output to null (doesn't actually create any output file).
-
Copying manually that build worked. I think that cropping should be determined from some other timestamps than from beginning or from end as there are much black on those points of time in the movies.
Bill & Tedd Excellent Adventure starts with MGM logo which have black all over the border of the picture so it gets crop value of "crop=768:512:568:246" for movie of 1920:1080 with 16:9 display aspect ratio (DAR) without cropping (actual aspect ratio is 2.39:1). Maybe even test multiple points of time and then determine crop from those values.
Also if users are using this to actually somehow crop movies when watching then DAR of uncropped image has to be known also to be able to get aspect ratio of the cropped image correct for both anamorphic and not anamorphic movies. I guess this value is currently strored in [Aspect Ratio] field if MC was able to read it when it analyzed the file.
MediaInfo reads it from "Display aspect ratio". Maybe SoT could write two tags: [Crop] and [Aspect Ratio (cropped)] or something like that. Of course user can read "Display aspect ratio" themself with SoT and then calculate new display aspect ratio with crop applied
+1 for zybex output to null comment
-
+1 on the "-f null dummy" ! forgot that one ::).
So the "hard" bit is finding a single set of parameters that works well "Enough". Adding -ss 00:05:00 -noaccurate_seek (to get say 5min in) produced weird results last time I look at this but this is a different ffmpeg build so I'll try it again.
-
+1 on the "-f null dummy" ! forgot that one ::).
So the "hard" bit is finding a single set of parameters that works well "Enough". Adding -ss 00:05:00 -noaccurate_seek (to get say 5min in) produced weird results last time I look at this but this is a different ffmpeg build so I'll try it again.
At least there are some opensource transcoders which seem to get auto cropping right so it should be possible
-
Adding -ss 00:05:00 -noaccurate seek (to get say 5min in) produced weird results last time I look at this but this is a different ffmpeg build so I'll try it again.
Yup still returns odd results on some files
At least there are some opensource transcoders which seem to get auto cropping right so it should be possible
I'm happy to add whatever the variables should be..... but as I'm not going to use this feature, it will need to be someone who knows what it should be, other wise I'm just guessing. If it turns out to be unreliable or just of little use, then I'll back out this code.
-
I'm happy to add whatever the variables should be..... but as I'm not going to use this feature, it will need to be someone who knows what it should be, other wise I'm just guessing. If it turns out to be unreliable or just of little use, then I'll back out this code.
That is perfectly fine and practical approach
-
;D
FYI - reuploaded the test build using "-f null dummy"
-
....could not help myself and I tried a whole bunch of various seeking methods but they all produced odd results on different files (or no results at all). So I've reuploaded a build (https://yabb.jriver.com/interact/index.php/topic,106802.msg898333.html#msg898333) that starts at the beginning of the file and runs till the 30sec mark (instead of 4 sec) before taking the values. Seems to work for me but I've a couple of ideas:
1) Let users select how long to scan the files in Seconds
2) Instead of just taking the values at the end of the scan time, take the MAX width / height? (but this could be odd if there is a mix of letterbox and pillar box) - not sure about this one....
I figure at the 30sec mark we should be past any intros on most videos. Even if it hits a 80/20 rule it should be OK. You can always change the values for any "odd" results manually in MC.
I also removed the "crop=" text so it is just the 4 values.
Anyway, have a play with the new test build and see how it works.
-
You're coming up on the 5 year mark for SWOT. Congratulations! Impressive!
-
;D - Impressive is staring with Wood Stoves! How long as it been?
-
Keystone Construction began in 1970.
Ironwood Stove Co. began in 1976.
James River Group began in 1981.
Name changed to J. River about 1993.
Name changed to JRiver about 2010.
Acquired by SOT in 2025.
-
ffmpeg -ss 300 -i "input.mkv" -t 15 -vf cropdetect -f null -
Giving a little more input data (like 15 seconds) seems to give me reasonable results even with starting from 5 min timestamp. Making same kind of analysis starting from different timestamps would probably give even more assurance that cropping value is indeed reliable.
-
Hi Jmone can you update your mediainfo tool to handle this : https://yabb.jriver.com/interact/index.php/topic,129459.0.html
-
For Matroska at least there is Audio Track Count field under General section of MediaInfo which can be read if MediaInfo is executed with parameter which shows all the fields.
I don't know the purpose of Number of tracks field but you can get number of audio tracks also by creating e.g. library fields
[Audio Track IDs] = string, populated by SoT
[Audio Track Count] = calculate field: rule ListCount([Audio Track IDs])
Configure SoT MediaInfo:
Enter the Field MC to Update: Audio Track IDs
Enter MediaInfo Data Field to collect: ID
Enter MediaInfo Section to restrict to: Audio
-
ffmpeg -ss 300 -i "input.mkv" -t 15 -vf cropdetect -f null -
Giving a little more input data (like 15 seconds) seems to give me reasonable results even with starting from 5 min timestamp. Making same kind of analysis starting from different timestamps would probably give even more assurance that cropping value is indeed reliable.
Oh dear.... it was me. ::) I was running -ss over my test files..... but many of them are very short = getting either 0 or negative values
Anyway, I've updated the build with -ss 300 and -t 5 and it seems to work well (on files that are longer than 6min anyway!)
I'll need to add some logic for short files (say under 10min) then just run from the start, but for now the updated build is in the same post https://yabb.jriver.com/interact/index.php/topic,106802.msg898333.html#msg898333
-
For Matroska at least there is Audio Track Count field under General section of MediaInfo which can be read if MediaInfo is executed with parameter which shows all the fields.
I don't know the purpose of Number of tracks field but you can get number of audio tracks also by creating e.g. library fields
[Audio Track IDs] = string, populated by SoT
[Audio Track Count] = calculate field: rule ListCount([Audio Track IDs])
Configure SoT MediaInfo:
Enter the Field MC to Update: Audio Track IDs
Enter MediaInfo Data Field to collect: ID
Enter MediaInfo Section to restrict to: Audio
Thanks Lepa for ur elaborate tips. i will try that and report back.
-
Test Build: 17 May 2021 Build 2 - More tuning of the Crop Detect (Using a single run of "ffmpeg.exe -ss 120 -i "%MC_FileNameExt%" -t 10 -vf cropdetect -f null dummy")
- Should work on Files, DVD, and Bluray (largest VOB and M2TS respectivly)
- Will not work (or give odd results) if the video is under a few minutes in length (will address later)
- You will need to run SOT --> Configuration --> Save Configuration and it will add a new Field called "Crop"
- Run SOT --> MediaInfo and it will download a copy of FFmpeg and then it will run over the selected files
- At this stage there is no way to "turn it off" so it will run regardless if you want that data or not
Let me know how this build goes, but it seems to work pretty well over 100+ files so far and is pretty quick. I'm interested in what % of readings look wrong (trying to avoid the time penalty of do multiple measurements on one file).
NOTE: If the ffmpeg build is not downloading and extracting correctly into your [SOT]\ffmpeg folder (blocked by Windows Defender etc), then you can just download the this ffmpeg build manually (https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2021-05-15-12-36/ffmpeg-N-102545-g59032494e8-win64-gpl-shared.zip) and extract it to the [SOT Folder]\ffmpeg folder.
-
Keystone Construction began in 1970.
Ironwood Stove Co. began in 1976.
James River Group began in 1981.
Name changed to J. River about 1993.
Name changed to JRiver about 2010.
Retired SOT in 2025 as MC32 does it all!
There... Fixed it!
-
Fortunately the forum's autocorrect is not too smart, or it would look like:
JRiver began in 1970.
JRiver began in 1976.
JRiver began in 1981.
Name changed to JRiver about 1993.
Name changed to JRiver about 2010.
Acquired by [warning! mentioning competitor products is not allowed and may get you banned!] in 2025.
-
new crop detect seem to work very nicely! 8)
for short set of test files I was getting close enough values to be able to set correct aspect ratio icon
-
And to put it into practice, what needs to be done? How should I set SOT so that the correct value appears in the "aspect ratio calculated" tag?
-
Ok, I was able to use SOT. He created the "crop" tag for me and the data of the selected file appears there.
I wanted this data to appear in the Aspect Ratio tag, but I couldn't - is this normal?
But even if I succeeded, the fact that it appears to me, for example, 3840: 1600: 0: 280 is not good as it should only be the first 2 and also it should be 1620 and not 1600: is that what you were talking about?
-
I'm just storing the data as it is reported from ffmpeg into the "crop" field. Lepa is then using that data to make a "calculated" MC Field with the aspect ratio. I'm no expert on how to do this in MC, though it looks like lepa may be able to help.
-
Save(If(And(Compare(ListItem([Dimensions],0,/ x/ ),=,ListItem([Crop],0,:)),Compare(ListItem([Dimensions],1,/ x/ ),=,ListItem([Crop],1,:)),Compare(ListItem([Crop],2,:),=,0),Compare(ListItem([Crop],3,:),=,0)),0,1),v_IsCropped)/
Save(Replace(Math(ListItem([Aspect Ratio],0,:) / ListItem([Aspect Ratio],1,:)),/,,.), v_ARDecimal)/
Save(Math((ListItem([Crop],0,:) / [v_ARDecimal]) / (ListItem([Crop],1,:) / [v_ARDecimal])),v_ARCalculated)/
If([v_IsCropped]/
,Save(Replace(Math(ListItem([Aspect Ratio],0,:) / ListItem([Aspect Ratio],1,:)),/,,.), v_ARDecimal)/
Save(Math((ListItem([Crop],0,:) / [v_ARDecimal]) / (ListItem([Crop],1,:) / [v_ARDecimal])),v_ARCalculated)/
,Save(Replace(Math(Replace([Aspect Ratio],:,//)),/,,.),v_ARCalculated)/
)/
IfCase([v_ARCalculated], 3, 1, empty, 1.38, 1.33, 1.69, 1.66, 1.80, 1.78, 1.88, 1.85, 2.37, 2.35, 2.45, 2.39)
Haven't check the math from anywhere so probably not right but anyway this is what I'm using. If there is no cropping then just use Aspect Ratio got from MediaInfo, otherwise try to calculate it.
@jmone: If you could add configuration for -ss and -t values it would be great. Current values work for most but not all the time
-
Problems there:
- lines 3/4 calculate an ARCalculated based on [Aspect Ratio], but the if/else on lines 5-8 will always overwrite it (lines 3/4 are the same as 7/8)
- line 8 is doing (A/B)/(C/B), which is the same as just (A/C). So v_ARDecimal is not used.
The expression seems to be the same as this one then:
Save(not(isequal([crop], Replace([dimensions],/ x/ ,:):0:0)), v_IsCropped)/
If([v_IsCropped]/
,Save(Math(ListItem([Crop],0,:) / ListItem([Crop],1,:)),v_ARCalculated)/
,Save(Math(Replace([Aspect Ratio],:,//)),v_ARCalculated)/
)/
IfCase(Replace([v_ARCalculated],/,,.), 3, 1, empty, 1.38, 1.33, 1.69, 1.66, 1.80, 1.78, 1.88, 1.85, 2.37, 2.35, 2.45, 2.39)
-
Thanks both of you for posting the info on the Calculated Fields (I hope this works for lello).
@lepa. Good idea. I'll need to:
- Integrate the code into SOT properly (just stubbed in)
- Add options for -SS and -T values (that will be then saved as the defaults)
- Add a check that the -SS and -T values are not longer than the length of the video and auto reduce them if they are
I may not get to the above for a week with what I've currently got on however.
-
zybex expression is cleaned up version so that one is better. Math is still not correct if video is anamorphic and have something to crop
-
Thanks guys, a really great job! I used the zibex expression, and everything works fine.
The only problem I have with movies with variable AR as sometimes I consider them 16: 9 and other times 2:35: was that what lepa refers to?
For me it is not a problem as they are few, and I manage them manually considering them all 2:35
-
Why didn't you also foresee the 2:20 aspect ratio? Yet it is quite used especially for TV series.
In these cases, in the AR-Calculated tag it appears 2:35 but it is not correct.
I tried to add it manually, but I'm too ignorant about it so it didn't work. :'(
I also tried searching for the logo on the web, but I couldn't find it
-
just modify the if case eg like this
IfCase(Replace([v_ARCalculated],/,,.), 3, 1, empty, 1.38, 1.33, 1.69, 1.66, 1.80, 1.78, 1.88, 1.85, 2.25, 2.20, 2.37, 2.35, 2.45, 2.39)
so if v_ARCalculated value is smaller than 2.25 then output 2.20
so whole deal is
if smaller than 1 output "empty"
if smaller than 1.38 output 1.33 (Note also 1.37 ratio is missing as I didn't bother to find / create icon)
if smaller than 1.69 then output 1.66
etc etc
-
Perfect, now I have to find the Aspect Ratio 2.20 icon
-
I made the 2.20 icon myself, but I couldn't create the transparency: which free program should I use? Or where can I find the icon?
-
Hi,
I use the webpage
https://www.designevo.com/
to make my own icons
-
I like Paint.Net (https://www.getpaint.net/), and Krita (https://krita.org/en/) for more complex stuff.
Remember to save as PNG as JPG doesn't support transparency.
2.20:1 seems a relatively obscure format... It seems to have been exclusively used by Todd-AO company - maybe you'll want to use their logo:
https://en.wikipedia.org/wiki/Todd-AO
Otherwise, it's best to draw a set of icons for all formats using a common layout.
-
Test Version: 210612
- Added the ability to enter in the desired point in the video to start measuring the Crop Factor
- Simple check (and warning in the log) if the desired point in the video to start measuring the Crop Factor is greater than the duration of the video itself (and SOT will instead measure from 1 sec so processing over lots of files can continue)
- Your preferred value will be remembered between runs (stored in the INI file)
- If the value is blank or 0 then the Crop Factor will not run (so as to not slow down those who just want the Media Info meta data but don't want to check for the crop info)
As usual, let me know what I broke!
-
I always get this error:
Error - 500 Processed Failed (see details below)
http://127.0.0.1:52199/MCWS/v1/File/SetInfo?File=1896&FileType=Key&Field=Language&Value=Italian;English; Italian; English
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Response Status="Failure"/>
-
Hi Lello, Can you please check "Turn on Verbose Logging of MCWS Calls" and post the entire log as it seems to be working here for me.
Thanks
Nathan
-
Here it is
-
The MCWS Response Status does not say why, just that it failed. By any chance do you already have "Korean" and "English" in the "Language" field in MC? ... if so...
I see you are running MC26 and from memory, there was a change in how MCWS reported failures and now gives more information. A "500 error" gets generated when SOT tries to do an update that is not needed but the latest versions of MC also returns an Information line such as "<Response Status="Failure" Information="No changes."/>" SOT looks for this and in the log places a msg "--- MC already has the same information for the above results ---" to let you know that a change was not made (or required) as supresses the error msg (unless you are in Verbose mode where you see all the calls and results).
-
It's likely the duplicated values in the URL, with spaces. MC doesn't like duplicates, you may need to Trim and de-duplicate:
&Field=Language&Value=Italian;English; Italian; English
-
Yeah I saw that but.... it is fine with my testing (and has been that way for ages). At some point MCWS intoduced a 500 error if there was no update to do (was reported earlier in this thread).
-
As suggested by Zybex, cleaned up the code around updating the "Language field" which may also fix lello's issue..
Test Version: 210614
- Added the ability to enter in the desired point in the video to start measuring the Crop Factor
- Simple check (and warning in the log) if the desired point in the video to start measuring the Crop Factor is greater than the duration of the video itself (and SOT will instead measure from 1 sec so processing over lots of files can continue)
- Your preferred value will be remembered between runs (stored in the INI file)
- If the value is blank or 0 then the Crop Factor will not run (so as to not slow down those who just want the Media Info meta data but don't want to check for the crop info)
- Changed the Language parsing to remove duplicates, padding + it will not call MCWS if there is nothing to change
As usual, let me know what I broke!
-
Yeah I saw that but.... it is fine with my testing (and has been that way for ages). At some point MCWS intoduced a 500 error if there was no update to do (was reported earlier in this thread).
We now return this if there are no changes:
<Response Status="Failure" Information="No changes."/>
That seems reasonable to me, but let me know if you have a better proposal. Thanks.
-
I don't have the "Korean" field and I'm doing the tests with SOT on the laptop where I have MC26: should I do them on the htpc where I have MC27?
I am attaching the .txt file after trying the latest version
-
We now return this if there are no changes:
<Response Status="Failure" Information="No changes."/>
That seems reasonable to me, but let me know if you have a better proposal. Thanks.
Hi Matt, It works really well for me, I like the "Information Part" instead of just Failure :)
-
I don't have the "Korean" field and I'm doing the tests with SOT on the laptop where I have MC26: should I do them on the htpc where I have MC27?
I am attaching the .txt file after trying the latest version
The error is different this time, as you can see it is saying Information="Field not found." Looking at the call you are trying to populate a field called "Audio Track Count RAW" with a Value of "2; 3" but MC is reporting there is no field called "Audio Track Count RAW" in the library. Have you created it?
-
You're right, I had entered the same parameters as the htpc but on the laptop I don't have all those fields.
But I tried with a simple thing by entering: Subtitles - Language - Text and this is the result:
Error - 500 Processed Failed (see details below)
http://127.0.0.1:52199/MCWS/v1/File/SetInfo?File=387&FileType=Key&Field=Subtitles&Value=Italian%3B%20English
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Response Status="Failure"/>
Created Extra file for "C:\Users\Babbo\Videos\Assassinio sull'orient express\Assassinio.sull'Orient.Express.2017_MediaInfo.txt"
Commenced - Please wait....
But if it's okay with you, and not me, obviously it is I who am wrong something but I am not up to understanding what
-
So in this case SOT is trying to update the Field "Subtitles" but it is still failing (but does not give us a clue). I take it that "Subtitles" exists in your MC Library as we don't get the "Field not Found" info.
Another idea, is if it is working on your Desktop but not your Laptop you may want to compare the MC Authentication Settings under Tools --> Options --> Media Network?? then in SOT run the Configure again?
-
The subtitle field is there and is populated.
On the htpc I still haven't tried the new version, for fear of not being able to go back to the previous one, but if you want I can do these tests later.
I redid the configuration on the laptop and it was successful, but I have the same error as before
-
Right. I suspect the newer version from yesterday will work (I was wondering why there is still a space in the data that this newer version removes). Also there is no problem rolling back, just move the "old" SOT.exe to a sub folder with a date and delete when you are happy the newer version is working.
-
Everything works perfectly on the htpc. :)
Sorry if I wasted your time :-[
-
No probs - we all go around in circles at times + It made me clean up a bit of code. :)
-
Hi,
I've been following this recent development with great interest and would very much appreciate if someone could make an short summary of the steps needed to be able to measure the crop factor.
Cheers and have a great weekend!
//arcspin
-
Do you need to know just how to measure the crop factor or how to configure all SOT?
-
Hi lello and thanx for responding,
I use SOT and have used it for a long time so basically the rundown what is need to get correct crop factors as:
What library field and calculated data is advisable to create
What is the correct expression field to create in the file info panel.
I currently use a crop factor expression but I think doing a direct measure on the actually movie will more correct identify the correct crop factor.
This is what I currently use
AR-calculated Library Field:
Save(Math(Trunc(Replace([Aspect Ratio], :, // ) + .005, 2)), gAR)
ifcase([gAR], 3, 1, empty, 1.38, 1.33, 1.68, 1.66, 1.80, 1.78, 1.87, 1.85, 2.36, 2.35, 2.40, 2.39)
Expression in File infor view:
<font face="ToolTip01" size="160" color="#9496a3">Save(Math(Trunc(Replace([Aspect Ratio], :, // ) + .005, 2)), gAR)IfElse(Compare(Load(gAR), <, 1), , Compare(Load(gAR), <, 1.38), M, Compare(Load(gAR), <, 1.68), N,Compare(Load(gAR), <, 1.80), O,Compare(Load(gAR), <, 1.87), P,Compare(Load(gAR), <, 2.36), Q,Compare(Load(gAR), <, 2.40), R)<//font>/
-
From a SOT perspective, here is the field you need to create in MC that will then be populated with the data measured using FFMpeg.
This post from Zybex transforms the data - https://yabb.jriver.com/interact/index.php/topic,106802.msg898662.html#msg898662 from the "Crop" field into whatever field you use. (I think!)
-
Thanx,
What is needed to be entered in SOT MediaInfo?
Do I need to add "Crop" to "Enter the Field in MC to Update"?
and how many second in to the movie is advisable to add?
-
As per the Pic, Just add the # of secs into the Video you want to measure (eg 120sec to avoid intros).
-
Getting closer!
Ok, so SOT tells me that "FFmpeg is missing, Download Now or Cancel?"
I press OK and SOT does it thing. but there is no crop factor added:
The Crop Factor for "H:\Filmer\Filmer3\The Mummy 1959\The Mummy 1959" is
and the next time I use SOT and Gets Mediainfo the same question appears again.
Question: Where to download and where to install FFmpeg?
-
NOTE: If the ffmpeg build is not downloading and extracting correctly into your [SOT]\ffmpeg folder (blocked by Windows Defender etc), then you can just download the this ffmpeg build manually (https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2021-05-15-12-36/ffmpeg-N-102545-g59032494e8-win64-gpl-shared.zip) and extract it to the [SOT Folder]\ffmpeg folder.
EDIT - ahhh the source has been removed!!!! Give me a bit!
-
OK - Try this test build - It should have a link to a ffmpeg build that apparently will last for two years (not two weeks!).
Test Version: 210618
- Added the ability to enter in the desired point in the video to start measuring the Crop Factor
- Simple check (and warning in the log) if the desired point in the video to start measuring the Crop Factor is greater than the duration of the video itself (and SOT will instead measure from 1 sec so processing over lots of files can continue)
- Your preferred value will be remembered between runs (stored in the INI file)
- If the value is blank or 0 then the Crop Factor will not run (so as to not slow down those who just want the Media Info meta data but don't want to check for the crop info)
- Changed the Language parsing to remove duplicates, padding + it will not call MCWS if there is nothing to change
As usual, let me know what I broke!
-
NOTE: If the ffmpeg build is not downloading and extracting correctly into your [SOT]\ffmpeg folder (blocked by Windows Defender etc), then you can just download the this ffmpeg build manually and extract it to the [SOT Folder]\ffmpeg folder.
https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2021-05-31-13-09/ffmpeg-N-102631-gbaf5cc5b7a-win64-gpl-shared.zip
-
Sorry to say,
But the same result and in the SOT folder there are not being created any ffmpeg folders.
I will try manually update ffmpeg
-
Do I extract the zipped folder directly under SOT folder?
The zipped folder is named "ffmpeg-N-102631-gbaf5cc5b7a-win64-gpl-shared"
-
One sec....
-
OK - Try this test build - It should have a link to a ffmpeg build that apparently will last for two years (not two weeks!).
Test Version: 210618
- Added the ability to enter in the desired point in the video to start measuring the Crop Factor
- Simple check (and warning in the log) if the desired point in the video to start measuring the Crop Factor is greater than the duration of the video itself (and SOT will instead measure from 1 sec so processing over lots of files can continue)
- Your preferred value will be remembered between runs (stored in the INI file)
- If the value is blank or 0 then the Crop Factor will not run (so as to not slow down those who just want the Media Info meta data but don't want to check for the crop info)
- Changed the Language parsing to remove duplicates, padding + it will not call MCWS if there is nothing to change
As usual, let me know what I broke!
-
For me, same as before.
-
If FFMPEG is not being download automatically, then unzip the download from https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2021-05-31-13-09/ffmpeg-N-102631-gbaf5cc5b7a-win64-gpl-shared.zip it into this folder
-
Nope, still the same.
I have a Swedish OS, can that be problematic?
can I (and how) send som logfiles?
-
Mmmmm, Run SOT and check "Turn on Verbose Logging of MCWS Calls" and the copy and paste here the log in the bottom box.
-
The log should look like this:
Finished
The Crop Factor for "\\MAIN\Media\Discs\Parasite\BDMV\index" is 3840:2160:0:0
MCWS Status - 200 MCWS Call and Result (see details below)
http://127.0.0.1:52199/MCWS/v1/File/SetInfo?File=9784204&FileType=Key&Field=Crop&Value=3840:2160:0:0
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Response Status="Failure" Information="No changes."/>
--- MC already has the same information for the above results ---
Determining the Crop Factor for "\\MAIN\Media\Discs\Parasite\BDMV\index" at the 120 sec mark
Adding Largest M2TS file for "\\MAIN\Media\Discs\Parasite\BDMV\index_MediaInfo.txt"
Created Extra file for "\\MAIN\Media\Discs\Parasite\BDMV\index_MediaInfo.txt"
MCWS Status - 200 MCWS Call and Result (see details below)
http://127.0.0.1:52199/MCWS/v1/File/GetInfo?File=9784204&Fields=Name,Playback Range,Filename,File Type,Compression,Language,Duration
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<MPL Version="2.0" Title="MCWS - Files - 15752" PathSeparator="\">
<Item>
<Field Name="Key">9784204</Field>
<Field Name="Name">Parasite</Field>
<Field Name="Filename">\\MAIN\Media\Discs\Parasite\BDMV\index.bluray;1</Field>
<Field Name="File Type">bdmv</Field>
<Field Name="Compression">bdmv video (video: HEVC, audio: dts-hd)</Field>
<Field Name="Language">English;Korean</Field>
<Field Name="Duration">7914</Field>
</Item>
</MPL>
Commenced - Please wait....
MCWS Status - 200 MCWS Call and Result (see details below)
http://127.0.0.1:52199/MCWS/v1/Files/Current?Action=Serialize
2;1;-1;9784204
Media Center Version 28.0.24 Found at 127.0.0.1:52199
-
Loginfo
Finished
The Crop Factor for "H:\Filmer\Filmer3\Bachelor Party 1984\Bachelor.Party.1984" is
MCWS Status - 200 MCWS Call and Result (see details below)
http://127.0.0.1:52199/MCWS/v1/File/SetInfo?File=31682275&FileType=Key&Field=Crop&Value=
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Response Status="Failure" Information="No changes."/>
--- MC already has the same information for the above results ---
Determining the Crop Factor for "H:\Filmer\Filmer3\Bachelor Party 1984\Bachelor.Party.1984" at the 120 sec mark
MC Audio Tracks updated with Surround Sound
MCWS Status - 200 MCWS Call and Result (see details below)
http://127.0.0.1:52199/MCWS/v1/File/SetInfo?File=31682275&FileType=Key&Field=Audio%20Tracks&Value=Surround%20Sound
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Response Status="Failure" Information="No changes."/>
--- MC already has the same information for the above results ---
MC Audio Language updated with English
MCWS Status - 200 MCWS Call and Result (see details below)
http://127.0.0.1:52199/MCWS/v1/File/SetInfo?File=31682275&FileType=Key&Field=Audio%20Language&Value=English
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Response Status="Failure" Information="No changes."/>
--- MC already has the same information for the above results ---
Removed Extra file for "H:\Filmer\Filmer3\Bachelor Party 1984\Bachelor.Party.1984_MediaInfo.txt"
Created Extra file for "H:\Filmer\Filmer3\Bachelor Party 1984\Bachelor.Party.1984_MediaInfo.txt"
MCWS Status - 200 MCWS Call and Result (see details below)
http://127.0.0.1:52199/MCWS/v1/File/GetInfo?File=31682275&Fields=Name,Playback Range,Filename,File Type,Compression,Language,Duration
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<MPL Version="2.0" Title="MCWS - Files - 3512" PathSeparator="\">
<Item>
<Field Name="Key">31682275</Field>
<Field Name="Name">Bachelor Party</Field>
<Field Name="Filename">H:\Filmer\Filmer3\Bachelor Party 1984\Bachelor.Party.1984.mkv</Field>
<Field Name="File Type">mkv</Field>
<Field Name="Compression">mkv video (video: h264, audio: dts)</Field>
<Field Name="Language">English</Field>
<Field Name="Duration">6329</Field>
</Item>
</MPL>
Commenced - Please wait....
MCWS Status - 200 MCWS Call and Result (see details below)
http://127.0.0.1:52199/MCWS/v1/Files/Current?Action=Serialize
2;1;-1;31682275
Finished
The Crop Factor for "H:\Filmer\Filmer3\Bachelor Party 1984\Bachelor.Party.1984" is
--- MC already has the same information for the above results ---
Determining the Crop Factor for "H:\Filmer\Filmer3\Bachelor Party 1984\Bachelor.Party.1984" at the 120 sec mark
MC Audio Tracks updated with Surround Sound
MC Audio Language updated with English
Language track info found and MC Language Field Updated
Removed Extra file for "H:\Filmer\Filmer3\Bachelor Party 1984\Bachelor.Party.1984_MediaInfo.txt"
Created Extra file for "H:\Filmer\Filmer3\Bachelor Party 1984\Bachelor.Party.1984_MediaInfo.txt"
Commenced - Please wait....
Media Center Version 27.0.85 Found at 127.0.0.1:52199
-
In your SOT folder is there a ffmpeg.txt file? And if so can you attach it.
-
No, ffmpeg.txt file.
Only
Swag of Tools.exe and Swag of Tools.ini
and
folders ffmpeg and MediaInfo
-
Mmmm - It's late here so I'll have a think overnight!
-
No problem.
I thank you and bid you a good night sleep!!!
-
Arcspin,
With SoT in that folder, you need to run it 'as administrator'.
Alternatively, just run it from somewhere else, like from a SOT folder in your Desktop.
-
You are correct !!!
When I moved the entire folder to my desktop it worked as it should and show the crop factor: 1920:1040:0:0
I have now places the SOT folder directly under C: (as I had with Mcratings)
GOOD CATCH!
-
Ok, the next step would be to link the cropped info from Crop field to icons in Tooltip folder.
Do I have to convert the Crop data so that your (Zybex) Expression works for me?
As it is now it returs the text: empty
Save(not(isequal([crop], Replace([dimensions],/ x/ ,:):0:0)), v_IsCropped)/
If([v_IsCropped]/
,Save(Math(ListItem([Crop],0,:) / ListItem([Crop],1,:)),v_ARCalculated)/
,Save(Math(Replace([Aspect Ratio],:,//)),v_ARCalculated)/
)/
IfCase(Replace([v_ARCalculated],/,,.), 3, 1, empty, 1.38, 1.33, 1.69, 1.66, 1.80, 1.78, 1.88, 1.85, 2.37, 2.35, 2.45, 2.39)
-
Sorry, it worked for other movies but this cropped info "1920:1040:0:0" returns the text empty.
-
That's because MC doesn't seem to populate [Aspect Ratio] for 1920x1040 movies (for some reason), and that formula uses that field in some cases.
Here's a changed one that always uses [crop] if it's available, otherwise uses [Aspect Ratio]:
If(isempty([crop])/
,Save(Math(Replace([Aspect Ratio],:,//)),v_ARCalculated)/
,Save(Math(ListItem([Crop],0,:) / ListItem([Crop],1,:)),v_ARCalculated)/
)/
IfCase(Replace([v_ARCalculated],/,,.), 3, 1, empty, 1.38, 1.33, 1.69, 1.66, 1.80, 1.78, 1.88, 1.85, 2.37, 2.35, 2.45, 2.39)
edit: updated here (https://yabb.jriver.com/interact/index.php/topic,106802.msg900251.html#msg900251)
-
YES, that worked!
Ok, so what is the best expression to use to connect these values to my Tooltip png icons.
(and are there more common crop value icons to use)
Aspect 1.33.png
Aspect 1.66.png
Aspect 1.78.png
Aspect 1.85.png
Aspect 2.35.png
Aspect 2.39.png
This is what I use now to connect values to Tooltip icons above
<font face="ToolTip01" size="160" color="#9496a3">Save(Math(Trunc(Replace([Aspect Ratio], :, // ) + .005, 2)), gAR)IfElse(Compare(Load(gAR), <, 1), , Compare(Load(gAR), <, 1.38), M, Compare(Load(gAR), <, 1.68), N,Compare(Load(gAR), <, 1.80), O,Compare(Load(gAR), <, 1.87), P,Compare(Load(gAR), <, 2.36), Q,Compare(Load(gAR), <, 2.40), R)<//font>
-
Here's a better expression that uses whichever field is available, in order. It also adds the 2.76 AR:
save(ifelse(not(isempty([crop])), Math(ListItem([Crop],0,:)//ListItem([Crop],1,:)),/
not(isempty([Aspect Ratio])), Math(Replace([Aspect Ratio],:,//)),/
1,Math(Replace([Dimensions],x,//))),v_ARCalculated)/
IfCase(Replace([v_ARCalculated],/,,.), 3, 1, empty, 1.38, 1.33, 1.69, 1.66, 1.80, 1.78, 1.88, 1.85, 2.37, 2.35, 2.50, 2.39, 2.90, 2.76, 5.0, wide!)
edit: updated here (https://yabb.jriver.com/interact/index.php/topic,106802.msg900251.html#msg900251)
-
YES, that one picked up crop values even better
-
You display expression uses the Tooltip font characters - it types the letter 'O' in that font to show the icon for 1.78 (1920x1080), for instance. If you still want to use that we can adjust the expression for these new values.
If you want to use the PNG files named after the different Aspect Ratios, you just need this:
- create a calculated field for that Expression above - for instance, [Aspect Ratio (Crop)]
- place the PNGs you listed above in MC's tooltip folder
- use this to invoke them
<img src="tooltip:Aspect [Aspect Ratio (Crop)]">
-
WOHOOO, that did the trick.
(and I can see that the Media info values sometimes are wrong when comparing to the actually measurement)
I will drink a beer in honor of you and jmone wizardry knowledge ;o)
-
WOHOOO, that did the trick.
(and I can see that the Media info values sometimes are wrong when comparing to the actually measurement)
You can manually fix them in the [Crop] field value. Or you can clear the field to have the expression use [Aspect Ratio] or [Dimensions] instead.
I will drink a beer in honor of you and jmone wizardry knowledge ;o)
HA, I'll drink it m'self, thank you very much! ;D
-
If I understand this correctly.
This new way of directly measure crop values 120 seconds into the movie is the most accurate way of determent crop value and therefor aspect ratios.
The way I noticed that there are deviations is by comparing my older way of getting the aspect ratios versus this new more accurate way.
I actually blended me a Mai Tai instead of a beer ::)
-
Hi,
I use the webpage
https://www.designevo.com/
to make my own icons
I tried to make a transparent icon in the same style as those in the tooltip folder, but I can't: can you?
-
One more question then I stop bothering you.
If I would like to use the aspect ratio font icons in the font "Tooltip01" instead.
What would that expression look like.
I tried to past your above expression into the equation to no avail
-
I tried to make a transparent icon in the same style as those in the tooltip folder, but I can't: can you?
Hi,
I can try this weekend.
Perhaps we can make a joint venture in making new special superduper icons.
I have read up on the aspect ratios and I find the usual aspect ratios but.. are there this many different aspect ratios?
1.38, 1.33, 1.69, 1.66, 1.80, 1.78, 1.88, 1.85, 2.37, 2.35, 2.50, 2.39, 2.90, 2.76, 5.0
I have found this page that describes and names different aspect ratios
https://filmglossary.ccnmtl.columbia.edu/term/aspect-ratio/
It could be fun in naming the aspect ratios somewhat different as in the webpage above
-
so if v_ARCalculated value is smaller than 2.25 then output 2.20
so whole deal is
if smaller than 1 output "empty"
if smaller than 1.38 output 1.33 (Note also 1.37 ratio is missing as I didn't bother to find / create icon)
if smaller than 1.69 then output 1.66
etc etc
-
So, icons for all of the above aspect ratios and perhaps some more?
-
Like Lello is saying - only half of those values are AR. The formula is checking: if the calculated width/height (actualAR) is less than K1 then AR=AR1; if it's less than K2, then AR=AR2, etc.
So, the red ones are the allowed ARs, the black ones are thresholds:
1, empty, 1.38, 1.33, 1.69, 1.66, 1.80, 1.78, 1.88, 1.85, 2.37, 2.35, 2.50, 2.39, 2.90, 2.76, 5.0, wide!
For instance, for any movie with 1.80 <= actualAR < 1.88, use AR=1.85. You can adjust the black values to better fit your needs, but don't touch the red ones.
The 5.0 is a fallback - if the calculated value is above 2.90, just say "wide!".
Here's a more complete list from wikipedia - some of them are very rare:
current (https://en.wikipedia.org/wiki/Aspect_ratio_(image)#Current_video_standards)
current and obsolete (https://en.wikipedia.org/wiki/Aspect_ratio_(image)#Previous_and_currently_used_aspect_ratios)
The wiki mentions a format of 12:1 !!! So you can change that 5.0 to 20.0, to cover all bases :)
-
To use the tooltip font this should work:
<font face="ToolTip01" size="160" color="#9496a3">ListItem(;M;N;O;P;Q;R;S;T, ListFind(empty;1.33;1.66;1.78;1.85;2.35;2.39;2.76;wide!, [Aspect Ratio (Crop)], 0, 1))<//font>
edit: < font> was missing
-
Thanx Zybex,
Will try and it works like a charm
-
Perhaps an icon like this?
-
or just some text:
[old]
[wide]
[wider]
[wider!]
[wider!!!]
[ultrawide]
[man, this is silly]
-
I tried to make a transparent icon in the same style as those in the tooltip folder, but I can't: can you?
Try Sketchpad: https://sketchpad.app/en/ (or https://sketch.io)
Or download Paint.Net or Krita which are much more powerful. You need to be able to delete the background to make it transparent. Sketch.io is transparent by default.
-
Sketchpad looks really impressive.
I will for sure try that out!
Thanx for the tip
-
Perhaps an icon like this?
I am using moe's so I would like to make it the same as this: https://moesrealm.com/MC/images/Aspect%202.35.png
-
Here are some icons that looks like Moes.
See post further down for the icon pack
-
thanks arcspin, nice looking set
-
Thanks arcspin,
Perhaps you can add 3 icons with 4:3, 16:10, 16:9 as an alternative for these popular formats? Then people can just rename them to the expected filenames to use them (1.33/1.66/1.78)
... and nowadays with everyone filming on mobile, we might need to tweak the code and create icons for portrait home videos! 10:16 or 9:16...
-
Of course.
Here is an even more updated zip-folder.
(* = updated 19 June, 10:03)
(** = updated 19 June 13:25)
(*** = updated 19 June 16:05)
The rectangle in each icon is proportionally wider as the aspect ratio changes.
I have titled them after their aspect ratio name.
1.33:1 (4:3) ACADEMY APERTURE
1.66:1 (16:10) EUROPEAN WIDESCREEN
1.78:1 (16:9) WIDESCREEN TELEVISION
1.85:1 AMERICAN WIDESCREEN
*2.00:1 SUPERSCOPE
*2.20:1 SUPER PANAVISION
2.35:1 ANAMORPHIC WIDESCREEN
*2.35:1 CINEMASCOPE
2.39:1 ANAMORPHIC WIDESCREEN
2.55:1 CINEMASCOPE
*2.65:1 CINERAMA
2.76:1 ULTRA PANAVISION
*2.80:1 ULTRA PANAVISION
*2.85:1 ULTRA PANAVISION
*** UNKNOWN
*** 1.00 SQUARE
*** WIDE
*** PORTRAIT
save(ifelse(not(isempty([crop])), Math(ListItem([Crop],0,:)//ListItem([Crop],1,:)),/
not(isempty([Aspect Ratio])), Math(Replace([Aspect Ratio],:,//)),/
1,Math(Replace([Dimensions],x,//))),v_ARCalculated)/
IfCase(Replace([v_ARCalculated],/,,.), 3, 0.30, unknown, 0.9, portrait, 1.17, 1.00, 1.5, 1.33, 1.72, 1.66, 1.82, 1.78, 1.93, 1.85, 2.1, 2.00, 2.28, 2.20, 2.37, 2.35, 2.47, 2.39, 2.6, 2.55, 2.71, 2.65, 2.99, 2.76, 20, wide)
-
Arcspin,
With SoT in that folder, you need to run it 'as administrator'.
Alternatively, just run it from somewhere else, like from a SOT folder in your Desktop.
Thanks for this advice as I'd never of worked out why it was not working for Arcspin! Is the following correct (I'll add it to the OP Instructions):
You should unzip and run SOT in a User folder (such as Downloads or Desktop or even the root of the C: Drive.... BUT NOT "Program Files") else Windows will require SOT to be "run as administrator" for all functions to work correctly.
-
God morning jmone,
There was a lot of back and forth in this thread while you were asleep. ;D
Feel free to delete my (or perhaps others as well) posts as you please.
-
So I read! Seems there was plenty of progress :) I'll leave the posts (for now anyway) as it seems there is Icons packs etc as attachments and discussion around the aspect ratios others will find of benefit.
-
FYI - When you run SOT --> Configuration --> Save Configuration it creates the "Crop" and "FileKey" fields for you.
I can also create other fields, and like the FileKey it can be a "Calculated Field". Would it be easier if SOT also did the same for "Aspect Ratio (Crop)" if that is what every one is using? ...and if so, is there an agreed on initial Expression that should be used (note: you could change it later in MC and such changes would not be changed by SOT)?
-
Of course.
Here is an updated zip-folder.
The rectangle in each icon is proportionally wider as the aspect ratio changes.
I have titled them after their aspect ratio name.
1.33:1 (4:3) ACADEMY APERTURE
1.66:1 (16:10) EUROPEAN WIDESCREEN
1.78:1 (16:9) WIDESCREEN TELEVISION
1.85:1 AMERICAN WIDESCREEN
2.35:1 ANAMORPHIC WIDESCREEN
2.39:1 ANAMORPHIC WIDESCREEN
2.55:1 CINEMASCOPE
2.76:1 ULTRA PANAVISION
But nobody really likes the 2.20 format? ;D
Curious about this thing ?
anyway thanks arcspin, nice job
-
According to https://shotonwhat.com/distributed-aspect-ratio/2-201 there were 65 movies distributed in 2.20:1 with the latest being Dunkirk (distributed in 1.43:1, 1.90:1, 2.20:1, and 2.35:1).... I checked my UHD version it is presented in a std 1.78 (3840 x 2160)
-
edit
-
Hello,
I have updated previous zip-folder with some new icons below
2.00:1 SUPERSCOPE
2.20:1 SUPER PANAVISION
2.35:1 CINEMASCOPE (only changed the name to CINEMASCOPE. ANAMORPHIC WIDESCREEN is still there as an icon)
2.65:1 CINERAMA
2.80:1 ULTRA PANAVISION
2.85:1 ULTRA PANAVISION
Perhaps Zybex with his special sets of skills can update the "Aspect Ratio (Crop)" Library Field;
Quote from Taken and applicable to Zybex: "But what I do have are a very particular set of skills; skills I have acquired over a very long career. Skills that make me a nightmare for people like you."
It is probably an easy task but I'm a bit confused about the order of aspect ratios in the "Aspect Ratio (Crop)" Library Field.
"empty, 1.38, 1.33, 1.69, 1.66, 1.80, 1.78, 1.88, 1.85, 2.37, 2.35, 2.50, 2.39, 2.90, 2.76, 5.0, wide!"
It doesn't have any order, or does it?
-
Thank you!! :D
-
Here's a great ad from Liam: https://www.youtube.com/watch?v=R2zWUX9diVw ;D
Arcspin, why add the 2.80 and 2.85? I don't see them listed anywhere. I think it's fine to display 2.76 for any movie that happens to be in those ratios? All other ARs are ranges anyway, ie, any movie between 2.47 and 2.60 will show up as 2.55 [note: using new thresholds, read below]
I've added all other ARs to the expression - let me know if I should add those 2 as well. I've also added 1.00 and 'portrait' for home videos.
I also recalculated the coeficients/split points for the ratios - they're now the midpoint between 2 consecutive ARs. For example, the midpoint between AR 2.0 and AR 2.2 is 2.10 - so a movie with the calculated AR lower than 2.10 (but higher than the previous threshold) will show 2.0; and a movie higher than 2.10 (but lower than the next threshold) will show 2.20.
Code:
save(ifelse(not(isempty([crop])), Math(ListItem([Crop],0,:)//ListItem([Crop],1,:)),/
not(isempty([Aspect Ratio])), Math(Replace([Aspect Ratio],:,//)),/
1,Math(Replace([Dimensions],x,//))),v_ARCalculated)/
IfCase(Replace([v_ARCalculated],/,,.), 3, 0.30, unknown, 0.9, portrait, 1.17, 1.00, 1.5, 1.33, 1.72, 1.66, 1.82, 1.78, 1.93, 1.85, 2.1, 2.00, 2.28, 2.20, 2.37, 2.35, 2.47, 2.39, 2.6, 2.55, 2.71, 2.65, 2.99, 2.76, 20, wide)
Missing PNGs for this expression:
Aspect Ratio empty
Aspect Ratio 1.00
Aspect Ratio portrait
Aspect Ratio wide
Jmone, I think it would be nice for SoT to create the field with this expression.
-
Hi, No reason really.
I just went thru most of the aspect ratios I could find on this webpage and made som more icons.
http://www.dvdlog.de/filmformate/filmformate-en.htm#cinemascope (http://www.dvdlog.de/filmformate/filmformate-en.htm#cinemascope)
Yeah, that 2.80:1 looks like it is redundant and perhaps others but I thought when I was in the mood I just crank out some icons. ;D
Spot on with that add, gotta love Liam...
-
OK. Reading the section on that page about the 2.76 format, it doesn't actually mention 2.85 anywhere - it's just the icon they've put there. I think the actual format name is 2.76 so that would be enough. But... any other opinions? It's easy to add either way. The current expression calls '2.76' to anything below 2.99, and 'wide' to anything above that.
Please recheck my post above, I've edited it some 3000 times...
For the 'portrait' icon, perhaps you can draw a vertical box with 'portrait' written vertically on the side :)
-
Is Wide, wider that all other icons?
-
Yes, it's anything above 3. We need to stop somewhere... some IMAX can be 4:1 or even 12:1 for 360 footage. Maybe an icon like this: [<- WIDE ->]
Do you also want to add photography formats? (https://en.wikipedia.org/wiki/Aspect_ratio_(image)#Still_photography) 1.25, 1.50 and 3.00 seem to be common.
-
Ok, here are four more icons...!
I have updated the zip file in previous post
? EMPTY
1:1 SQUARE
? WIDE
? PORTRAIT
I'm fine with aspect ratio 2.76:1, no need to add 2.80:1 and 2.85:1 to the equation.
I can take a shot at the photo ratios later
-
Thanks Arcspin,
you should name ALL files "Aspect <something>" so that they also work with the same expression. The names need to match what's on the expression:
Aspect empty.png (would 'unknown' be better?)
Aspect 1.00.png (not 'square')
Aspect portrait.png
Aspect wide.png
-
Great,
I will in a couple of hours.
Thanx
-
I have updated the icons as per suggestion.
Aspect unknown.png
Aspect 1.00.png
Aspect portrait.png
Aspect wide.png
I also took the liberty and included (and changed empty to unknown) the expression that goes with these icons in my previous post where the zipped icons are.
-
Code:
save(ifelse(not(isempty([crop])), Math(ListItem([Crop],0,:)//ListItem([Crop],1,:)),/
not(isempty([Aspect Ratio])), Math(Replace([Aspect Ratio],:,//)),/
1,Math(Replace([Dimensions],x,//))),v_ARCalculated)/
IfCase(Replace([v_ARCalculated],/,,.), 3, 0.30, unknown, 0.9, portrait, 1.17, 1.00, 1.5, 1.33, 1.72, 1.66, 1.82, 1.78, 1.93, 1.85, 2.1, 2.00, 2.28, 2.20, 2.37, 2.35, 2.47, 2.39, 2.6, 2.55, 2.71, 2.65, 2.99, 2.76, 20, wide)
Jmone, I think it would be nice for SoT to create the field with this expression.
I've made the changes to SOT to create the "Aspect Ratio (Crop)" field and add the expression which works fine though all they are all prefixed with a ";" (see Pic). To check I even copied and pasted the expression above directly into the MC Library Field and it looks as follows.
save(ifelse(not(isempty([crop])), Math(ListItem([Crop],0,:)//ListItem([Crop],1,:)),/;not(isempty([Aspect Ratio])), Math(Replace([Aspect Ratio],:,//)),/;1,Math(Replace([Dimensions],x,//))),v_ARCalculated)/;IfCase(Replace([v_ARCalculated],/,,.), 3, 0.30, unknown, 0.9, portrait, 1.17, 1.00, 1.5, 1.33, 1.72, 1.66, 1.82, 1.78, 1.93, 1.85, 2.1, 2.00, 2.28, 2.20, 2.37, 2.35, 2.47, 2.39, 2.6, 2.55, 2.71, 2.65, 2.99, 2.76, 20, wide)
-
Question, how many movies at a time is advisable to select when measuring crop factor?
I have set SOT to look 150 sec (two and a halv minute) into the movie.
I will clear out all other fields in the MediaInfo tab, so SOT will only be measuring the crop factor.
-
It does one at a time, so you could do them all in one hit if you want and SOT will just work through the list.
-
....and MediaInfo.exe is still always running over the items you select. As per the OP,
The script will then in order:
- Analyse Selected File(s) using MediaInfo
- Save as an "Extra" File the output of MediaInfo in the same directory under NAME_MediaInfo.txt
- Update the "Compression" Tag with "+Atmos" or "+DTS:X" if the file contains it
- Update the "Languages" Tag with any of the languages if the file contains it that information
- Optionally Update any MC Field with data from the MediaInfo Report
So blanking out the MediaInfo fields is the only optional part. I could add a checkbox to disable running MediaInfo.exe all together but the point is to get this info so I'm not so keen.
-
...another thing you may not have found, is that once you have SOT setup as you want, you can simply run it from MC itself.
1st Time: Select Item(s) --> Right Click --> Send To (external) --> Swag of Tools - Media Info
It is then added to your Recent List so from then on you can just select your Item(s) --> Right Click --> Swag of Tools - Media Info to run it.
-
Thank you for the informative text, good to know.
I will for sure try out the "Send to SOT".
I have already run SOT on all my movies (so all the basic and optional info is gathered and written to the MediaInfo.txt file) and therefor wondered how to make this additional identification of crop factor as lean as possible.
How much longer (in sec, millisec?) will each MediaInfo.exe run take on movies that already have had MediaInfo.exe gone over that movie?
If this will take significally longer time then perhaps a checkbox might come in handy
I'm however fine with MediaInfo.exe is running on my additional run of SOT, while also blanking out other MediaInfo fields.
-
On Most videos mediainfo.exe is quick (a few seconds), but some compound BD it takes much longer.... so it is hard to tell.
I just did a test, and on my system:
- 25 random MKV/AVI Files took about 20sec, so under 1 sec each
- 25 random BD took about 7min, so on average about 17 sec (though some were much faster and others very very slow).
-
Alright!
Good info for sure.
I'm planning on dividing up running SOT on parts of my large movie (MKV) collection in order to keep some sense of structure.
I'm in no hurry so I can have this little project going for a while.
BTW, This is (actual Crop Info value ) an awesome addition to SOT!!!
//arcspin
-
Thanks! I tend to only be able to work on SOT in-between real life... and I've found a few other (internal) changes I've made so I can look at adding the mediainfo.exe part optional as I bring these together. The current version will log and stop if it hits an MCWS error, but I'm making it so it will just log the error and move on. So you are best to do it in batches at present anyway.
-
I've made the changes to SOT to create the "Aspect Ratio (Crop)" field and add the expression which works fine though all they are all prefixed with a ";" (see Pic). To check I even copied and pasted the expression above directly into the MC Library Field and it looks as follows.
That's because you added (or MC added?) several ';' chars to the one-liner expression.
The 4-line expression ends each line with '/' to prevent MC from outputing a line break. On your one-liner, these were replaced with '/;' which outputs a semicolon. The fixed one liner is:
save(ifelse(not(isempty([crop])), Math(ListItem([Crop],0,:)//ListItem([Crop],1,:)),not(isempty([Aspect Ratio])), Math(Replace([Aspect Ratio],:,//)),1,Math(Replace([Dimensions],x,//))),v_ARCalculated)IfCase(Replace([v_ARCalculated],/,,.), 3, 0.30, unknown, 0.9, portrait, 1.17, 1.00, 1.5, 1.33, 1.72, 1.66, 1.82, 1.78, 1.93, 1.85, 2.1, 2.00, 2.28, 2.20, 2.37, 2.35, 2.47, 2.39, 2.6, 2.55, 2.71, 2.65, 2.99, 2.76, 20, wide)
I'm assuming you didn't do this on purpose. MC 28.0.24 had a bug preventing multiline expressions, fixed in 28.0.25 - was that the issue?
-
Thanks - All I did was paste your multi line into MC to get the one liner, but that generated is leading ";" (on MC28 anyway). The new one liner works perfectly and I'll use that for SOT.
-
...and yes, I'm on MC28.0.24 when I was doing this :)
-
@arcspin - FWI, Another thought. When SOT is running it does not "lock up" MC. So you can run it in the background and still do other things. At present I'm using SOT over 1,000 videos (in batches) while watching a video just fine.
-
Couple more changes
Test Version: 210621
- Added the ability to enter in the desired point in the video to start measuring the Crop Factor
- Simple check (and warning in the log) if the desired point in the video to start measuring the Crop Factor is greater than the duration of the video itself (and SOT will instead measure from 1 sec so processing over lots of files can continue)
- Your preferred value will be remembered between runs (stored in the INI file)
- If the value is blank or 0 then the Crop Factor will not run (so as to not slow down those who just want the Media Info meta data but don't want to check for the crop info)
- Changed the Language parsing to remove duplicates, padding + it will not call MCWS if there is nothing to change
- SOT will now create the Calculated "Aspect Ration (Crop)" field with zybex's equation
- SOT MediaInfo will no longer stop processing on a MCWS failure (but will continue to log them).
- Bug Fix: If SOT dropped to 1sec due to a short file length when determining the Crop Factor it would not revert to the preferred settings for subsequent files
Note: SOT only creates the MC fields when you do the "Configuration --> Save Configuration". So if you want to test this and you already have the "Aspect Ration (Crop)" field in MC then you will need to delete it first from MC.
As usual, let me know what I broke!
-
Windows Defender blocks the download because it detects a virus ?
-
I have now tested the "Test Version: 210621".
It works as described.
I had no problem with SOT and Windows Defender didn't block the download.
Great work and thanx!
//arcspin
-
Hi,
I'll share some info that might come in handy.
I went over all my movies with SOT and got Crop factor values.
A couple of movies came back unknown, wide, or another strange Crop factor.
I just redid those movies and increased time into video to measure Crop factor and that fixed that problem and I got back correct Crop values.
Thank you jmone for your time and effort in making SOT.
Have a great Summer or Winter ;D ;D ;D
-
Glad it is working well. I'll promote the build to a release this weekend. FYI - Last I checked outside it is Winter!
-
FYI - Last I checked outside it is Winter!
You're on the wrong side of this ;D
-
But we are always ahead of most of the world (+10 UTC) !!!
-
I have distant relatives there, who knows that one day I won't be able to make a trip to them :D
-
But we are always ahead of most of the world (+10 UTC) !!!
No spoilers, please ::)
-
I would have a small request, if it were feasible, otherwise it's not a problem.
I recently had a movie that has the first track in 2 channels and the second in 5.1 and so SoT detects the first: is there a way to choose which track to consider?
-
Hi - what part of SOT is not working with the 2nd track (eg what is it you are doing and hoping to get) and I'll have a look.
Thanks
Nathan
-
In the movie tag, the audio> channels field is populated with 2 which corresponds to the channels of track 1 while track 2 has 6 channels.
-
When MC does its initial import, it reads the file and populates the "Channels" Field (as well as the other Audio Fields). The only thing SOT does, is check for ATMOS, DTS-X and then add that to the back of the "Compression" field as that is one are MC can not currently determine.
From what I've seen MC does a really good job of populating the "best" audio track it finds. The only time I see this issue, is on some BD disks where (as per the attached pic), MC selects the "default" Title as something that is not the main movie. In my example, the default is a Commentary Version of the movie (00018.mpls) that only has a 2ch LPCM track. To "fix" it I play the movie --> right click --> title --> select the correct MPLS (eg 0000.mpls). You will now find under the "Playback Info" field those preferences are saved. If you now --> right click --> library --> update Library from Tags, MC will now be populated with the correct Audio info (Compression, Channels etc) for the preferred MPLS.
Without knowing the file you are using, I'm just guessing this is the cause & fix.
-
Isn't Lello talking about the MediaInfo import, ie, selecting which Audio section to import?
-
I don't know .... just guessing, as SOT does not populate the Channels field automatically.
-
In fact, I thought that the Channels field was also imported by SoT from the mediainfo data, because the mediainfo data of the file in question have as first track the 2 channels and then the 6 channels.
In the afternoon I try to import that movie again with JRiver and after seeing how it populated the channels field, I start SoT and we see any differences.
If it always appears 2 channels, I try to adjust it as per jmone's indications.
-
I cleaned everything up leaving just the plain file, and then redid the import. Then I started Zratings and finally SoT. In all these steps, there were always 2 channels in the Channels field.
In order to bring up 6 channels, I had to update Library from Tags after the fix.
For the record, the film is "Raiders of the Lost Ark" in 4k which has the first track with the original 2-channel Italian and the 5.1-channel re-dubbing.
-
Out of interest is it a BD Structure? Normally MC will pick the longest playlist as the "main" one and then analyse that for Meta Data population (MC uses ffprobe) across all the fields it populates (Audio, Video etc). SOT will use mediainfo to scan both the discs Meta Data AND the largest M2TS and then pull metadata out from that (eg scan to see it it is ATMOS / DTS-X). So on discs like this you need to re-run SOT after doing an update Library from Tags else ATMOS / DTS-X will not be added to the Compression field.
Also... Interesting release of Raider of the Lost Ark with Italian as the main track, ... and I presume the English is not a dub, but the actual original actors?
-
It has often happened to me that, within a TV series, some episodes were not worked on by SoT and I never understood what the cause was. Today I found out: it is the apostrophe that is not used in English. For example "The Magic Hour" in Italian becomes "L'Ora Magica" and SoT does not understand it. In fact, by changing the language of the metadata from Italian to English, all the data have been processed correctly. Can it be corrected? Thanks
-
Hi Lello, could you:
- "Turn on Verbose Logging of MCWS Calls"
- Run it over an example that fails
- Copy and paste the log here
...and I'll have a look.
Thanks
Nathan
-
Thanks
-
Try fixing the apostrophe in the "Miglia all'ora" name, it's possible that you have an invalid character there. It's producing an invalid UTF8 encoding, either from MC, SOT, or the filename itself (looks like it's both the name and filename).
Some possible explanation involving Unicode apostrophes, UFT8, PostgreSQL, copy/pastes and some latin ;)
https://stackoverflow.com/questions/60940414/apostrophe-in-postgresql-query-comes-out-32-bit-c3-a2-c2-80
-
....also what is name of the MKV file on the HDD? Is it exactly the same as that in the string starting with "<Field Name="Filename">......"? Also, what is the string for the side car ".txt" file that is created, is it the same as the MKV?
What SOT does is it uses the "filename" returned from MC and passes that string to MediaInfo / ffmpeg to then read the file and then create the TXT file.
-
Here is a quick and dirty test version where I've changed how I handle reading UTF-8. Let me know if this is any better?
-
Everything works perfectly! Again thanks for your willingness to solve even small problems
-
Great! I'll clean it up and post a Beta Version for wider testing (in case the change breaks some other part of SOT).
-
Beta Version: 210825
- Added the ability to enter in the desired point in the video to start measuring the Crop Factor
- Simple check (and warning in the log) if the desired point in the video to start measuring the Crop Factor is greater than the duration of the video itself (and SOT will instead measure from 1 sec so processing over lots of files can continue)
- Your preferred value will be remembered between runs (stored in the INI file)
- If the value is blank or 0 then the Crop Factor will not run (so as to not slow down those who just want the Media Info meta data but don't want to check for the crop info)
- Changed the Language parsing to remove duplicates, padding + it will not call MCWS if there is nothing to change
- Changed how UTF-8 Strings from MCWS calls are processed
As usual, let me know what I broke! If all looks OK, I'll update GitHub.
-
Everything works perfect ..... too bad ;D ;D
-
Nice! Always surprises me (given I don't really know what I'm doing) :)
-
Excuse me jmone, when you have time could you take a look at the attached log file? An error message has been appearing for some time but it is not clear to me why.
Thanks
-
According to the log:
- "<Response Status="Failure" Information="No changes."/>" is that the same values are already in the MC Database and hence did not try to update them (eg it looks like it's already been processed)
- "<Response Status="Failure" Information="Field not found."/>" is that SOT could not find the Field called "Codec Id"
I take it however that is not what you expect? Can you also post a screen shot of your SOT GUI with the values you are using.
-
The screenshot
https://ibb.co/x19w8Xz
the values:
-Audio Track Count RAW;Audio Language;Audio Tracks RAW;Extras;Subtitles;Video Codec;HDR Format RAW;Aspect Ratio;Codec Id
-ID;Language;Format;Title;Language;Format;HDR format;Display aspect ratio;Codec ID
-Audio;Audio;Audio;Audio;Text;Video;Video;Video;Video
-
Thanks - I'll use these to test. What the particular issue, is the "could not find the Field" and/or "No changes" needed error?
-
"could not find the Field"
-
Right, can you post a screen shot of the Field's Details (Manage Library Fields) in MC so I can set it up the same way?
-
I don't have the htpc near now, so tomorrow.
But do you want a screenshot of all the fields?
-
Nope, just the one causing the issue.
-
I don't think there is nothing wrong in SoT. Probably lello just don't have user field "Codec Id" created.
@lello either remove last items from each string ";Codec Id", ";Codec ID" and "Video"
or add Codec Id field in MC (see picture)
-
In fact, the Codec Id field is not there: is it important?
I thought the problem was the Video Codec field, but I was wrong
-
I can't remember. If everything looks ok to you in the theaterview then it is probably not used currently
-
The "Video Codec ID" must be a user created field as it is not part of the STD MC Library fields (and hence will not be used by MC directly). I guess someone wanted it for reference.
-
Hello!
I am very new to SOT, having just come upon it. I am mainly wanting to use it to collect metadata. I have one question (so far): MC already seems to populate the audio bit depth field. However, I wanted to extra the video bit depth too. So, I created a new MC field for "Bit Depth (video)," which worked. However, I then realized that the MediaInfo file that is used, there is Bit Depth for both audio and video. Is there anyway to distinguish which one I want to populate into my new "Bit Depth (video)" field? When I do it, both the audio and video results populate in that field.
Thank you for your help and for such a great tool!!
-
Yup - in the "Enter MediaInfo Section to restrict to" put in "Video"
-
That's great! Thanks!
Do I need to put "video" for each field, or if I just enter it once, it will cover all new fields?
Edit - Just answered my own question. Since I was adding five new fields (all for video data), I added "video" five times and it worked.
But new question... In MC, can custom fields be categorized under Audio, Video, etc., or do they all just fall under Advanced?
Thanks!!
-
Great! Glad you worked it out.
You can modify what tags show up for Audio, Image, Video etc (see pic).
I don't really use the Tag Window so can't say if you can move your fields to another part other than advanced. I do all my tag editing in the main windows with the columns added for the fields I want (and remove the one I don't want to see).
-
Thank you!
Would you mind putting up a screen shot of where you edit tags. I seem to struggle figuring out all the different windows and views in JRiver!
Thanks!
-
But new question... In MC, can custom fields be categorized under Audio, Video, etc., or do they all just fall under Advanced?
Thanks!!
Yes if you use the Tag Windows Customize Option you can add any Tag/Field that appears in the Advanced Section to any other Section, which removes it from the Advanced Section.
In some respects the Advanced Section is misnamed as any Tag/Field that is not in Any Other Section automatically gets added to the Advanced Section.
-
If you are in Std View you can edit any "cell" or group of cells by highlighting them and pressing F2 or a slow 2nd click on the item(s) you want to change (double click will play the item). You can also add and remove visible cols.
-
Yes if you use the Tag Windows Customize Option you can add any Tag/Field that appears in the Advanced Section to any other Section, which removes it from the Advanced Section.
In some respects the Advanced Section is misnamed as any Tag/Field that is not in Any Other Section automatically gets added to the Advanced Section.
Wow! Thank you! That is so helpful!! I never realized I could customize the tags so much. Thanks again!
-
Hi jmone,
Would it be possible for you to make SoT to work memory only if one doesn't want to save mediainfo log into disk. I think it would speed up processing large collections considerably when you don't have to create and delete file for every item. Also saves SSD cycles if writing is done to SSD
The other I noticed that SoT doesn't overwrite old data if new field value is empty. I was replacing some old DVDs with bluray version while keeping the same DB entry. DVD had subtitles and Bluray didn't so when I did SoT Media Info parsing to get new data it kept old data (subtitles) even though I now don't have those with the BD.
-
01 Nov 2021 Beta: I made a bunch of changes around what Lepa suggest but it will need testing due to logic changes to make sure I did not stuff anything up (and you know that is very possible!)
- Memory Buffer for Media Info: SOT will use Memory instead of Disk to pipe the information from Media Info (note: You may see SOT saying "Not Responding" during longer Media Info scans but it is fine). I'm not sure this is any "faster" that the old method and SOT will still save this information to a file unless you have "Don't save MediaInfo output as an Extra File" Checked, but it will save you some SSD writes.
- "Use existing MediaInfo Extra File if it already exists": This is the fastest and is great if you want to go back and add new fields to MC as it does not run MediaInfo again, just pulls data out of the existing "Extra" file that was saved on a previous run
- Updated Log Messages: to reflect these changes
- Updates MC with a NULL Value: SOT will now make a MC Field Blank (instead of skipping it) if a specified MediaInfo Data Field is blank.
TBA
- I've not yet changed the use of a tmp file for the Measuring of the Crop Factor but if all goes well with the above, I'll make that change as well
-
Thanks for the new version. Haven't done any specific testing but just using it everything seems to work :)
-
Well that's odd! I always break something ;D
Do you want the ffmpeg Crop Factor detection to also use Memory instead of a Temp File?
-
That would be nice :)
-
FYI - Lello and I have been discussing Dolby Vision detection. SOT uses MediaInfo that from what I can tell, only detects DV in MKV (and I think MP4/MOV) but not from a Blu-ray disc or even the M2TS files (though makeMKV can). I suspect that the work being done by Hendrik to add DV Tonemapping to JRVR means that he has someway of detecting DV though I'm unsure if it is through ffprob (what MC uses for meta data retrieval) or the underlying libraries used for JRVR. Anyway, with luck the type of HDR (HDR, HDR10, HDR10+, DV etc) may be able to be read and stored in a MC Library Field.
-
It seems to me that mediainfo, in addition to not detecting DV, cannot detect all subtitles and audio languages either.
Also, the AR-calculated sometimes works and sometimes it doesn't with the same film.
I know that mediainfo has some issues with chapters over compound Blu Rays (had to write my own parser for that one in SOT), but I've not seen the issues with Subs and Audio missing (unless it is the same issue with compound BDs ?) Do you have an example or two?
The calculated AR is actually done by ffmpeg not mediainfo so it could be another issue, even a SOT problem. Is there any pattern to it? ...and when it does not work what is the error etc or does it report back nothing???
Anyone else seeing any issues?
Thanks
Nathan
-
I found the problem with the BD UHD of the Lord of the Rings trilogy (the only one I have with DV) and in all of them it gives me only English audio and no subtitles.
With Tenet's BD UHD, however, it detects all audio and subtitles for me.
As for the calculated AR, on a first pass it gave me 1.78 for one disc and 2.39 for the other while on the following passes it gave me 1.78 for both.
-
Thanks - I've had a look at LOTR and I too only get English Audio and No Subs being reported. I've seen MediaInfo miss pick what MPLS to scan before and hence under report the meta data.... so I also have SOT scan the main M2TS as well which normally works in such cases but not for LOTR. It seems that the files I scan are just reporting an ID but not a Language for these tracks.
Here is a test build that additionally scans all the MPLS files in the Playlist directory (instead of the largest M2TS) and this should pick up everything..... but it will be slower on some discs as there is now more to scan. The good news it is not just LOTR that was missing details but other BD's as well and this test version picks up the extra meta data on these discs as well.
Let me know what you think.
Thanks
Nathan
PS - I've not looked at the AR part
-
Downloaded the new version. Audio and subtitles all detected correctly. The calculated AR instead is now empty
-
Woops - fixed one thing.... broke another. Try this one.
-
Tried. With The Two Towers measured 2.39 while with The Fellowship of the Ring 1.78
-
I have had strange aspect ratios from time to time, I solved those issues by setting 400 sec into video to measure crop factor.
-
Crop detect is hit and miss as it tries to measure what the black parts of the image is, and plenty of movies like LOTR have a lot of black frames. I've tried lots of ffmpeg crop detect parameters and if there are any suggestions, I'm all ears! eg:
- Current > -t 10 -vf cropdetect -f
- Also tried stuff like > -t 10 -vf cropdetect=0.1:16:2 -f
Thanks
Nathan
-
I have had strange aspect ratios from time to time, I solved those issues by setting 400 sec into video to measure crop factor.
I have tried 120, 600 and 800. Later I try 400
-
At 400 ok disc1 and not disc2. At 120 ok disc1 ;D
-
After more testing, there is not "one" set of ffmpeg cropdetect variables (https://ffmpeg.org/ffmpeg-filters.html#cropdetect) (Limit:Round:Skip) that works on every video, but some combinations are better than others and I've now made them customisable.
It calculates the necessary cropping parameters and prints the recommended parameters via the logging system. The detected dimensions correspond to the non-black area of the input video.
It accepts the following parameters:
limit - Set higher black value threshold, which can be optionally specified from nothing (0) to everything (255 for 8-bit based formats). An intensity value greater to the set value is considered non-black. It defaults to 24. You can also specify a value between 0.0 and 1.0 which will be scaled depending on the bitdepth of the pixel format.
round -
The value which the width/height should be divisible by. It defaults to 16. The offset is automatically adjusted to center the video. Use 2 to get only even dimensions (needed for 4:2:2 video). 16 is best when encoding to most video codecs.
skip -
Set the number of initial frames for which evaluation is skipped. Default is 2. Range is 0 to INT_MAX.
Default: 24:16:2 (or leaving the Custom Settings blank) has been what SOT has been using
Better?: 0.1:16:2 (I find this more reliable than the default so it is worth a try)
Let me know what you think. The settings below worked on all the LOTR UHD discs for example.
Thanks
Nathan
-
does ffmpeg take 24 literally for 10bit video? if so, is that why it is more reliable?
I'm slightly surprised black bars are that bright. Not to say it's wrong, just that it seems greyer than I would have thought them to be
-
Well that is the default that ffmpeg use. I too would have thought that they would be 16 or 15 but I don't know how the studios encode their letterboxs... and they may not even be consistent. Anyway, using the 0-1 range (eg 0.1) seems to work much better for me, but you can now try any of the values as I've exposed these parameters.
-
just thinking that if it takes it literally then the default of 24 just won't work for UHD hence using 0.1 is a better default all the time
-
I'm happy to hard code a default, but for now it is an easy way to test.
-
I used the above settings, and it worked for all LOTR discs plus other BDUHDs.
However, it didn't work for the mkvs, for which the best solution was 400 secs by removing all the other ticks.
-
Interesting. I mainly have BD (FHD / UHD) and few MKV's to test on. Are you suggesting that:
- BD UHD: 0.1:16:2 works well (as I have found)
- MKV: Default (eg blank or 24:16:2) well
- BD FHD: ??
Are the MKV's FHD, or UHD?
The reason I'm asking is I could use the resolution info in MC to determine what settings to use, eg:
- IF =>UHD --> 0.1:16:2
- If <UHD --> Default (24:16:2)
-
- BD UHD: 0.1:16:2 works well
- BD FHD: 0.1:16:2 and default works well
- MKV BD or BDUHD: In general, both solutions are good. But every now and then there is 1 file that is not read well.
For example, a TV series about 10 1/2 episodes are badly read
(Of course I did some sample tests)
-
These values would depend on the bitdepth, not the resolution. Thats because on 8-bit you have video black on 16, on 10-bit its on 64.
Hence using a decimal could work fine, as it gets multiplied by the depth - eg. 0.1 on 8-bit is 255 * 0.1 = 26 (post-rounding), or on 10-bit its 1023 * 0.1 = 102 - both being pretty much identical for their bitdepth.
The default value is actually 24.0/255.0 = 0.094, so if you don't specify anything at all, it would work fine on all bitdepths. Only if you specify a value > 1.0 you are locking yourself into a certain bitdepth, and that should be avoided. So 0.1 would be fine for all resolutions and bitdepths.
The real trouble starts when you are dealing with SDR vs HDR, because while SDR 0.1 is pretty dark, on HDR its quite a different beast.
-
Thanks Hendrick for the explanation, and Lello for testing.
Look like 0.1 is the way to go. FYI - This value worked pretty well over my HDR UHD (only 1 or 2% look wrong).
I'll the the option in to change it as desired for now. Note: SOT will remember what you enter for subsequent runs.
-
I forgot to tell you, but you probably already know that it doesn't work with .iso. I only have one, I unpacked it, and it worked
-
Thanks and yes, no ISO support.
-
Hello jmone,
It seems that SoT's MediaInfo will set all the mapped fields empty if file can't be opened. Noticed this when I was moving movie to my server and it wasn't yet finished and ran SoT. MC updates file location library fields right away and not after the move is done which of course cause that SoT can't find the file yet when the move is ongoing.
Wouldn't it be better not to update values if file couldn't be opened at all? If it can be opened but value is empty then it would be ok update as an empty value. Thanks for considering
-
Yup it would be.... and should be easy to skip any files that can not be read (well I need to check to see what error gets thrown by MediaInfo).
-
Here is a Test Version:
- SOT will Skip MediaInfo meta data processing on any file that MediaInfo can not read. This is to prevent SOT updating MC's fields when MediaInfo can not read the file (such as the file is offline).
Note: MediaInfo returns some blank data (well it has a couple of spaces) when it can not read a file. The test is to Skip processing a file when MediaInfo returns less than 10chars. I can make this length any amount and a "normal" result from MediaInfo is usually in the 1,000s of characters for even a simple file. SOT will continue to create the MediaInfo sidecar file (if you have that option on) so you can see what is returned for troubleshooting if needed.
-
Why not check if the file exists before calling MediaInfo?
-
Thought about that but.... if there are other issues with MediaInfo reading the file (eg corrupt, not supported file type, just not a media file, defender is blocking MediaInfo etc) then the same issue would occur where SOT would blank out the specified fields. This way it skips the file if MediaInfo does not return data for any reason.
-
29 March 2022 - Release Version
I've cleaned up the changes over the last 6months or so and posted in the OP and on GitHub the latest version of SOT.
Let me know of any issues.
Thanks
Nathan
-
Thought about that but.... if there are other issues with MediaInfo reading the file (eg corrupt, not supported file type, just not a media file, defender is blocking MediaInfo etc) then the same issue would occur where SOT would blank out the specified fields. This way it skips the file if MediaInfo does not return data for any reason.
Good thinking.
-
Hi - Are there any arguments for SoT?
I want to script/schedule the SoT to pull the media info for videos.
I tried the /? but it just loads SoT.
-
SOT-MediaInfo works by reading / updating information for items that are selected in the MC GUI. These parameters are read/written using MC's MCWS (web services calls) rather than command line params. I do use command line params to indicate what module (eg Media Info) for SOT to run automatically, and these are loaded into MC. Select an item(s) in MC "--> right click --> send to --> send to external" and you should see a list of all of the SOT commands that will automatically run over what you have selected. If you "right click --> send to --> send to external --> add/edit programs --> Swag of Tools - MediaInfo" etc you see what is being passed from MC as a command line argument. All the rest then comes from MCWS calls.
So in short, you can run SOT-Media Info from MC , but if you wanted to script it, you would have to have someway of selecting the desired entries in MC, then emulate a "right click --> send to --> send to external --> swag of tools - media info" at which point SOT will run the MediaInfo module (using the previous set config values) over this data set.
-
FYI - MC does have a "Scheduler" function (under Services & Plug-Ins in the Left Hand Side tree) that could be used to run SOT at a time interval (just like the manual "send to external") but I'm not sure how you would go about automating a search to select the items prior to running SOT (eg some sort of "find and select all new videos").
-
FYI - MC does have a "Scheduler" function (under Services & Plug-Ins in the Left Hand Side tree) that could be used to run SOT at a time interval (just like the manual "send to external") but I'm not sure how you would go about automating a search to select the items prior to running SOT (eg some sort of "find and select all new videos").
To select the videos I would use this batch script:
"C:\Program Files\J River\Media Center 26\mc26.exe" :: Starts MC26.
"C:\Program Files\J River\Media Center 26\mc26.exe" /showtreepath "Video\Movies" :: Moves JRiver to the Videos \ Movies view.
"C:\Program Files\J River\Media Center 26\mc26.exe" /mcc 21002 :: Selects all files in the view.
At this point is where I’m stuck.
I don’t see a schedule option that allows for SoT to run based on the selection, only to open it up via batch/command.
-
Should be good to then use MC's Scheduler (attached) or simply run SOT from the command line with the argument MediaInfo (eg C:\.....\Swag of Tools\Swag of Tools.exe MediaInfo")
You could even wrap everything up in the one batch script and use MC's scheduler to then run it.
-
Thank you!
This is what I was missing: .\Swag of Tools\Swag of Tools.exe MediaInfo"
I didn't know you could call the MediaInfo app.
I figured I'd post this if anyone else is looking for something similar.
I created this in PowerShell.
Function Run-Program{
Start-Process "C:\Program Files\J River\Media Center 26\mc26.exe"
Start-Sleep 2
#Move to the Video\Movies view
& 'C:\Program Files\J River\Media Center 26\mc26.exe' /showtreepath "Video\Movies"
Start-Sleep 2
#Select all files in the view.
& 'C:\Program Files\J River\Media Center 26\mc26.exe' /mcc 21002
Start-Sleep 1
#Run MediaInfo on the selected files.
& 'Y:\Home_Theater_Files\Swag of Tools.exe' MediaInfo
#Wait 3 minutes while MediaInfo runs.
Start-Sleep 180
#Kill SoT app to continue the script.
Stop-Process -Name 'Swag of Tools'
Start-Sleep 2
#Start analyzing audio for the selected files.
& 'C:\Program Files\J River\Media Center 26\mc26.exe' /mcc 23005,2
#Wait 1 hour
Start-Sleep 3600
#Gracefully exit MC26.
& 'C:\Program Files\J River\Media Center 26\mc26.exe' /mcc 20007,0
}
Run-Program
-
Looks good. I deliberately don't have SOT (in runtime mode) exit so that you can see the results in the Log Window... but I could always add an option so that SOT would close after it had finished processing, this way you would not have to guess how long the process might take before manually killing it (as if you are doing a long batch then 3min might not be long enough).
-
Looks good. I deliberately don't have SOT (in runtime mode) exit so that you can see the results in the Log Window... but I could always add an option so that SOT would close after it had finished processing, this way you would not have to guess how long the process might take before manually killing it (as if you are doing a long batch then 3min might not be long enough).
That would be great. The script won’t continue unless I manually kill the process.
Thanks!
My next task is to try and get movie and TV info, while cutting the last 7 characters off the search term, but I don’t think that will work.
-
Why do you need to re-run MediaInfo on ALL your files periodically? Why not just run it on the "recently imported" set?
(I'm aware that SOT will skip files that already have mediainfo.txt, but still...)
-
Why do you need to re-run MediaInfo on ALL your files periodically? Why not just run it on the "recently imported" set?
(I'm aware that SOT will skip files that already have mediainfo.txt, but still...)
I don't - you're 100% right and will adjust. Thanks!
-
That would be great. The script won’t continue unless I manually kill the process.
Here is a Test Version:
- New Option (see pic) where you can now have SOT close automatically after a single run (only works with the Media Info section for now - just to see if this all works, then I'll add to all sections)
-
That is awesome! Thank you. I’ll give it a shot and let you know how it works out.
Edit: I tried it out. Does exactly what it should! Thanks again.
-
Swag of tools package gets deleted by Antivirus programs the moment it's downloaded Although i would love to have the supplementary DTX-HD and Doby atmos tags in the audio info, ii don't want to disable my Antivirus(and thus risk my system) to just download SOT package
-
Configure Windows Defender according to the thread on this board. Uninstall any other antivirus.
-
Couple of other options:
- You should also be able to in your AV see quarantined files and say they are OK.
- You can always download the raw code from GitHub - https://github.com/jmone1/Swag-of-Tools/releases
...and the Compiler from https://www.autohotkey.com/ (it's easy to then compile and only takes a few seconds). No idea if your AV will then delete it however.
-
Hendrik posted the following in the JRVR thread
We don't have that video analysis process yet, but jmone's SoT tool can do black bar cropping detection, I don't think it writes it into the right field in the right format to automatically apply cropping during video playback though, but maybe you can convince him to look into that.
I'm guessing but I "presume" that it would be populating the "Playback Info" field? with the correct format based on what SoT finds for Black Bar detection. I guess I have a few questions:
- Is "Playback Info" the correct field
- What is the format mapping (eg what I get back from ffmpeg raw info such as "3840:1600:0:280" to what format MC needs)
- Is it optional (eg if most have a 16:9 std screen do we make it optional or does it not matter)
-
edit
-
Hallo,
I'm new to SoT and I tried my first run with it. I have added a custom field "Untertitel" (Subtitles) and configured SoT to update this field.
The "Language" field will be updated, the compression field will be updated for example +Atmon but my new created field "Subtitles" will be blank and I get an error in SoT
The MC Run Time Command has finished, you can now either press
- "Cancel" to close the Swag of Tools or
- "Launch Full Version"
Finished
Error - 500 Processed Failed (see details below)
http://127.0.0.1:52199/MCWS/v1/File/SetInfo?File=5653607&FileType=Key&Field=Untertitel&Value=German%3B%20English
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Response Status="Failure" Information="Field not found."/>
Language track info found and MC Language Field Updated
Atmos track found and MC Compression Field Updated
Finished Reading Media Info for "J:\Video\Star Wars - Episode VIII - Die letzten Jedi.mkv"
Commencing MediaInfo Scan (this may take some time) for "J:\Video\Star Wars - Episode VIII - Die letzten Jedi.mkv"
Commenced - Please wait....
The MC Runtime Command Received was : MediaInfo
Media Center Version 30.0.48 Found at 127.0.0.1:52199
I start the program with a right click on the selected file. What is wrong here? DO I have to add more MC field before? If yes what are the names of fields that must be created.
Thanks
-
Error msg seem to indicate that you haven't created field Undertitel
Can be created with MC's gui or via MCWS (something like this):
http://localhost:52199/MCWS/v1/Library/CreateField?Name=Untertitel&DataType=List&EditType=Standard
-
No the field is there as I wrote
-
Field name id says "Subtitle" in your picture. Not sure how MC handles translations...
Try to use Subtitle in the SoT instead of undertitel
-
Same error
The MC Run Time Command has finished, you can now either press
- "Cancel" to close the Swag of Tools or
- "Launch Full Version"
Finished
Error - 500 Processed Failed (see details below)
http://127.0.0.1:52199/MCWS/v1/File/SetInfo?File=5653604&FileType=Key&Field=Subtitel&Value=German%3B%20English
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Response Status="Failure" Information="Field not found."/>
Atmos track found and already in MC Compression Field
Finished Reading Media Info for "J:\Video\Star Wars - Episode IX - Der Aufstieg Skywalkers.mkv"
Commencing MediaInfo Scan (this may take some time) for "J:\Video\Star Wars - Episode IX - Der Aufstieg Skywalkers.mkv"
Commenced - Please wait....
The MC Runtime Command Received was : MediaInfo
Media Center Version 30.0.48 Found at 127.0.0.1:52199
-
typo: Subtitel ==> Subtitle
Field given in SoT needs to match MC database field name
-
typo: Subtitel ==> Subtitle
Field given in SoT needs to match MC database field name
OK Thanks it works now.
Can you tell me what I must insert in SoT when I want the read the "HDR Format" info from the media File and to insert the value into MC Library "HDR Format",
-
Super 8)
HDR Format
HDR format
Video
Naturally you need to create field "HDR Format" in MC first
E: Actually "HDR format" for MediaInfo is enough in SoT. I'm using MCUtils to get MediaInfo data and there I have been using Video.HDR_Format_String
-
No I understand the using of the tool.
I have one problem. I have the language field already filled up (with German entries like Deutsch, Englisch). When I run SoT than I get double entries (Deutsch, Englisch, German, English). Is it possible to translate these during the input or is there a key that I disable within SoT to update the [Language] field.
And the next question: Do I need several runs for several input or can I input several keys to update several field at once.
-
You can separate the fields with a ;
This is my ; separated fields in SoT - Media Info:
Subtitles;Audio Language;Audio Tracks
Language;Language;Title
Text;Audio;Audio
-
Hi,
I get an error when I use it on Build .73.
I checked the Username & Password and they are correct.
I get always this error:
Error 401 Access Denied
- Check Username / Password is correct in the Configuration Options
The MC Runtime Command Received was : MediaInfo
Where do you store the settings in the registry. I do not see any key in the root of HKEY_CURRENT_USER, SOFTWARE\JRiver\Media Center 30
My password are 4 digits. When I open Swag again, than the Psword shows 3 digitd (as black points)
-
Swag of Tools settings are stored in an INI file (Swag of Tools.ini) that gets created in the same directory as "Swag of Tools.exe" and including a hashed UserName and Password (it is NOT clear text). The only stuff I store in the MC Register is the links to enable running SOT from MC's "Send to External" function.
-
It do not run. Tell me the Username and Password from the ini file (please Personal Message)
-
I'll send you a PM in a sec but I too found something odd with authentication as it also stopped working for me in V30.0.73 as well (just tested).
I had to disable/enable it in MC (Tools --> Option --> Media Network --> Authentication) EDIT: I had to re- enter in it SOT and now it seems fine (I had recently done a clean install and that changes the hashing function).
-
I'll send you a PM in a sec but I too found something odd with authentication as it also stopped working for me in V30.0.73 as well (just tested). I had to disable/enable it in MC (Tools --> Option --> Media Network --> Authentication) and now it seems fine.
I did this - same result. As I wrote you PM that the Username & Passwort you stored is wrong. I send you the right ones!
-
In Swag of Tools - go to "Configuration" and re-enter the Username and Password and press "Test Configuration" If that works press "Save Configuration"
-
In Swag of Tools - go to "Configuration" and re-enter the Username and Password and press "Test Configuration" If that works press "Save Configuration"
I did this a lot of times. After the details are stored, they are wrong
-
Sent you a link and also removed the INI file you posted earlier (just in case)
-
Sent you a link and also removed the INI file you posted earlier (just in case)
It's not working same behaviour
-
When I input my username and Password again and then "Test" it says success.
Success, Media Center Found at 127.0.0.1:52199!
Checking for Media Center at 127.0.0.1:52199
When I say "Save Configuration" it get this:
"FileKey" Field already exists in MC Library
Check if "FileKey" Field already exists in MC Library
"Aspect Ratio (Crop)" Field already exists in MC Library
Check if "Aspect Ratio (Crop)" Field already exists in MC Library
"Crop" Field already exists in MC Library
Check if "Crop" Field already exists in MC Library
Writing Registry Keys to HKEY_CURRENT_USER, SOFTWARE\JRiver\Media Center 30
Writing to Swag of Tools.ini
Success, Media Center Found at 127.0.0.1:52199!
Checking for Media Center at 127.0.0.1:52199
Success, Media Center Found at 127.0.0.1:52199!
Checking for Media Center at 127.0.0.1:52199
After I stored it and reopen it and hit "Test" again:
Error 401 Access Denied
- Check Username / Password is correct in the Configuration Options
Checking for Media Center at 127.0.0.1:52199
Media Center Version 30.0.73 Found at 127.0.0.1:52199
-
I checked the crypto function I'm using in SOT. It is using the PC's unique UUID for both the encryption and decryption of the password and username so it has to be on the same PC (and hence why I had to redo it as I'd just done a clean install of Windows). It also means I can not decrypt (or create) others' password and username.
Is there anything special (or that changed) on the PC you are running SOT on?
-
No. JRiver is running on a Windows Server 2016 (64bit). New install on Saturday, restored the JR Database and setup Swag new (new .ini)
-
Do you have SOT in a folder with write permissions? Don't put it in Program Files.
-
No it's not. The folder is free with full read, write. I also put Swag on a drive other than "C". Because on a server (C) has read/write only for Administrators and the System itself, a long as you change it.
-
Then maybe SOT is assuming it's always on C: ?
Try running it from the desktop just to test... and check the .ini timestamp to see if it's being modified when you save the pass.
-
....also:
- SOT should not care what drive letter is used.
- It used to work till the new build on the weekend? (if so something has changed)
- Are you running SOT over RDP or something like that (I'm wondering if the crypto hash using the UUID somehow changes or is just handled differently on WS2016)
Worse come to worse I can always make a clear text option in the setup (but that will leave your username/password exposed in the INI file if you care).
-
Are you running the EXE directly or via a shortcut? SOT seems to assume the .ini is in the "current folder", which can be changed in a shortcut ("start in...")
jmone: typo in the config button, it says "configuratioin"
-
....also:
- SOT should not care what drive letter is used.
- It used to work till the new build on the weekend? (if so something has changed)
- Are you running SOT over RDP or something like that (I'm wondering if the crypto hash using the UUID somehow changes or is just handled differently on WS2016)
Worse come to worse I can always make a clear text option in the setup (but that will leave your username/password exposed in the INI file if you care).
Sometime I'm running over RDP.
I did this, yes it's writing, belive me.
MachineGuid: 141a06a6-3459-41ba-91ed-894861ea8127 from WS2016
If you can make a clear ini is ok for me.
-
Here is a test version that lets you (under configuration) save the credentials as clear text. Let me know how it goes.
-
Here is a test version that lets you (under configuration) save the credentials as clear text. Let me know how it goes.
Thanks, it's working and what I see is that after my password is a whitespace. Maybe this could be the problem?
-
Checked on my setup and I don't get any whitespace .... so no idea what is causing the issue on your setup, except something does not like the hashing function (and SOT has been hashing for some time now and this is the first such issue).
-
Also, Hendrik has added into core MC the collection of all the core additional meta data. So.... SOT --> Media Info scraping will (I expect) get less use these days
-
Also, Hendrik has added into core MC the collection of all the core additional meta data. So.... SOT --> Media Info scraping will (I expect) get less use these days
I like your work and will continue using it - Many thanks for your work
-
:) thanks!
-
Thanks, it's working and what I see is that after my password is a whitespace. Maybe this could be the problem?
Copy and paste sometimes picks up a space.
-
Copy and paste sometimes picks up a space.
Manual input - no space ;D
-
Hendrik has done a ton of work integrating additional media data scraping and black bar detection to MC. For those using "SOT - Media Info" the following are two area that are automatically done when you run it:
- Update the "Compression" Tag with "+Atmos" or "+DTS:X" if the file contains it
- Update the "Languages" Tag with any of the languages if the file contains it that information
1) Given the changes to MC, I'm inclined to remove these two items but what do you think?
2) What about Black Bar detection? MC's new method is far more thorough and the sytax used is different to SOT, should we deprecate this, leave it or modify it in some way
3) Are there also other things that need to be added / removed / changed?
-
At the moment I'm missing the:
"Bit Rate (Max)" ... kb/s for example, if the movie has VBR.
"Bit Rate" (... kb/s for example)
"BPS" (25,00 for example)
"Audioformat Name" for example "Dolby Digital Plus 5.1" (the name (Title) of the Audio track.
-
1) Given the changes to MC, I'm inclined to remove these two items but what do you think?
2) What about Black Bar detection? MC's new method is far more thorough and the sytax used is different to SOT, should we deprecate this, leave it or modify it in some way
3) Are there also other things that need to be added / removed / changed?
Hello jmone,
I haven't yet made the switch to MC30 as I'm perfectly fine with my current workflow of importing movies, could you perhaps make changes in SOT dependent of what version SOT is seeing?
There also might be more users of SOT who hasn't made the switch to MC30.
Hade a great weekend!
-
There is no rush, just putting it out there on what changes may make sense. Also, you could also just keep using the current version of SOT even if I make changes.
-
from a PM :
Hi Jmone
I am using your Data Fiddler to import Music Playlists into JRiver. Its working great, except when I look at the playlist in JRiver it does not show the first song. Meaning if I do a test and the playlist in the spreadsheet and Fiddler contains 3 songs, JRiver only shows the last 2 in the playlist
Have you come across this issue? Any guidance and instructions would be greatly appreciated. Thanks!
All the best
Ron
-
Hi Ron, I've not seen this issue (but I've not looked at this code for years). If you can attach a sample spreadsheet I'll have a look?
Thanks
Nathan
-
With bdmv files I can no longer get the mediainfo data. The relative file contains what you see in the attachment.
Was there any change that I don't know about?
-
Yup! MC changed the FileName extension in the database from "index.bluray;1" to "index.bdmv" so I'll need to update SOT to handle this.
-
OK - here is a test version that should work for "normal" BD's - let me know of any issues.
Note: I've not ripped any of the following for ages, but I'm also worried if there has also been a change for the FileName extension used for:
- 3D Bluray : was "bluray3d;1"
- DVD : was "dvd;1"
-
Thanks Nathan, problem solved. ;D
However, the "Audio Title" field of the bdmvs continues to remain empty: shouldn't it be populated by SoT? Or am I saying nonsense? :-[
-
Good to hear! I really need to look at the DVD and 3D-BD as well....
While you could map something from SOT/Media Info into this field, it was introduced by Hendrik recently as a part of MC's expanded meta data scraping. Mine are mostly empty, eg ";;;;;;"
-
Hi Jmone, great set of tools, I was trying to get mediainfo.
The Mediainfo installed fine, but next it starts asking for FFmpeg to be installed, it downloads, but does not seem to install. So when I want to start mediainfo it keeps installing ffmpeg, but it's not installed.It makes a directory, I manually put in ffmpeg, but that does not work. Am I doing something wrong, and if I can install it manually, where need the files go..
Thanks in advance.
-
Hi DigiBert,
Looks like the 2021-05-31-13-09 build SOT uses has been removed from GITHUB. I will need to update (and test) SOT with a newer build.
FWIW, SOT is checking if "ffmpeg.exe" exists in a folder under the SOT installed called "\ffmpeg\ffmpeg-N-102631-gbaf5cc5b7a-win64-gpl-shared\bin\ffmpeg.exe", if it does not find it there it will:
1) downloading : https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2021-05-31-13-09/ffmpeg-N-102631-gbaf5cc5b7a-win64-gpl-shared.zip
2) unzipping it to "\ffmpeg\ffmpeg-N-102631-gbaf5cc5b7a-win64-gpl-shared"
So for now, you should be able to manually extract FFMPEG to that "...\ffmpeg\ffmpeg-N-102631-gbaf5cc5b7a-win64-gpl-shared" folder, just make sure "ffmpeg.exe" is found in ""...ffmpeg\ffmpeg-N-102631-gbaf5cc5b7a-win64-gpl-shared\bin\" .
I'll make a fix for SOT this week.
Thanks
Nathan
-
Thanks for the quick reply, that worked.
Is it possible to update the field in MC on ISO files.
When playing an iso it mounts the ISO and at that moment you should be able to get the Audio and Video data to copy it to MC.
Manually those fields are locked.
What I want to achieve is select an ISO play it close the display and run your tool to get the data from the mounted ISO in the selected library entry.
The more time consuming version would be download the library selection, manually enter the data an upload.
-
Nice idea, I'll check it out and see what may work.
-
If I have an Excel sheet with chapter start time and chapter titles, is it possible to populate Chapterfly without much additional typing?
Thank you
-
The fastest process would be to have both MC and SOT-Chapterfy open in two windows then use either of the following:
Chapterfy - Manually Create
- Select the item in MC
- Use Chapterfy (Manual) where you will first need to put in the # of chapters, then cut and paste the data from XL into the following notepad windows in this format (you could preformat this in excel)
CHAPTER01=00:01:00.000
CHAPTER01NAME=Chapter 01
CHAPTER02=00:02:00.000
CHAPTER02NAME=Chapter 02
CHAPTER03=00:03:00.000
CHAPTER03NAME=Chapter 03
Chapterfy - chapter.txt File
- Create individual Chapter.Txt files for each MC item from XL (same format as above)
- Select the item in MC
- Use Chapterfy (chapter.txt File) --> Create Chapters --> Select the correct Chapter.txt file
-
Thank you very much for this clear explanation and, more generally, for this set of tools. After a little investment of time this evening in learning more about manipulating Excel columns, I can see now how this can be a relatively easy process.
As a newcomer to this set of tools, I look forward to exploring more what they offer. One further question. I have seen reference to issues that arise when moving files with particles. Does the Filename Updater help address these issues?
-
Great to hear! I don't think I've really come across a file moving issue but it's not something I've needed to do for years anyway as I use a share so they are all in the format of "\\MEDIA\Video\...." instead of say D:\Video
-
Looks like the days of needing to use SOT is coming to an end. With the addition of additional meta collection for Videos and the "Auto Create Chapter Particles" most of what SOT could do is now part of MC.
-
I still use the Data Fiddler solution, it works great for a variety of items.
Thanks for all of your hard work on the SOT solution. It has helped many of us for sure.
-
Thanks!
-
Thank you Jmone for the all the excellent work with SoT.
I still use it for extracting media info and are very pleased with its consistency.
I have a copy of SoT saved away on my hard drive, in case I need it in the future.
-
Thanks! The code is posted so it is not going anywhere, but much of the function is now part of core MC.
-
In reality I also use it to have the audio and subtitle languages of films, as I still use the slightly modified lepa template.
Thanks