From 8ea1f4a751a5d5f848c5754445c524d2f5e6e006 Mon Sep 17 00:00:00 2001 From: ed Date: Mon, 15 Aug 2022 17:56:13 +0200 Subject: [PATCH] idx multimedia format/container type --- bin/mtag/rclone-upload.py | 2 +- bin/mtag/vidchk.py | 2 +- copyparty/__main__.py | 4 ++-- copyparty/mtag.py | 6 +++++- copyparty/web/browser.js | 2 ++ 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/bin/mtag/rclone-upload.py b/bin/mtag/rclone-upload.py index 3b2c7cae..80c87b03 100644 --- a/bin/mtag/rclone-upload.py +++ b/bin/mtag/rclone-upload.py @@ -47,8 +47,8 @@ CONDITIONAL_UPLOAD = True def main(): + fp = sys.argv[1] if CONDITIONAL_UPLOAD: - fp = sys.argv[1] zb = sys.stdin.buffer.read() zs = zb.decode("utf-8", "replace") md = json.loads(zs) diff --git a/bin/mtag/vidchk.py b/bin/mtag/vidchk.py index 375814ec..f7ba3a67 100755 --- a/bin/mtag/vidchk.py +++ b/bin/mtag/vidchk.py @@ -97,7 +97,7 @@ def main(): zs = ( "ffmpeg -y -hide_banner -nostdin -v warning" + " -err_detect +crccheck+bitstream+buffer+careful+compliant+aggressive+explode" - " -xerror -i" + + " -xerror -i" ) cmd = zs.encode("ascii").split(b" ") + [fsenc(fp)] diff --git a/copyparty/__main__.py b/copyparty/__main__.py index 6ebdcbda..420be3ac 100644 --- a/copyparty/__main__.py +++ b/copyparty/__main__.py @@ -630,9 +630,9 @@ def run_argparse(argv: list[str], formatter: Any, retry: bool) -> argparse.Names ap2.add_argument("--mtag-v", action="store_true", help="verbose tag scanning; print errors from mtp subprocesses and such") ap2.add_argument("-mtm", metavar="M=t,t,t", type=u, action="append", help="add/replace metadata mapping") ap2.add_argument("-mte", metavar="M,M,M", type=u, help="tags to index/display (comma-sep.)", - default="circle,album,.tn,artist,title,.bpm,key,.dur,.q,.vq,.aq,vc,ac,res,.fps,ahash,vhash") + default="circle,album,.tn,artist,title,.bpm,key,.dur,.q,.vq,.aq,vc,ac,fmt,res,.fps,ahash,vhash") ap2.add_argument("-mth", metavar="M,M,M", type=u, help="tags to hide by default (comma-sep.)", - default=".vq,.aq,vc,ac,res,.fps") + default=".vq,.aq,vc,ac,fmt,res,.fps") ap2.add_argument("-mtp", metavar="M=[f,]BIN", type=u, action="append", help="read tag M using program BIN to parse the file") ap2 = ap.add_argument_group('ui options') diff --git a/copyparty/mtag.py b/copyparty/mtag.py index 9467ddaf..325e0849 100644 --- a/copyparty/mtag.py +++ b/copyparty/mtag.py @@ -178,7 +178,7 @@ def parse_ffprobe(txt: str) -> tuple[dict[str, tuple[int, Any]], dict[str, list[ ] if typ == "format": - kvm = [["duration", ".dur"], ["bit_rate", ".q"]] + kvm = [["duration", ".dur"], ["bit_rate", ".q"], ["format_name", "fmt"]] for sk, rk in kvm: v1 = strm.get(sk) @@ -239,6 +239,9 @@ def parse_ffprobe(txt: str) -> tuple[dict[str, tuple[int, Any]], dict[str, list[ if ".q" in ret: del ret[".q"] + if "fmt" in ret: + ret["fmt"] = ret["fmt"].split(",")[0] + if ".resw" in ret and ".resh" in ret: ret["res"] = "{}x{}".format(ret[".resw"], ret[".resh"]) @@ -310,6 +313,7 @@ class MTag(object): "tope", ], "title": ["title", "tit2", "\u00a9nam"], + "comment": ["comment"], "circle": [ "album-artist", "tpe2", diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 9d209aaf..42fb9d28 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -11,6 +11,7 @@ var Ls = { "q": "quality / bitrate", "Ac": "audio codec", "Vc": "video codec", + "Fmt": "format / container", "Ahash": "audio checksum", "Vhash": "video checksum", "Res": "resolution", @@ -348,6 +349,7 @@ var Ls = { "q": "kvalitet / bitrate", "Ac": "lyd-format", "Vc": "video-format", + "Fmt": "format / innpakning", "Ahash": "lyd-kontrollsum", "Vhash": "video-kontrollsum", "Res": "oppløsning",