mediainfo command for a-Shell
Hi, I’ve just noticed that the mediainfo command is based on the BSD-2-Clause license. This means it can be freely compiled and included in the a-Shell package, right? :)
Please find the link below: https://github.com/MediaArea/MediaInfo
Hi, I gave it a try and was unable to compile it. They do have an app out on the AppStore from the same authors: https://apps.apple.com/us/app/mediainfo/id1448983823
If you have suggestions for other commands with similar functionality, I can give it a try (including commands licensed with GPL, as long as I can compile them to WebAssembly).
ffprobe's JSON output option + jq could be used to create a functional equivalent, it's just a matter of formatting it, for the most part.
The only information you might be able to get via mediainfo that wouldn't be available through any invocation of ffprobe (that I am aware of; while I'm an advanced user of ffmpeg and its associated binaries, it's possible I just don't know how) would be the encoder side information e.g. x264 includes, which shows the encoding settings used.
I know that's a terrible description (sorry), so I'll just show an example:
Writing library : x264 core 164 r3161M a354f1 Encoding settings : cabac=1 / ref=5 / deblock=1:1:1 / analyse=0x3:0x113 / me=hex / subme=8 / psy=1 / psy_//rd=1.00 :0.25 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=6,6 / fast_pskip=1 / chroma_qp_offset=-4 / th reads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=0 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes= 3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / int ra_refresh=0 / rc_lookahead=96 / rc=crf / mbtree=1 / crf=18.0 / qcomp=0.80 / qpmin=2 / qpmax=24 / qpstep=4 / ip_ratio=1.10 / aq=2:0.50
and HDR luminance information, like so:
Mastering display luminance : min: 0.0001 cd/m2, max: 1000 cd/m2
Most everything else should be translatable into an equivalent, but it'd probably be quite an undertaking to correctly parse everything. I might give it a go just to see what's possible, but honestly dash doesn't work very well.
(edit: ah, of course GitHub messed up the formatting here. I think you'll know what I mean anyway.)