Recent build changes

Talk about the Ultimate Question of Life, The Universe, and Everything
devster
Posts: 284
Joined: 06 Jun 2017, 22:56

Re: Recent build changes

Post by devster » 11 Jul 2019, 08:25

Definitely docs on how the mediainfo used for bindings.
Possibly convenience methods for Language and multiple audios.
Right now I'm doing:

Code: Select all

{ def _lang = any{ au["Language"] }{ video.first()["Language"] }
  net.filebot.Language.findLanguage(_lang).ISO3.upperInitial() }
I only work in black and sometimes very, very dark grey. (Batman)

User avatar
rednoah
The Source
Posts: 16115
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Recent build changes

Post by rednoah » 11 Jul 2019, 09:15

1.
MediaInfo changes quite often, so the MediaInfo fields that various bindings are based on are subject to change. I'll see about better documentation, but it'll focus on purpose and possible values, rather than implementation details. That being said, implementation details are and remain available in the public API documentation.


2.
{audioLanguages} is available in recent releases, though it's based on MediaInfo audio stream languages only. Language is on my list of public API classes already, since Language objects are returned by various format bindings.

:?: I've never seen a video stream with Language defined. Is that a thing? Different video streams for different locales?
:idea: Please read the FAQ and How to Request Help.

devster
Posts: 284
Joined: 06 Jun 2017, 22:56

Re: Recent build changes

Post by devster » 11 Jul 2019, 09:37

rednoah wrote:
11 Jul 2019, 09:15
1.
MediaInfo changes quite often, so the MediaInfo fields that various bindings are based on are subject to change. I'll see about better documentation, but it'll focus on purpose and possible values, rather than implementation details. That being said, implementation details are and remain available in the public API documentation.
The link you provided is more than sufficient. That's how we noticed the changes in mediainfo from v17 to v18 so I'd say it's useful to have.
rednoah wrote:
11 Jul 2019, 09:15
2.
{audioLanguages} is available in recent releases, though it's based on MediaInfo audio stream languages only. Language is on my list of public API classes already, since Language objects are returned by various format bindings.
{audioLanguages} does do Languages but not different audio formats. Most of my movies are BD rips, which means there are commentary tracks with lower audio quality, hence the "convenience". Kim already has a way to extract all audio streams and various info, it's doable.
rednoah wrote:
11 Jul 2019, 09:15
:?: I've never seen a video stream with Language defined. Is that a thing? Different video streams for different locales?
There are files for which a mediainfo language field is set for video but not for audio, for some reason. No idea why they do it, but it comes from the encoders most likely.
I only work in black and sometimes very, very dark grey. (Batman)

User avatar
rednoah
The Source
Posts: 16115
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Recent build changes

Post by rednoah » 11 Jul 2019, 09:52

2.
Strange. If you could make a separate thread and dump the raw MediaInfo tables for these files, that would be appreciated (or maybe even sample files, a few seconds will do). Then I can see about adding a filter to the built-in bindings to ignore commentary tracks.

I've added a new script to make it easy to dump MediaInfo tables:

Code: Select all

filebot -script fn:mediainfo .
:arrow: https://github.com/filebot/scripts/blob ... nfo.groovy

:idea: Same as doing find . -type f -exec mediainfo {} + but works on Windows too.
:idea: Please read the FAQ and How to Request Help.

kim
Power User
Posts: 756
Joined: 15 May 2014, 16:17

Re: Recent build changes

Post by kim » 11 Jul 2019, 17:10

ALL of this a min. must have ( MUST be able to use any path (string), params, Locale and Cache)

net.filebot.web.OpenSubtitlesHasher.* ( computeHash() )
net.filebot.Cache.getCache()

TheTVDB.requestJson()
TheTVDB.getEpisodeList()
TheTVDB.getSeriesInfo()
TheTVDB.resolveImage()
TheTVDB.getArtwork()

TheMovieDB.properties.configuration.images.secure_base_url
TheMovieDB.getArtwork()
TheMovieDB.getAlternativeTitles()
TheMovieDB.request()
TheMovieDB.getMovieInfo()
TheMovieDB.resolveImage()

OMDb.request()

TVmaze.request()

FanartTV.getArtwork()

+ any already in a script
e.g. MediaInfo.snapshot()

and to be sure it still will work:
File.metadata
_args.order
instanceof MultiEpisode
.nameWithoutExtension

my script is 1600 lines atm so I maybe forgeting something
Last edited by kim on 11 Jul 2019, 17:35, edited 1 time in total.

User avatar
rednoah
The Source
Posts: 16115
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Recent build changes

Post by rednoah » 11 Jul 2019, 17:30

Do you happen to have a GitHub repository? Then I could add it to my integration tests to make sure it "compiles" at the very least.
:idea: Please read the FAQ and How to Request Help.

kim
Power User
Posts: 756
Joined: 15 May 2014, 16:17

Re: Recent build changes

Post by kim » 11 Jul 2019, 17:37

No, I do not
but here is an old "cutdown" version
viewtopic.php?f=4&t=5451

I'm working on a new version with more stuff, but this takes a long time
Last edited by kim on 11 Jul 2019, 17:41, edited 1 time in total.

User avatar
rednoah
The Source
Posts: 16115
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Recent build changes

Post by rednoah » 11 Jul 2019, 17:41

No worries. I'll at the TheTVDB / TheMovieDB / etc client classes to the public API list.

Fortunately, most of it is already public API and generally not subject to change:
* https://www.filebot.net/docs/api/net/fi ... a.io.File)
* https://www.filebot.net/docs/api/net/fi ... web.Movie)
* ...
:idea: Please read the FAQ and How to Request Help.

Post Reply