sticker-convert 2.3.1__tar.gz → 2.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sticker-convert-2.3.1/src/sticker_convert.egg-info → sticker-convert-2.4.0}/PKG-INFO +25 -8
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/README.md +23 -6
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/requirements.txt +1 -1
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/__init__.py +1 -1
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/cli.py +15 -7
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/converter.py +177 -115
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/downloaders/download_line.py +7 -3
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/gui.py +15 -5
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/gui_components/frames/comp_frame.py +5 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/gui_components/windows/advanced_compression_window.py +55 -15
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/job.py +20 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/job_option.py +13 -4
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/resources/compression.json +92 -42
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/resources/help.json +5 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/uploaders/compress_wastickers.py +2 -1
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/uploaders/xcode_imessage.py +2 -1
- sticker-convert-2.4.0/src/sticker_convert/utils/files/sanitize_filename.py +51 -0
- sticker-convert-2.4.0/src/sticker_convert/utils/media/codec_info.py +235 -0
- sticker-convert-2.4.0/src/sticker_convert/utils/media/format_verify.py +185 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0/src/sticker_convert.egg-info}/PKG-INFO +25 -8
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert.egg-info/SOURCES.txt +1 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert.egg-info/requires.txt +1 -1
- sticker-convert-2.3.1/src/sticker_convert/utils/media/codec_info.py +0 -172
- sticker-convert-2.3.1/src/sticker_convert/utils/media/format_verify.py +0 -184
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/LICENSE +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/MANIFEST.in +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/pyproject.toml +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/setup.cfg +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/__main__.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/downloaders/download_base.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/downloaders/download_kakao.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/downloaders/download_signal.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/downloaders/download_telegram.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/gui_components/frames/config_frame.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/gui_components/frames/control_frame.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/gui_components/frames/cred_frame.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/gui_components/frames/input_frame.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/gui_components/frames/output_frame.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/gui_components/frames/progress_frame.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/gui_components/frames/right_clicker.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/gui_components/gui_utils.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/gui_components/windows/base_window.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/gui_components/windows/kakao_get_auth_window.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/gui_components/windows/line_get_auth_window.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/gui_components/windows/signal_get_auth_window.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/.github/FUNDING.yml +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/.gitignore +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/README.md +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers/Info.plist +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Info.plist +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Contents.json +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Contents.json +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 1.sticker/Contents.json +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 1.sticker/Sticker 1.png +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 2.sticker/Contents.json +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 2.sticker/Sticker 2.png +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 3.sticker/Contents.json +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 3.sticker/Sticker 3.png +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/App-Store-1024x1024pt.png +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Contents.json +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages-App-Store-1024x768pt.png +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages-iPad-67x50pt@2x.png +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages-iPad-Pro-74x55pt@2x.png +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages-iPhone-60x45pt@2x.png +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages-iPhone-60x45pt@3x.png +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages27x20pt@2x.png +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages27x20pt@3x.png +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages32x24pt@2x.png +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages32x24pt@3x.png +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/iPad-Settings-29pt@2x.png +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/iPhone-Settings-29pt@3x.png +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/iPhone-settings-29pt@2x.png +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.pbxproj +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.xcworkspace/xcuserdata/niklaspeterson.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/xcuserdata/niklaspeterson.xcuserdatad/xcschemes/xcschememanagement.plist +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/resources/NotoColorEmoji.ttf +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/resources/appicon.icns +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/resources/appicon.ico +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/resources/appicon.png +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/resources/emoji.json +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/resources/input.json +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/resources/output.json +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/uploaders/upload_base.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/uploaders/upload_signal.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/uploaders/upload_telegram.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/utils/auth/get_kakao_auth.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/utils/auth/get_line_auth.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/utils/auth/get_signal_auth.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/utils/fake_cb_msg.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/utils/files/cache_store.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/utils/files/dir_utils.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/utils/files/json_manager.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/utils/files/metadata_handler.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/utils/files/run_bin.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/utils/media/apple_png_normalize.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/utils/media/decrypt_kakao.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert/utils/url_detect.py +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert.egg-info/dependency_links.txt +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert.egg-info/entry_points.txt +0 -0
- {sticker-convert-2.3.1 → sticker-convert-2.4.0}/src/sticker_convert.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: sticker-convert
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.4.0
|
4
4
|
Summary: Convert (animated) stickers to/from WhatsApp, Telegram, Signal, Line, Kakao, iMessage. Written in Python.
|
5
5
|
Author-email: laggykiller <chaudominic2@gmail.com>
|
6
6
|
Maintainer-email: laggykiller <chaudominic2@gmail.com>
|
@@ -368,7 +368,7 @@ Requires-Dist: apngasm_python~=1.2.2
|
|
368
368
|
Requires-Dist: av~=11.0.0
|
369
369
|
Requires-Dist: beautifulsoup4~=4.12.3
|
370
370
|
Requires-Dist: rookiepy~=0.3.6
|
371
|
-
Requires-Dist:
|
371
|
+
Requires-Dist: imagequant~=1.1.0
|
372
372
|
Requires-Dist: memory-tempfile~=2.2.3
|
373
373
|
Requires-Dist: numpy~=1.26.3
|
374
374
|
Requires-Dist: Pillow~=10.2.0
|
@@ -476,12 +476,14 @@ usage: sticker-convert.py [-h] [--version] [--no-confirm] [--input-dir INPUT_DIR
|
|
476
476
|
[--output-dir OUTPUT_DIR] [--author AUTHOR] [--title TITLE]
|
477
477
|
[--export-signal | --export-telegram | --export-whatsapp | --export-imessage] [--no-compress]
|
478
478
|
[--preset {auto,signal,telegram,whatsapp,line,kakao,imessage_small,imessage_medium,imessage_large,custom}]
|
479
|
-
[--steps STEPS] [--processes PROCESSES] [--fps-min FPS_MIN] [--fps-max FPS_MAX]
|
480
|
-
[--
|
481
|
-
[--res-
|
482
|
-
[--
|
483
|
-
[--
|
484
|
-
[--
|
479
|
+
[--steps STEPS] [--processes PROCESSES] [--fps-min FPS_MIN] [--fps-max FPS_MAX]
|
480
|
+
[--fps-power FPS_POWER] [--res-min RES_MIN] [--res-max RES_MAX] [--res-w-min RES_W_MIN]
|
481
|
+
[--res-w-max RES_W_MAX] [--res-h-min RES_H_MIN] [--res-h-max RES_H_MAX] [--res-power RES_POWER]
|
482
|
+
[--quality-min QUALITY_MIN] [--quality-max QUALITY_MAX] [--quality-power QUALITY_POWER]
|
483
|
+
[--color-min COLOR_MIN] [--color-max COLOR_MAX] [--color-power COLOR_POWER]
|
484
|
+
[--duration-min DURATION_MIN] [--duration-max DURATION_MAX] [--vid-size-max VID_SIZE_MAX]
|
485
|
+
[--img-size-max IMG_SIZE_MAX] [--vid-format VID_FORMAT] [--img-format IMG_FORMAT] [--fake-vid]
|
486
|
+
[--scale-filter SCALE_FILTER] [--quantize-method QUANTIZE_METHOD] [--cache-dir CACHE_DIR]
|
485
487
|
[--default-emoji DEFAULT_EMOJI] [--signal-uuid SIGNAL_UUID] [--signal-password SIGNAL_PASSWORD]
|
486
488
|
[--signal-get-auth] [--telegram-token TELEGRAM_TOKEN] [--telegram-userid TELEGRAM_USERID]
|
487
489
|
[--kakao-auth-token KAKAO_AUTH_TOKEN] [--kakao-get-auth] [--kakao-username KAKAO_USERNAME]
|
@@ -538,6 +540,8 @@ Compression options:
|
|
538
540
|
Processes higher = Compress faster but consume more resources.
|
539
541
|
--fps-min FPS_MIN Set minimum output fps.
|
540
542
|
--fps-max FPS_MAX Set maximum output fps.
|
543
|
+
--fps-power FPS_POWER
|
544
|
+
Between -1 and positive infinity. Power lower = More importance of the parameter, try harder to keep higher and not sacrifice.
|
541
545
|
--res-min RES_MIN Set minimum width and height
|
542
546
|
--res-max RES_MAX Set maximum width and height
|
543
547
|
--res-w-min RES_W_MIN
|
@@ -548,14 +552,22 @@ Compression options:
|
|
548
552
|
Set minimum height.
|
549
553
|
--res-h-max RES_H_MAX
|
550
554
|
Set maximum height.
|
555
|
+
--res-power RES_POWER
|
556
|
+
Between -1 and positive infinity.
|
557
|
+
Power lower = More importance of the parameter,
|
558
|
+
try harder to keep higher and not sacrifice.
|
551
559
|
--quality-min QUALITY_MIN
|
552
560
|
Set minimum quality.
|
553
561
|
--quality-max QUALITY_MAX
|
554
562
|
Set maximum quality.
|
563
|
+
--quality-power QUALITY_POWER
|
564
|
+
Between -1 and positive infinity. Power lower = More importance of the parameter, try harder to keep higher and not sacrifice.
|
555
565
|
--color-min COLOR_MIN
|
556
566
|
Set minimum number of colors (For converting to apng and apng only).
|
557
567
|
--color-max COLOR_MAX
|
558
568
|
Set maximum number of colors (For converting to apng and apng only).
|
569
|
+
--color-power COLOR_POWER
|
570
|
+
Between -1 and positive infinity. Power lower = More importance of the parameter, try harder to keep higher and not sacrifice.
|
559
571
|
--duration-min DURATION_MIN
|
560
572
|
Set minimum output duration in miliseconds.
|
561
573
|
--duration-max DURATION_MAX
|
@@ -578,6 +590,11 @@ Compression options:
|
|
578
590
|
- bilinear = linear interpolation
|
579
591
|
- bicubic = Cubic spline interpolation
|
580
592
|
- lanczos = A high-quality downsampling filter
|
593
|
+
--quantize-method QUANTIZE_METHOD
|
594
|
+
Set method for quantizing image. Default as imagequant. Valid options are:
|
595
|
+
- imagequant = Best quality but slow
|
596
|
+
- fastoctree = Fast but image looks chunky
|
597
|
+
- none = No image quantizing, large image size as result
|
581
598
|
--cache-dir CACHE_DIR
|
582
599
|
Set custom cache directory.
|
583
600
|
Useful for debugging, or speed up conversion if cache_dir is on RAM disk.
|
@@ -92,12 +92,14 @@ usage: sticker-convert.py [-h] [--version] [--no-confirm] [--input-dir INPUT_DIR
|
|
92
92
|
[--output-dir OUTPUT_DIR] [--author AUTHOR] [--title TITLE]
|
93
93
|
[--export-signal | --export-telegram | --export-whatsapp | --export-imessage] [--no-compress]
|
94
94
|
[--preset {auto,signal,telegram,whatsapp,line,kakao,imessage_small,imessage_medium,imessage_large,custom}]
|
95
|
-
[--steps STEPS] [--processes PROCESSES] [--fps-min FPS_MIN] [--fps-max FPS_MAX]
|
96
|
-
[--
|
97
|
-
[--res-
|
98
|
-
[--
|
99
|
-
[--
|
100
|
-
[--
|
95
|
+
[--steps STEPS] [--processes PROCESSES] [--fps-min FPS_MIN] [--fps-max FPS_MAX]
|
96
|
+
[--fps-power FPS_POWER] [--res-min RES_MIN] [--res-max RES_MAX] [--res-w-min RES_W_MIN]
|
97
|
+
[--res-w-max RES_W_MAX] [--res-h-min RES_H_MIN] [--res-h-max RES_H_MAX] [--res-power RES_POWER]
|
98
|
+
[--quality-min QUALITY_MIN] [--quality-max QUALITY_MAX] [--quality-power QUALITY_POWER]
|
99
|
+
[--color-min COLOR_MIN] [--color-max COLOR_MAX] [--color-power COLOR_POWER]
|
100
|
+
[--duration-min DURATION_MIN] [--duration-max DURATION_MAX] [--vid-size-max VID_SIZE_MAX]
|
101
|
+
[--img-size-max IMG_SIZE_MAX] [--vid-format VID_FORMAT] [--img-format IMG_FORMAT] [--fake-vid]
|
102
|
+
[--scale-filter SCALE_FILTER] [--quantize-method QUANTIZE_METHOD] [--cache-dir CACHE_DIR]
|
101
103
|
[--default-emoji DEFAULT_EMOJI] [--signal-uuid SIGNAL_UUID] [--signal-password SIGNAL_PASSWORD]
|
102
104
|
[--signal-get-auth] [--telegram-token TELEGRAM_TOKEN] [--telegram-userid TELEGRAM_USERID]
|
103
105
|
[--kakao-auth-token KAKAO_AUTH_TOKEN] [--kakao-get-auth] [--kakao-username KAKAO_USERNAME]
|
@@ -154,6 +156,8 @@ Compression options:
|
|
154
156
|
Processes higher = Compress faster but consume more resources.
|
155
157
|
--fps-min FPS_MIN Set minimum output fps.
|
156
158
|
--fps-max FPS_MAX Set maximum output fps.
|
159
|
+
--fps-power FPS_POWER
|
160
|
+
Between -1 and positive infinity. Power lower = More importance of the parameter, try harder to keep higher and not sacrifice.
|
157
161
|
--res-min RES_MIN Set minimum width and height
|
158
162
|
--res-max RES_MAX Set maximum width and height
|
159
163
|
--res-w-min RES_W_MIN
|
@@ -164,14 +168,22 @@ Compression options:
|
|
164
168
|
Set minimum height.
|
165
169
|
--res-h-max RES_H_MAX
|
166
170
|
Set maximum height.
|
171
|
+
--res-power RES_POWER
|
172
|
+
Between -1 and positive infinity.
|
173
|
+
Power lower = More importance of the parameter,
|
174
|
+
try harder to keep higher and not sacrifice.
|
167
175
|
--quality-min QUALITY_MIN
|
168
176
|
Set minimum quality.
|
169
177
|
--quality-max QUALITY_MAX
|
170
178
|
Set maximum quality.
|
179
|
+
--quality-power QUALITY_POWER
|
180
|
+
Between -1 and positive infinity. Power lower = More importance of the parameter, try harder to keep higher and not sacrifice.
|
171
181
|
--color-min COLOR_MIN
|
172
182
|
Set minimum number of colors (For converting to apng and apng only).
|
173
183
|
--color-max COLOR_MAX
|
174
184
|
Set maximum number of colors (For converting to apng and apng only).
|
185
|
+
--color-power COLOR_POWER
|
186
|
+
Between -1 and positive infinity. Power lower = More importance of the parameter, try harder to keep higher and not sacrifice.
|
175
187
|
--duration-min DURATION_MIN
|
176
188
|
Set minimum output duration in miliseconds.
|
177
189
|
--duration-max DURATION_MAX
|
@@ -194,6 +206,11 @@ Compression options:
|
|
194
206
|
- bilinear = linear interpolation
|
195
207
|
- bicubic = Cubic spline interpolation
|
196
208
|
- lanczos = A high-quality downsampling filter
|
209
|
+
--quantize-method QUANTIZE_METHOD
|
210
|
+
Set method for quantizing image. Default as imagequant. Valid options are:
|
211
|
+
- imagequant = Best quality but slow
|
212
|
+
- fastoctree = Fast but image looks chunky
|
213
|
+
- none = No image quantizing, large image size as result
|
197
214
|
--cache-dir CACHE_DIR
|
198
215
|
Set custom cache directory.
|
199
216
|
Useful for debugging, or speed up conversion if cache_dir is on RAM disk.
|
@@ -67,11 +67,14 @@ class CLI:
|
|
67
67
|
'color_min', 'color_max',
|
68
68
|
'duration_min', 'duration_max',
|
69
69
|
'vid_size_max', 'img_size_max')
|
70
|
-
|
70
|
+
flags_float = ('fps_power', 'res_power', 'quality_power', 'color_power')
|
71
|
+
flags_str = ('vid_format', 'img_format', 'cache_dir', 'scale_filter', 'quantize_method')
|
71
72
|
flags_bool = ('fake_vid')
|
72
73
|
for k, v in self.help['comp'].items():
|
73
74
|
if k in flags_int:
|
74
75
|
keyword_args = {'type': int, 'default': None}
|
76
|
+
elif k in flags_float:
|
77
|
+
keyword_args = {'type': float, 'default': None}
|
75
78
|
elif k in flags_str:
|
76
79
|
keyword_args = {'default': None}
|
77
80
|
elif k in flags_bool:
|
@@ -202,7 +205,8 @@ class CLI:
|
|
202
205
|
},
|
203
206
|
'fps': {
|
204
207
|
'min': self.compression_presets[preset]['fps']['min'] if args.fps_min == None else args.fps_min,
|
205
|
-
'max': self.compression_presets[preset]['fps']['max'] if args.fps_max == None else args.fps_max
|
208
|
+
'max': self.compression_presets[preset]['fps']['max'] if args.fps_max == None else args.fps_max,
|
209
|
+
'power': self.compression_presets[preset]['fps']['power'] if args.fps_power == None else args.fps_power,
|
206
210
|
},
|
207
211
|
'res': {
|
208
212
|
'w': {
|
@@ -212,15 +216,18 @@ class CLI:
|
|
212
216
|
'h': {
|
213
217
|
'min': self.compression_presets[preset]['res']['h']['min'] if args.res_h_min == None else args.res_h_min,
|
214
218
|
'max': self.compression_presets[preset]['res']['h']['max'] if args.res_h_max == None else args.res_h_max
|
215
|
-
}
|
219
|
+
},
|
220
|
+
'power': self.compression_presets[preset]['res']['power'] if args.res_power == None else args.res_power,
|
216
221
|
},
|
217
222
|
'quality': {
|
218
223
|
'min': self.compression_presets[preset]['quality']['min'] if args.quality_min == None else args.quality_min,
|
219
|
-
'max': self.compression_presets[preset]['quality']['max'] if args.quality_max == None else args.quality_max
|
224
|
+
'max': self.compression_presets[preset]['quality']['max'] if args.quality_max == None else args.quality_max,
|
225
|
+
'power': self.compression_presets[preset]['quality']['power'] if args.quality_power == None else args.quality_power,
|
220
226
|
},
|
221
227
|
'color': {
|
222
228
|
'min': self.compression_presets[preset]['color']['min'] if args.color_min == None else args.color_min,
|
223
|
-
'max': self.compression_presets[preset]['color']['max'] if args.color_max == None else args.color_max
|
229
|
+
'max': self.compression_presets[preset]['color']['max'] if args.color_max == None else args.color_max,
|
230
|
+
'power': self.compression_presets[preset]['color']['power'] if args.color_power == None else args.color_power,
|
224
231
|
},
|
225
232
|
'duration': {
|
226
233
|
'min': self.compression_presets[preset]['duration']['min'] if args.duration_min == None else args.duration_min,
|
@@ -229,8 +236,9 @@ class CLI:
|
|
229
236
|
'steps': self.compression_presets[preset]['steps'] if args.steps == None else args.steps,
|
230
237
|
'fake_vid': self.compression_presets[preset]['fake_vid'] if args.fake_vid == None else args.fake_vid,
|
231
238
|
'cache_dir': args.cache_dir,
|
232
|
-
'scale_filter': args.scale_filter,
|
233
|
-
'
|
239
|
+
'scale_filter': self.compression_presets[preset]['scale_filter'] if args.scale_filter == None else args.scale_filter,
|
240
|
+
'quantize_method': self.compression_presets[preset]['quantize_method'] if args.quantize_method == None else args.quantize_method,
|
241
|
+
'default_emoji': self.compression_presets[preset]['default_emoji'] if args.default_emoji == None else args.default_emoji,
|
234
242
|
'no_compress': args.no_compress,
|
235
243
|
'processes': args.processes if args.processes else math.ceil(cpu_count() / 2)
|
236
244
|
}
|