{"id":19467908,"url":"https://github.com/secret-guest/tiny-scripts","last_synced_at":"2025-04-15T04:58:33.352Z","repository":{"id":65084875,"uuid":"580702546","full_name":"SECRET-GUEST/tiny-scripts","owner":"SECRET-GUEST","description":"Short scripts","archived":false,"fork":false,"pushed_at":"2025-02-27T13:40:33.000Z","size":2629,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"ALL","last_synced_at":"2025-04-15T04:58:15.875Z","etag":null,"topics":["background","brute-force","bruteforce","gif","handler","javascript","key","keylogger","password","pentesting","python","recorder","remover","screen","server","webbrowser","webpack","windows","wordlist","youtube"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SECRET-GUEST.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-21T08:24:32.000Z","updated_at":"2025-02-27T13:40:37.000Z","dependencies_parsed_at":"2023-02-17T07:15:51.648Z","dependency_job_id":"c7049bee-4a2a-4da8-be13-85ac6f35d8e2","html_url":"https://github.com/SECRET-GUEST/tiny-scripts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SECRET-GUEST%2Ftiny-scripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SECRET-GUEST%2Ftiny-scripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SECRET-GUEST%2Ftiny-scripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SECRET-GUEST%2Ftiny-scripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SECRET-GUEST","download_url":"https://codeload.github.com/SECRET-GUEST/tiny-scripts/tar.gz/refs/heads/ALL","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249010212,"owners_count":21197797,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["background","brute-force","bruteforce","gif","handler","javascript","key","keylogger","password","pentesting","python","recorder","remover","screen","server","webbrowser","webpack","windows","wordlist","youtube"],"created_at":"2024-11-10T18:37:37.549Z","updated_at":"2025-04-15T04:58:33.333Z","avatar_url":"https://github.com/SECRET-GUEST.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"```\n\n████████╗██╗███╗   ██╗██╗   ██╗    ███████╗ ██████╗██████╗ ██╗██████╗ ████████╗███████╗\n╚══██╔══╝██║████╗  ██║╚██╗ ██╔╝    ██╔════╝██╔════╝██╔══██╗██║██╔══██╗╚══██╔══╝██╔════╝\n   ██║   ██║██╔██╗ ██║ ╚████╔╝     ███████╗██║     ██████╔╝██║██████╔╝   ██║   ███████╗\n   ██║   ██║██║╚██╗██║  ╚██╔╝      ╚════██║██║     ██╔══██╗██║██╔═══╝    ██║   ╚════██║\n   ██║   ██║██║ ╚████║   ██║       ███████║╚██████╗██║  ██║██║██║        ██║   ███████║\n   ╚═╝   ╚═╝╚═╝  ╚═══╝   ╚═╝       ╚══════╝ ╚═════╝╚═╝  ╚═╝╚═╝╚═╝        ╚═╝   ╚══════╝\n                                                                                       \n```\n![C](https://img.shields.io/badge/C-grey)\n![C++](https://img.shields.io/badge/C++-pink)\n![PYTHON](https://img.shields.io/badge/Python-3.1+-blue)\n![TYPESCRIPT](https://img.shields.io/badge/TYPESCRIPT-blue)\n![Javascript](https://img.shields.io/badge/JAVASCRIPT-yellow)\n![Batch Script](https://img.shields.io/badge/script-batch-DDFF00)\n![Bash Script](https://img.shields.io/badge/script-bash-green)\n\nHere are multiple random useful scripts for able to be integrated in other script or be used as it is.\nIn the different folder I will insert some informations relative to the use of these scripts.\n\nIf you don't find a script you've downloaded here in the past, there is great chances that it has is own repository in my main page.\n\n# :scroll: License\n\nThis repository is released under the [MIT License](LICENSE). Please see the `LICENSE` file for more information.\n\n# :question: Support \u0026 Questions\n\nIf you have any questions or need support, please feel free to open an issue or join my twitter.\n\n\n# :gem: Recommendations  \n\nDiscover more mini scripts for 3D artists user-friendly: \n- [Animation](https://github.com/SECRET-GUEST/animation)\n\n(French) Tutorials and scripts to configure servers / install OS from 0, I recommends noobs to start from Ubuntu tutorial , or learn bash script first for other branches.\n- [linux tutorials](https://github.com/SECRET-GUEST/LINUX/tree/main) \n\n\n# That's all you have to know.\n\nThe following note is in **french** it's a part of a bigger memory helper for ffmpeg, all and nothing ,...\n\nI'm dropping this here to save it / if someones needs\n👇 👇 👇\n\n\n```  \n          _____                    _____                    _____                    _____          \n         /\\    \\                  /\\    \\                  /\\    \\                  /\\    \\         \n        /::\\____\\                /::\\    \\                /::\\    \\                /::\\____\\        \n       /:::/    /               /::::\\    \\              /::::\\    \\              /:::/    /        \n      /:::/   _/___            /::::::\\    \\            /::::::\\    \\            /:::/    /         \n     /:::/   /\\    \\          /:::/\\:::\\    \\          /:::/\\:::\\    \\          /:::/    /          \n    /:::/   /::\\____\\        /:::/__\\:::\\    \\        /:::/__\\:::\\    \\        /:::/____/           \n   /:::/   /:::/    /       /::::\\   \\:::\\    \\       \\:::\\   \\:::\\    \\      /::::\\    \\           \n  /:::/   /:::/   _/___    /::::::\\   \\:::\\    \\    ___\\:::\\   \\:::\\    \\    /::::::\\    \\   _____  \n /:::/___/:::/   /\\    \\  /:::/\\:::\\   \\:::\\    \\  /\\   \\:::\\   \\:::\\    \\  /:::/\\:::\\    \\ /\\    \\ \n|:::|   /:::/   /::\\____\\/:::/__\\:::\\   \\:::\\____\\/::\\   \\:::\\   \\:::\\____\\/:::/  \\:::\\    /::\\____\\\n|:::|__/:::/   /:::/    /\\:::\\   \\:::\\   \\::/    /\\:::\\   \\:::\\   \\::/    /\\::/    \\:::\\  /:::/    /\n \\:::\\/:::/   /:::/    /  \\:::\\   \\:::\\   \\/____/  \\:::\\   \\:::\\   \\/____/  \\/____/ \\:::\\/:::/    / \n  \\::::::/   /:::/    /    \\:::\\   \\:::\\    \\       \\:::\\   \\:::\\    \\               \\::::::/    /  \n   \\::::/___/:::/    /      \\:::\\   \\:::\\____\\       \\:::\\   \\:::\\____\\               \\::::/    /   \n    \\:::\\__/:::/    /        \\:::\\   \\::/    /        \\:::\\  /:::/    /               /:::/    /    \n     \\::::::::/    /          \\:::\\   \\/____/          \\:::\\/:::/    /               /:::/    /     \n      \\::::::/    /            \\:::\\    \\               \\::::::/    /               /:::/    /      \n       \\::::/    /              \\:::\\____\\               \\::::/    /               /:::/    /       \n        \\::/    /                \\::/    /                \\::/    /                \\::/    /        \n         \\/____/                  \\/____/                  \\/____/                  \\/____/     \n```                                                                                                    \n\t\t\t\t\t\t\t\t\t\t\t\t    \n└--\u003e CREATIONS :\nhttps://www.youtube.com/channel/UCffuj1MEaD6Ga5beTRa525A\n\n└--\u003e STREAMING : \nhttps://www.twitch.tv/9secret9guest9\n\n└--\u003e PROGRAMMES :\nhttps://sourceforge.net/u/secret-guest/profile\n\n\n\n## La note qui va suivre fait parti d'un aide-mémoire concernant principalement la création multimedia\n\nUn logiciel regroupant ces commandes au travers d'une interface visuelle devrait voir le jour sous peu, quand j'aurai le temps de taffer dessus.\n\n```\n                                                                 \n\n ██████╗██████╗ ███████╗ █████╗ ████████╗██╗ ██████╗ ███╗   ██╗\n██╔════╝██╔══██╗██╔════╝██╔══██╗╚══██╔══╝██║██╔═══██╗████╗  ██║\n██║     ██████╔╝█████╗  ███████║   ██║   ██║██║   ██║██╔██╗ ██║\n██║     ██╔══██╗██╔══╝  ██╔══██║   ██║   ██║██║   ██║██║╚██╗██║\n╚██████╗██║  ██║███████╗██║  ██║   ██║   ██║╚██████╔╝██║ ╚████║\n ╚═════╝╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝   ╚═╝   ╚═╝ ╚═════╝ ╚═╝  ╚═══╝\n                                                                                             \n\n         -------------------------------------------\n         |                                         |\n         | CETTE NOTE COMPORTENT PLUSIEURS LIGNES  | \n         |                                         |\n         | DE COMMANDES UTILES ET PRATIQUES A      |\n         |                                         |  \n         |L'UTILISATION DE FRAMEWORK TELS QU'FFMPEG|\n         |                                         |\n         | ( https://ffmpeg.org/download.html )    |\n         |                                         |\n         | IL FAUT SAVOIR QU'FFMPEG EST            |\n         |                                         |\n         |REGULIEREMENT MIS A JOUR, DONC CERTAINES |\n         |                                         |\n         | COMMANDES PEUVENT NE PLUS FONCTIONNER   |\n         |                                         |\n         |                                         |\n         -------------------------------------------\n\n\n                                                                       \n                  Pourquoi utiliser FFMPEG ?\n\n         └--\u003e Rendu ultra rapides, 0 perte de qualité.\n\n\n\n\n██       ██ ██████       █████  ██ \n██      ██       ██     ██   ██ ██ \n██     ██    █████      ███████ ██ \n██      ██       ██     ██   ██ ██ \n██       ██ ██████      ██   ██ ██ \n                                   \n                                   \nDes exemples de prompt pour des models de stable diffusion : https://publicprompts.art/\n\n\n---------------------- PROMPT EXAMPLE ----------------------\n\n((best quality)), ((masterpiece)), ((realistic)), (detailed), ((masterpiece)), absurdres, HDR, 4k, 8k\n\nNegative prompt: (deformed iris, deformed pupils, bad eyes, semi-realistic:1.4) (bad-image-v2-39000, bad_prompt_version2, bad-hands-5, EasyNegative, NG_DeepNegative_V1_4T, bad-artist-anime:0.7),\n(worst quality, low quality:1.3), (depth of field, blurry:1.2), (greyscale, monochrome:1.1), nose, cropped, lowres, text, jpeg artifacts, signature, watermark, username, blurry, artist name, trademark,\nwatermark, title, multiple view, Reference sheet, long neck\n\n() = 10% d'importance\n(()) = 20% d'importance\n...\n1:4 = importance de 40% du mot\n\n---------------------- Control net settings img2img ----------------------\n\n1. resize \u0026 fill \n2. dpm karas 2s \n3. denoising max \n4. enable\n5. inpaint\n6. preprocessor : inpaint_only+lama\n7. Controlnet is more important \n\n\n---------------------- MicroWorlds (DreamBooth model) ----------------------\n\nbaalbek temple of jupiter, in microworld render style\n\nTrigger phrase: “microworld render style“\n\n\n---------------------- App Icons Generator V1 (DreamBooth Model) ----------------------\n\n\nflat couch vector, minimalist, in style of SKSKS app icon\n\nTrigger phrase: “SKSKS app icon“\n\nOu avec n'importe quel model : \nTiny cute isometric LE TEXTE, soft smooth lighting, with soft colors, 100mm lens, 3d blender render, trending on polycount, modular constructivism, blue background, physically based rendering, centered\n\n\n---------------------- All in one Pixel Art (DreamBooth Model) ----------------------\n\nGodzilla, full body game asset, in pixelsprite style\n\nTrigger phrases: “pixelsprite” \u0026 “16bitscene“\n\n\n\n██      ███████ ███████      ██████  ██████  ███    ██ ██    ██ ███████ ██████  ███████ ██  ██████  ███    ██ ███████ \n██      ██      ██          ██      ██    ██ ████   ██ ██    ██ ██      ██   ██ ██      ██ ██    ██ ████   ██ ██      \n██      █████   ███████     ██      ██    ██ ██ ██  ██ ██    ██ █████   ██████  ███████ ██ ██    ██ ██ ██  ██ ███████ \n██      ██           ██     ██      ██    ██ ██  ██ ██  ██  ██  ██      ██   ██      ██ ██ ██    ██ ██  ██ ██      ██ \n███████ ███████ ███████      ██████  ██████  ██   ████   ████   ███████ ██   ██ ███████ ██  ██████  ██   ████ ███████ \n                                                                                                                      \n\n\n\n----------------------PYTHON TO EXE----------------------\n\nAvant toute chose, voici comment convertir un fichier python en executable avec pyinstaller : \n\nDeja on installe pyinstaller avec : \n\npip install pyinstaller\n\n\nPuis on lance cette commande dans le CMD :\n\npyinstaller --icon=\"\" --add-data \"G:\\M\" --noconsole Trie.py\n\npar exemple :pyinstaller --onefile --icon=\".../tireur.ico\" --add-data \".../Beta 5/ico;ico\" --noconsole test.py\n\nExplications :\n\n--onefile : crée un exécutable unique qui inclut toutes les dépendances.\n--icon=icone.ico : spécifie l'icône à utiliser pour l'exécutable (remplacez icone.ico par le chemin de votre fichier d'icône).\n--add-data \"chemin/vers/fichier;nom_du_dossier\" : ajoute des fichiers externes nécessaires au programme. Le chemin vers le fichier et le nom du dossier dans lequel le fichier sera extrait doivent être séparés par un point-virgule (;). Vous pouvez ajouter plusieurs fichiers en les séparant par des points-virgules.\nscript.py : spécifie le nom de votre script Python.\n--noconsole : masque la console lors de l'exécution de l'exécutable.\nAssurez-vous de remplacer les parties en italique par les noms de vos fichiers et dossiers. Notez également que le chemin doit être spécifié en fonction du système d'exploitation sur lequel vous travaillez.\n\nAprès avoir exécuté cette commande, vous devriez avoir un exécutable unique qui inclut toutes les dépendances, des fichiers externes et une icône personnalisée, et qui ne montre pas la console lors de l'exécution.\n\n\n\n\n\n----------------------CONVERTIR PNG EN SVG AVEC POTRACE----------------------\n\nCette méthode est a approfondir et ne fonctionne pas avec toute les images :\n\nhttps://www.youtube.com/watch?v=-Fs2t6P5AjY\n\nC'est simple les png sont au format bitmap (raster graphics) et ne sont pas interchangeable avec le format vectorielle.\nLa seule méthode qui fonctionne a peu pret est d'utiliser potrace mais ca peut créer un glitch qui ne rendra pas comme vous voulez\npar conséquent le mieux est de vectoriser sous illustrator et de supprimer le fond blanc puisque pour une image vectorielle un fond transparent \nest un fond qui n'a pas de couleur, mais voici quand meme la méthode :\n\n└--\u003e Télécharger potrace (ici par exemple : http://potrace.sourceforge.net/ )\n\nUne fois recus extraire simplement le fichier la ou windows lis les programmes, sur le bureau par exemple.\nEnsuite il faut ouvrir le cmd et indiquer le chemin du programme, par exemple pour le bureau de l'utilisateur jean-anarchie :\n\n\nPATH=%PATH%;Z:\\Users\\jean-anarchie\\Desktop\\potrace-1.16.win64\n\n\n└--\u003e Ensuite convertissez d'abord en pnm votre png car potrace ne reconnait pas les png ; \n\nconvert discord.png discord.pnm\n\nVous pouuvez utiliser convertio aussi :\nhttps://convertio.co/\n\n\n└--\u003e Puis pnm en svg\n\npotrace discord.pnm -s -o discord.svg \n\n\n└--\u003e Explications :\n\npotrace -s =\u003e Output file est SVG\npotrace -o file.svg =\u003e Ecrivez l' output en file.svg\n\n\n----------------------CREER UN GIF A PARTIR D'UNE SEQUENCE D'IMAGES ----------------------\n\nffmpeg -i pic%04d.png -vf \"fps=15,scale=800:-1:flags=lanczos\" -c:v gif 0.gif\n\n\nDescription ;\n-i 3D_wire_%05d.png: Utilise les fichiers image avec le format de nom \"3D_wire_00000.png\" comme entrée. \n\n- %05d signifie un nombre à 5 chiffres, rempli de zéros si nécessaire.\n\n-vf \"fps=10,scale=320:-1:flags=lanczos\": Applique un filtre vidéo pour définir le nombre d'images par seconde (FPS) à 10, redimensionne l'image avec une largeur de 320 pixels en conservant le rapport d'aspect, et utilise l'algorithme de mise à l'échelle Lanczos pour une meilleure qualité.\n\n-c:v gif: Utilise le codec vidéo GIF pour la sortie.\n\n0.gif: Nom du fichier GIF de sortie.\n                                                                                                                      \n----------------------CONVERTIR UNE VIDEO AVI EN MP4----------------------\n\nffmpeg -i 1.avi -qscale 0 1.mp4\n\n└--\u003e qscale 0 = conserver la qualité\n└--\u003e Marche pour tout format de video (normalement) juste remplacer avi par mkv ou j'sais pas quoi\n\n\n----------------------CONVERTIR UN RAW EN JPG----------------------\n\nffmpeg -y -video_size 1920x1080 -pix_fmt rgb24 -i my_image.raw -pix_fmt yuvj444p my_image.jpeg\n\n\n\n----------------------CONVERTIR PLEINS DE FICHIER AVEC BAT----------------------\n\nfor i in *.avi; do ffmpeg -i \"$i\" \"${i%.*}.mp4\"; done\n\n----------------------CONVERTIR UN TEXTE EN GIF----------------------\n\nffmpeg -i 0.txt 1.gif\n\n----------------------CONVERTIR UNE VIDEO MP4 EN GIF----------------------\n\nffmpeg -i TEST.mp4 TEST.gif\n\n\n└--\u003e Et inversement (gif en mp4) :\n\nffmpeg -i 1.mp4 1.wav\n\n----------------------CONVERTIR DES SONS----------------------\n\n└--\u003e WAV EN MP3\n\nffmpeg -i 2.wav -acodec libmp3lame 2.mp3\n\n└--\u003e OGG EN MP3\n\nffmpeg -i audio.ogg -acodec libmp3lame audio.mp3\n\n└--\u003e AC3 EN MP3\n\nffmpeg -i audio.ac3 -acodec libmp3lame audio.mp3\n\n└--\u003e AAC EN MP3\n\nffmpeg -i audio.aac -acodec libmp3lame audio.mp3\n\n\n. . . \n\n\n\n└--\u003e FFMPEG NE PEUT CONVERTIR EN UN AUTRE FORMAT QUE MP3 OU WAV (oubliez donc le format midi)\n\n\n---------------------- VIDEO EN MP3 ----------------------\n\nffmpeg -i 1.mp4 -vn -ar 44100 -ac 2 -ab 320k -f wav 1.mp3\n\n\n---------------------- EXTRAIRES LES IMAGES D'UNE VIDEO ----------------------\n\nffmpeg -i 1.mp4 pic%04d.png \n\n(Le framework va exporter toute les frames composant la video dans le dossier la contenant)\n\n\nPour un GIF :\n\nffmpeg -i input.gif output%04d.png\n\n\n---------------------- SEQUENCE D'IMAGE EN VIDEO ----------------------\n\nffmpeg -r 30 -f image2 -s 1920x1080 -i pic%04d.png -vcodec libx264 -crf 0 -qscale 0 -pix_fmt yuv420p SBUSCRIBE.mp4\n\n└--\u003e Prend la liste d'images presente dans le dossier au nom de pic... (pic0001.png, pic0002.png…. etc)\n└--\u003e -r pour modifier le nombre d'images par seconde\n└--\u003e -crf pour modifier la qualité (15 - 25 = bon )\n└--\u003e -s pour la résolution\n└--\u003e -pix_fmt yuv420p le format des pixels\n└--\u003e On peut également ajouter -stream_loop 3600 au début de la commande \n     pour créer une boucle 3600x (mais c'est plus 20x rapide de le faire en 2x)\n       \nPour + : \nhttps://hamelot.io/visualization/using-ffmpeg-to-convert-a-set-of-images-into-a-video/\n\n---------------------- IMAGE EN VIDEO ----------------------\n\nPour une seule image : \n\nffmpeg -r 1/5 -i 1.png -c:v libx264 -vf fps=25 -pix_fmt yuv420p 1.mp4\n\n\n---------------------- INVERSER ----------------------\n\nPour inverser le sens d'une video : \nffmpeg -i 0.mp4 -vf \"reverse\" 01.mp4\n\nPour inverser la video + l'audio : \nffmpeg -i input.mp4 -vf \"reverse\" -af \"areverse\" output.mp4\n\n\n██████  ███████ ██████  ██    ██ ██ ██████  ███████     ██       █████      ████████  █████  ██ ██      ██      ███████ \n██   ██ ██      ██   ██ ██    ██ ██ ██   ██ ██          ██      ██   ██        ██    ██   ██ ██ ██      ██      ██      \n██████  █████   ██   ██ ██    ██ ██ ██████  █████       ██      ███████        ██    ███████ ██ ██      ██      █████   \n██   ██ ██      ██   ██ ██    ██ ██ ██   ██ ██          ██      ██   ██        ██    ██   ██ ██ ██      ██      ██      \n██   ██ ███████ ██████   ██████  ██ ██   ██ ███████     ███████ ██   ██        ██    ██   ██ ██ ███████ ███████ ███████ \n                                                                                                                        \n                                                                                                                        \n\n---------------------- VIDEO ---------------------- \n\nffmpeg -i 0.gif -ss 00:00:04 -codec copy -q:v 0 -t 5 01.gif\n\n---------------------- AUDIO ----------------------\n\nffmpeg -i 1.mp3 -ss 00:00:00 -to 00:00:03 -c copy  -q:a 0 1.wav\n\n\n(Pour les 2 commandes la premiere valeur temporelle équivaut à l'heure choisie du début de la video, la seconde à la fin voulu)\n\n\n\n\n\n███████ ███    ██ ██      ███████ ██    ██ ███████ ██████      ███████  ██████  ███    ██ ██████      ██    ██ ███████ ██████  ████████ \n██      ████   ██ ██      ██      ██    ██ ██      ██   ██     ██      ██    ██ ████   ██ ██   ██     ██    ██ ██      ██   ██    ██    \n█████   ██ ██  ██ ██      █████   ██    ██ █████   ██████      █████   ██    ██ ██ ██  ██ ██   ██     ██    ██ █████   ██████     ██    \n██      ██  ██ ██ ██      ██       ██  ██  ██      ██   ██     ██      ██    ██ ██  ██ ██ ██   ██      ██  ██  ██      ██   ██    ██    \n███████ ██   ████ ███████ ███████   ████   ███████ ██   ██     ██       ██████  ██   ████ ██████        ████   ███████ ██   ██    ██    \n                                                                                                                                        \n \n---------------------- SUPPRIMER LE FOND VERT ----------------------\n\nffmpeg -i 1.mp4 -filter_complex \"[0:v]chromakey=0x00D800:0.15:0.1[ckout];[ckout]despill=green[out]\" -map \"[out]\" -c:v prores -pix_fmt yuva444p10le 1.mkv -y\n\n\n  └--\u003e Remplacez ...akey=0x00D800 par la valeur hexadecimale du fond que vous voulez retirer\n\nhttps://www.w3schools.com/colors/colors_converter.asp\n\nhttps://coolconversion.com/math/binary-octal-hexa-decimal/Convert_decimal_number_216_in_hexadecimal_\n\n\n\n---------------------- REMPLACER LE FOND DE LA VIDEO PAR UNE IMAGE ----------------------\n\nffmpeg -i 1.mkv -loop 1 -i 1.jpg -t 24 -filter_complex \"[1:v][0:v]overlay[out]\" -map \"[out]\" final.mp4 -y\n\n\n\n\n\n██████   █████  ████████  █████  ███    ███  ██████  ███████ ██   ██ ██ ███    ██  ██████  \n██   ██ ██   ██    ██    ██   ██ ████  ████ ██    ██ ██      ██   ██ ██ ████   ██ ██       \n██   ██ ███████    ██    ███████ ██ ████ ██ ██    ██ ███████ ███████ ██ ██ ██  ██ ██   ███ \n██   ██ ██   ██    ██    ██   ██ ██  ██  ██ ██    ██      ██ ██   ██ ██ ██  ██ ██ ██    ██ \n██████  ██   ██    ██    ██   ██ ██      ██  ██████  ███████ ██   ██ ██ ██   ████  ██████  \n                                                                                           \n\n\n\nLe tuto fonctionne pour windows avec les commandes mkdir (creation de dossier) ou cd ( aller au dossier ), il faudra donc les remplacer pour mac.\n\n____ ____ ____ ____ _  _ ___  _    ____ ____ ____    ___  ____ ____    _  _ _ ___  ____ ____ ____ \n|__| [__  [__  |___ |\\/| |__] |    |__| | __ |___    |  \\ |___ [__     |  | | |  \\ |___ |  | [__  \n|  | ___] ___] |___ |  | |__] |___ |  | |__] |___    |__/ |___ ___]     \\/  | |__/ |___ |__| ___] \n                                                                                                  \n\n\nIl vaut mieux apres cela séparer l'audio de la video et le conserver a part pour le remettre à la fin.\n\n\n____ ____ _  _ _  _ ____ ____ ___ _ ____    ____ _  _    _    _ ___  _  _ _  _ _ ___  \n|    |  | |\\ | |  | |___ |__/  |  | |__/    |___ |\\ |    |    | |__]  \\/  |  | | |  \\ \n|___ |__| | \\|  \\/  |___ |  \\  |  | |  \\    |___ | \\|    |___ | |__] _/\\_  \\/  | |__/ \n                                                                                     \n\n  └--\u003e Il faudra convertir en libxvid pour générer les i-frames :\n\nffmpeg -i original_video.mp4 -vcodec libxvid -q:v 1 -g 1000 -qmin 1 -qmax 1 -flags qpel+mv4 -an -y xvid_video.avi\n\n  └--\u003e ou si vous voulez l'interpoler et le mettre à l'échelle :\n\nffmpeg -i original_video.mp4  -vf minterpolate=fps=60:mi_mode=mci,scale=3*iw:3*ih -vcodec libxvid -q:v 1 -g 1000 -qmin 1 -qmax 1 -flags qpel+mv4 -an -y xvid_video.avi\n\nL'audio est supprimé, et les I-frames seront générée entre chaques scenes comme pour la méthode avidemux 2.5.6\n\n\n____ ____ ____ ____ ___ _ ____ _  _    ___  ____ ____    ___  ____ ____ ____ _ ____ ____ ____ \n|    |__/ |___ |__|  |  | |  | |\\ |    |  \\ |___ [__     |  \\ |  | [__  [__  | |___ |__/ [__  \n|___ |  \\ |___ |  |  |  | |__| | \\|    |__/ |___ ___]    |__/ |__| ___] ___] | |___ |  \\ ___] \n                                                                                              \n\nIl vaudrait mieux créer des dossiers frames et sous dossier sauvegardes (save) pour la suite :\n\nmkdir frames\n\nmkdir frames\\save\n\n\n____ _  _ ___ ____ ____ _ ____ ____    _ _  _ ____ ____ ____ ____    ___  ____ _  _ ___ ____ ____ \n|___  \\/   |  |__/ |__| | |__/ |___    | |\\/| |__| | __ |___ [__     |__] |__/ |  |  |  |___ [__  \n|___ _/\\_  |  |  \\ |  | | |  \\ |___    | |  | |  | |__] |___ ___]    |__] |  \\ |__|  |  |___ ___] \n    \n\nMeme methode que pour FFGLITCH, il vous faudra extraire les images raw (brutes)\n\nffmpeg -i xvid_video.avi -vcodec copy -start_number 0 frames\\f_%04d.raw\n\n\nIl y a maintenant 2 manieres de trouver les I-frames :\n\n____ _  _ ___ ____ ____ _ ____ ____    _    ____ ____    _ _  _ ____ ____ ____ ____ \n|___  \\/   |  |__/ |__| | |__/ |___    |    |___ [__     | |\\/| |__| | __ |___ [__  \n|___ _/\\_  |  |  \\ |  | | |  \\ |___    |___ |___ ___]    | |  | |  | |__] |___ ___] \n                                                                       \n\n  └--\u003e Premiere methode : manuellement.\n\nExtraire vers un autre dossier \"images\"\n\nmkdir images\n\nffmpeg -i xvid_video.avi -start_number 0 images\\i_%04d.jpg\n\nVous pouvez repérer les i-frames qui devraient être la première image de chaque nouvelles scènes.\n\n\n  └--\u003e Deuxieme methode : basée sur la réponse du superutilisateur / automatiquement.\n\nffmpeg -i xvid_video.avi -vf select='eq(pict_type,PICT_TYPE_I)' -vsync 2 -f image2 -start_number 0 i_%04d.jpg -loglevel debug -hide_banner 2\u003e\u00261|for /f \"tokens=5 delims=:. \" %d in ('findstr \"pict_type:I\"') do @echo %d\n\nCela créera uniquement les images des i-frames qui devraient être la première image de chaque nouvelles scènes, \npuis répertorier leur numéros d'images.\n\n\n-----------------------------------------------------------------\n\n  └--\u003e Vous pouvez retourner maintenant au dossier frames:\n\ncd frames\n\n  └--\u003e ou pour revenir dans dossier precedent ;\n\ncd ..\n\nsi vous etiez dans un sous dossier du dossier frame\n\n\n____ _  _ ___  ___  ____ _ _  _ ____ ____    _    ____ ____    _    ____ ____ ____ _  _ ____ ____    \n[__  |  | |__] |__] |__/ | |\\/| |___ |__/    |    |___ [__     | __ |___ |__/ |__| |\\/| |___ [__     \n___] |__| |    |    |  \\ | |  | |___ |  \\    |___ |___ ___]    |    |    |  \\ |  | |  | |___ ___]    \n      \n\n\n  └--\u003e Ne pas supprimer la premiere i-frames.\n\nPour chaque suppression, preferez plutot leur déplacement dans le dossier sauvegarde au cas ou vous voudriez les recup.\n\n  └--\u003e Exemple pour la frame 0153 : \n\nmove f_0153.raw save\n\nSi vous souhaitez conserver le nombre d'images afin qu'il se synchronise avec l'audio plus tard ;\nvous devez dupliquer les frames depuis la frame suivante celles que vous supprimez :\n\ncopy f_1054.raw f_0153.raw\n\n\n  └--\u003e Continuez la meme manip pour chaque fois que vous voulez faire votre datamoshing \n\n\n____ ____ ____ ____ ____    _  _ _ ___  ____ ____    ____    ___  ____ ____ ___ _ ____    ___  . _ _  _ ____ ____ ____ ____ \n|    |__/ |___ |___ |__/    |  | | |  \\ |___ |  |    |__|    |__] |__| |__/  |  | |__/    |  \\ ' | |\\/| |__| | __ |___ [__  \n|___ |  \\ |___ |___ |  \\     \\/  | |__/ |___ |__|    |  |    |    |  | |  \\  |  | |  \\    |__/   | |  | |  | |__] |___ ___] \n     \n\n\nCombinez les images brutes dans un fichier vidéo (copie binaire), \nen commençant par un fichier de zéro octet (NUL) (utilisez dir dans l'ordre trié, plutôt que *.raw) :\n\ncopy NUL /b  final.avi \n\nfor /f %i in ('dir /on/b *.raw') do copy /b final.avi+%i final.avi\n\n\n____ _ _  _ _ ___ _ ____ _  _ ____ \n|___ | |\\ | |  |  | |  | |\\ | [__  \n|    | | \\| |  |  | |__| | \\| ___] \n   \n\nJouer la video pour voir si c'est bon, cependant, il est préférable de la convertir dans un format plus lisible,\nde la redimensionner si vous l'avez agrandie et de rajouter tout audio avec lequel vous avez commencé.\n\nffmpeg -i final.avi -i ..\\original_video.mp4 -vf scale=1280:-2 -map 0:v:0 -map 1:a:0 -vcodec h264 final.mp4\n\n\n  └--\u003e Sources : \n\nhttps://www.reddit.com/r/datamoshing/comments/t46x3i/datamoshing_with_ffmpeg_howto_in_comments/hywkk1q/?utm_source=reddit\u0026utm_medium=web2x\u0026context=3\n\n\n\n\n █████  ███████ ███████ ███████ ███    ███ ██████  ██       █████   ██████  ███████     ██████  ███████ ███████     ███    ███ ███████ ██████  ██  █████  ███████ \n██   ██ ██      ██      ██      ████  ████ ██   ██ ██      ██   ██ ██       ██          ██   ██ ██      ██          ████  ████ ██      ██   ██ ██ ██   ██ ██      \n███████ ███████ ███████ █████   ██ ████ ██ ██████  ██      ███████ ██   ███ █████       ██   ██ █████   ███████     ██ ████ ██ █████   ██   ██ ██ ███████ ███████ \n██   ██      ██      ██ ██      ██  ██  ██ ██   ██ ██      ██   ██ ██    ██ ██          ██   ██ ██           ██     ██  ██  ██ ██      ██   ██ ██ ██   ██      ██ \n██   ██ ███████ ███████ ███████ ██      ██ ██████  ███████ ██   ██  ██████  ███████     ██████  ███████ ███████     ██      ██ ███████ ██████  ██ ██   ██ ███████ \n                                                                                                                                                                  \n                                                                                                                                                                  \n                                                                                                                                                           \n\n____ ____ ____ ____ _  _ ___  _    ____ ____ ____    ____ _  _ ___  _ ____ \n|__| [__  [__  |___ |\\/| |__] |    |__| | __ |___    |__| |  | |  \\ | |  | \n|  | ___] ___] |___ |  | |__] |___ |  | |__] |___    |  | |__| |__/ | |__| \n\n\n\n--------------------- FUSIONNER DES SONS ENSEMBLES ---------------------\n\n└--\u003e Pour fusionner tout en gardant le son le plus long : \n\nffmpeg -i 1.mp3 -i 2.mp3 -filter_complex amix=inputs=2:duration=longest output.mp3\n\n\n└--\u003e Pour fusionner completement les sons mais garder la durée la plus courte : \n\nffmpeg -i 1.mp3 -i 2.mp3 -filter_complex \"amerge=inputs=2,pan=stereo|c0\u003cc0+c1|c1\u003cc2+c3\" output.mp3\n\n\n└--\u003e Pour je sais plus flemme de test : \n\nffmpeg -i input0.mp3 -i input1.mp3 -filter_complex amerge=inputs=2 -ac 2 output.mp3\n\nhttps://askcodez.com/comment-superposition-downmix-deux-fichiers-audio-a-laide-de-ffmpeg.html\n\n                                                                           \n\n--------------------- ASSEMBLAGE AUDIO SANS CROSSFADERS----------------------\n\n└--\u003e Pour 40 :\n\nffmpeg -i \"concat:1.mp3|2.mp3|3.mp3|4.mp3|5.mp3|6.mp3|7.mp3|8.mp3|9.mp3|10.mp3|11.mp3|12.mp3|13.mp3|14.mp3|15.mp3|16.mp3|17.mp3|18.mp3|19.mp3|20.mp3|21.mp3|22.mp3|23.mp3|24.mp3|25.mp3|26.mp3|27.mp3|28.mp3|29.mp3|30.mp3|31.mp3|32.mp3|33.mp3|34.mp3|35.mp3|36.mp3|37.mp3|38.mp3|39.mp3|40.mp3\" -acodec copy test.wav\n\n└--\u003e pour 26 :\n\nffmpeg -i \"concat:1.mp3|2.mp3|3.mp3|4.mp3|5.mp3|6.mp3|7.mp3|8.mp3|9.mp3|10.mp3|11.mp3|12.mp3|13.mp3|14.mp3|15.mp3|16.mp3|17.mp3|18.mp3|19.mp3|20.mp3|21.mp3|22.mp3|23.mp3|24.mp3|25.mp3|26.mp3\" -acodec copy test.wav\n\n└--\u003e Pour 2 : \n\nffmpeg -i \"concat:1.mp3|2.mp3\" -acodec copy 1.wav\n\n----------------------ASSEMBLAGE AUDIO (40) AVEC CROSSFADER (10s)  :----------------------\n\nffmpeg -i 1.mp3 -i 2.mp3 -i 3.mp3 -i 4.mp3 -i 5.mp3 -i 6.mp3 -i 7.mp3 -i 8.mp3 -i 9.mp3 -i 10.mp3 -i 11.mp3 -i 12.mp3 -i 13.mp3 -i 14.mp3 -i 15.mp3 -i 16.mp3 -i 17.mp3 -i 18.mp3 -i 19.mp3 -i 20.mp3 -i 21.mp3 -i 22.mp3 -i 23.mp3 -i 24.mp3 -i 25.mp3 -i 26.mp3 -i 27.mp3 -i 28.mp3 -i 29.mp3 -i 30.mp3 -i 31.mp3 -i 32.mp3 -i 33.mp3 -i 34.mp3 -i 35.mp3 -i 36.mp3 -i 37.mp3 -i 38.mp3 -i 39.mp3 -i 40.mp3 -vn -filter_complex \"[00][1]acrossfade=d=10:c1=tri:c2=tri[a01];[a01][2]acrossfade=d=10:c1=tri:c2=tri[a02];[a02][3]acrossfade=d=10:c1=tri:c2=tri[a03];[a03][4]acrossfade=d=10:c1=tri:c2=tri[a04];[a04][5]acrossfade=d=10:c1=tri:c2=tri[a05];[a05][6]acrossfade=d=10:c1=tri:c2=tri[a06];[a06][7]acrossfade=d=10:c1=tri:c2=tri[a07];[a07][8]acrossfade=d=10:c1=tri:c2=tri[a08];[a08][9]acrossfade=d=10:c1=tri:c2=tri[a09];[a09][10]acrossfade=d=10:c1=tri:c2=tri[a10];[a10][11]acrossfade=d=10:c1=tri:c2=tri[a11];[a11][12]acrossfade=d=10:c1=tri:c2=tri[a12];[a12][13]acrossfade=d=10:c1=tri:c2=tri[a13];[a13][14]acrossfade=d=10:c1=tri:c2=tri[a14];[a14][15]acrossfade=d=10:c1=tri:c2=tri[a15];[a15][16]acrossfade=d=10:c1=tri:c2=tri[a16];[a16][17]acrossfade=d=10:c1=tri:c2=tri[a17];[a17][18]acrossfade=d=10:c1=tri:c2=tri[a18];[a18][19]acrossfade=d=10:c1=tri:c2=tri[a19];[a19][20]acrossfade=d=10:c1=tri:c2=tri[a20];[a20][21]acrossfade=d=10:c1=tri:c2=tri[a21];[a21][22]acrossfade=d=10:c1=tri:c2=tri[a22];[a22][23]acrossfade=d=10:c1=tri:c2=tri[a23];[a23][24]acrossfade=d=10:c1=tri:c2=tri[a24];[a24][25]acrossfade=d=10:c1=tri:c2=tri[a25];[a25][26]acrossfade=d=10:c1=tri:c2=tri[a26];[a26][27]acrossfade=d=10:c1=tri:c2=tri[a27];[a27][28]acrossfade=d=10:c1=tri:c2=tri[a28];[a28][29]acrossfade=d=10:c1=tri:c2=tri[a29];[a29][30]acrossfade=d=10:c1=tri:c2=tri[a30];[a30][31]acrossfade=d=10:c1=tri:c2=tri[a31];[a31][32]acrossfade=d=10:c1=tri:c2=tri[a32];[a32][33]acrossfade=d=10:c1=tri:c2=tri[a33];[a33][34]acrossfade=d=10:c1=tri:c2=tri[a34];[a34][35]acrossfade=d=10:c1=tri:c2=tri[a35];[a35][36]acrossfade=d=10:c1=tri:c2=tri[a36];[a36][37]acrossfade=d=10:c1=tri:c2=tri[a37];[a37][38]acrossfade=d=10:c1=tri:c2=tri[a38];[a38][39]acrossfade=d=10:c1=tri:c2=tri\" mixtape.wav\n\n\n\n└--\u003e Pour rajouter des tracks de 1 a 10 :\n\nffmpeg -i 1.mp3 -i 2.mp3 -i 3.mp3 -i 4.mp3 -i 5.mp3 -i 6.mp3 -i 7.mp3 -i 8.mp3 -i 9.mp3 -i 10.mp3\n\n\n└--\u003e Pour rajouter des tracks de 1 a 40 :\n\nffmpeg -i 1.mp3 -i 2.mp3 -i 3.mp3 -i 4.mp3 -i 5.mp3 -i 6.mp3 -i 7.mp3 -i 8.mp3 -i 9.mp3 -i 10.mp3 -i 11.mp3 -i 12.mp3 -i 13.mp3 -i 14.mp3 -i 15.mp3 -i 16.mp3 -i 17.mp3 -i 18.mp3 -i 19.mp3 -i 20.mp3 -i 21.mp3 -i 22.mp3 -i 23.mp3 -i 24.mp3 -i 25.mp3 -i 26.mp3 -i 27.mp3 -i 28.mp3 -i 29.mp3 -i 30.mp3 -i 31.mp3 -i 32.mp3 -i 33.mp3 -i 34.mp3 -i 35.mp3 -i 36.mp3 -i 37.mp3 -i 38.mp3 -i 39.mp3 -i 40.mp3\n\n\n└--\u003e Pour rajouter les crossfade de 1 a 40 :\n\n-vn -filter_complex \"[00][1]acrossfade=d=10:c1=tri:c2=tri[a01];[a01][2]acrossfade=d=10:c1=tri:c2=tri[a02];[a02][3]acrossfade=d=10:c1=tri:c2=tri[a03];[a03][4]acrossfade=d=10:c1=tri:c2=tri[a04];[a04][5]acrossfade=d=10:c1=tri:c2=tri[a05];[a05][6]acrossfade=d=10:c1=tri:c2=tri[a06];[a06][7]acrossfade=d=10:c1=tri:c2=tri[a07];[a07][8]acrossfade=d=10:c1=tri:c2=tri[a08];[a08][9]acrossfade=d=10:c1=tri:c2=tri[a09];[a09][10]acrossfade=d=10:c1=tri:c2=tri\n\n[a10];[a10][11]acrossfade=d=10:c1=tri:c2=tri[a11];[a11][12]acrossfade=d=10:c1=tri:c2=tri[a12];[a12][13]acrossfade=d=10:c1=tri:c2=tri[a13];[a13][14]acrossfade=d=10:c1=tri:c2=tri[a14];[a14][15]acrossfade=d=10:c1=tri:c2=tri[a15];[a15][16]acrossfade=d=10:c1=tri:c2=tri[a16];[a16][17]acrossfade=d=10:c1=tri:c2=tri[a17];[a17][18]acrossfade=d=10:c1=tri:c2=tri[a18];[a18][19]acrossfade=d=10:c1=tri:c2=tri[a19];[a19][20]acrossfade=d=10:c1=tri:c2=tri\n\n[a20];[a20][21]acrossfade=d=10:c1=tri:c2=tri[a21];[a21][22]acrossfade=d=10:c1=tri:c2=tri[a22];[a22][23]acrossfade=d=10:c1=tri:c2=tri[a23];[a23][24]acrossfade=d=10:c1=tri:c2=tri[a24];[a24][25]acrossfade=d=10:c1=tri:c2=tri[a25];[a25][26]acrossfade=d=10:c1=tri:c2=tri[a26];[a26][27]acrossfade=d=10:c1=tri:c2=tri[a27];[a27][28]acrossfade=d=10:c1=tri:c2=tri[a28];[a28][29]acrossfade=d=10:c1=tri:c2=tri[a29];[a29][30]acrossfade=d=10:c1=tri:c2=tri\n\n[a30];[a30][31]acrossfade=d=10:c1=tri:c2=tri[a31];[a31][32]acrossfade=d=10:c1=tri:c2=tri[a32];[a32][33]acrossfade=d=10:c1=tri:c2=tri[a33];[a33][34]acrossfade=d=10:c1=tri:c2=tri[a34];[a34][35]acrossfade=d=10:c1=tri:c2=tri[a35];[a35][36]acrossfade=d=10:c1=tri:c2=tri[a36];[a36][37]acrossfade=d=10:c1=tri:c2=tri[a37];[a37][38]acrossfade=d=10:c1=tri:c2=tri[a38];[a38][39]acrossfade=d=10:c1=tri:c2=tri\n\n\n( Notez que l'on peut modifier la valeur du crossfader, les transitions sont basées sur 10 secondes, il suffit de modifier la valeur de 10)\n\n\n└--\u003e Pour finir :\n\n\" mixtape.wav\n\n\n\n____ ____ ____ ____ _  _ ___  _    ____ ____ ____    _  _ _ ___  ____ ____ \n|__| [__  [__  |___ |\\/| |__] |    |__| | __ |___    |  | | |  \\ |___ |  | \n|  | ___] ___] |___ |  | |__] |___ |  | |__] |___     \\/  | |__/ |___ |__| \n                                                                           \n\n\n--------------------- ASSEMBLER LES VIDEOS EN UNE SEULE ---------------------\n\n\n└--\u003e Créer un fichier texte (1.txt pour etre plus rapide)\n\n└--\u003e Inserez dans le fichier texte : \n\nfile 1.mp4\nfile 2.mp4\nfile 3.mp4\n...\n\n└--\u003e puis :\n\nffmpeg -f concat -i 1.txt -vcodec copy -acodec copy -q:v 0 final.mp4\n\nSi probleme de \" ... This may result in incorrect timestamps in the output file.\" go avec ca : \n\nle probleme vient d'un conflit d'horodatage, il faut filtrer pour que ca fonctionne mais bon ...\nN'ayant pas trouvé de solutions automatiques concrete réalisez ces étapes, au moins on est sur que ca fonctionnera : \n\n1. séparez l'audio des videos \n2. assemblez les audios ensemble\n3. extrayez les images de la premiere video \n4. assemblez les images\n5. faites ca pour toute les videos concernées\n6. assemblez audios + video \n\n\n----------------------SUPPRIMER L'AUDIO DU MP4 :----------------------\n\nffmpeg -i 1.mp4 -an -vcodec copy -q:v 0 2.mp4 \n\n\n____ ____ ____ ____ ___ _ ____ _  _    ___  ____    ___  ____ _  _ ____ _    ____  \n|    |__/ |___ |__|  |  | |  | |\\ |    |  \\ |___    |__] |  | |  | |    |    |___  \n|___ |  \\ |___ |  |  |  | |__| | \\|    |__/ |___    |__] |__| |__| |___ |___ |___  \n                                                                                                                               \n\n\nffmpeg -stream_loop 7803 -i 2.mp4 -c copy 3.mp4\n\n( il y a 3600s dans 1h )\n\n\n____ ____ ____ ____ _  _ ___  _    ____ ____ ____    ____ _  _ ___  _ ____ _  _ _ ____ _  _ ____ _    \n|__| [__  [__  |___ |\\/| |__] |    |__| | __ |___    |__| |  | |  \\ | |  | |  | | [__  |  | |___ |    \n|  | ___] ___] |___ |  | |__] |___ |  | |__] |___    |  | |__| |__/ | |__|  \\/  | ___] |__| |___ |___ \n\n                                                                                                      \n\nffmpeg -i 2.mp4 -i 1.wav -c:v copy -c:a aac -strict experimental -q:v 0 -q:a 0 FUCK.mp4\n\nou \n\nffmpeg -i 2.mp4 -i 1.wav -vcodec copy -acodec copy -q:v 0 final.mp4\n\nou\n\nffmpeg -i 1.mp4 -i 1.wav -qscale 0  finish.mp4\n\n\n\n\n\n███████  ██████  ██████  ███    ███  █████  ████████     ██████  ███████     ███████  ██████  ██████  ████████ ██ ███████ \n██      ██    ██ ██   ██ ████  ████ ██   ██    ██        ██   ██ ██          ██      ██    ██ ██   ██    ██    ██ ██      \n█████   ██    ██ ██████  ██ ████ ██ ███████    ██        ██   ██ █████       ███████ ██    ██ ██████     ██    ██ █████   \n██      ██    ██ ██   ██ ██  ██  ██ ██   ██    ██        ██   ██ ██               ██ ██    ██ ██   ██    ██    ██ ██      \n██       ██████  ██   ██ ██      ██ ██   ██    ██        ██████  ███████     ███████  ██████  ██   ██    ██    ██ ███████ \n                                                                                                                          \n                                                                                                                          \n\n\n---------------------- MODIFIER LA RESOLUTION ----------------------\n\nffmpeg -i 1.mp4 -s 1920x1920 -c:a copy output.mp4\n\n\n---------------------- COMPRESSER LE FORMAT ----------------------\n\nffmpeg -i 2.mp4 -vf scale=1280:-1 -c:v libx264 -preset veryslow -crf 24 meeting2.mp4\n\n(perdre en qualité pour le rendre plus léger)\n\n---------------------- REDUIRE LA QUALITE D'UN GIF ----------------------\n\nffmpeg -y -i 1.mp4 -r 9 -s 720x440 file.gif\n\n\n\n\n⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠠⣀⣠⣤⣤⣤⣤⣤⣄⡠⠤⠄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠤⠄⠒⠒⠒⠂⠂⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠈⠳⠤⢀⡀⠀⠀⠀⠀⠀⠀\n⠀⠀⠀⠀⠀⠀⠀⠀⣠⠊⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠈⠳⡄⠀⠀⠀⠀\n⠀⠀⠀⠀⠀⡠⠒⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠘⣄⠀⠀⠀\n⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⢄⠀\n⠀⠀⠀⢀⢖⣿⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣿⣿⡿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠀\n⠀⠀⠀⢸⡾⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢇⠀\n⠀⠀⠀⣴⣛⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢺⣿⣿⣿⣿⣿⣿⣿⢥⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡸⠀\n⠀⠀⣾⣾⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣤⠽⠿⠿⠿⠿⠿⣧⣄⡈⠛⠛⠛⣛⣛⣳⣶⣶⣦⣄⡀⠀⠀⠀⠀⡎⠀⠀\n⠀⠘⡿⣿⣿⣿⣿⣿⣦⣄⠀⠀⣀⣠⠤⠤⣤⣖⡺⢟⣩⠥⢒⡊⠭⠭⠝⢑⣒⠲⠤⢭⢖⣪⠭⠜⠓⢒⣒⠒⠒⢒⣛⢷⣄⠀⢀⡇⠀⠀\n⠀⢀⣽⣿⣿⣿⣿⣿⣿⣿⣠⠞⠉⢀⣤⣿⡭⠷⡺⠚⠉⢩⣾⣩⡿⠻⣦⡀⠀⠀⠀⠁⠲⡠⠒⠁⠀⣴⣈⡿⠷⣦⠀⠈⠈⠙⠻⣄⠀⠀\n⠀⢸⣿⣿⣿⣿⣿⡭⠟⠉⠁⠀⠀⠘⠓⠒⠲⡉⠀⠀⠀⢸⣿⣬⣷⣶⣿⡇⠀⠀⠀⠀⠈⠀⠀⠀⢸⣿⣧⣿⣶⣿⠇⠀⠀⠀⠀⣸⠀⠀\n⠀⠀⠈⠓⣿⠶⠟⠁⠀⠀⠀⠀⠀⠘⠛⠂⠀⠈⠑⠠⢀⠈⢛⣿⣿⠛⠋⣀⡀⣀⠠⠐⠂⠀⢀⣀⠀⠙⠻⠿⢿⣍⡀⠤⠤⠒⢊⡍⠀⠀\n⠀⠀⠀⡴⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢠⣄⣤⣾⣿⣷⣤⠀⠀⠀⠀⠀⠀⣀⡤⡎⠀⠀⠀\n⠀⠀⡸⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⡤⠤⠶⠦⢤⣤⣀⠀⠀⢠⣿⣿⣿⣤⣿⣿⣿⣿⣇⣀⣀⣤⢶⠛⠁⢀⡏⠀⠀⠀\n⠀⢰⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣅⡀⠐⠦⣤⣤⣀⣈⠉⠙⠻⣿⣿⣿⣿⣿⣿⣿⡿⠉⠀⢀⣀⣠⣤⠴⢻⠀⠀⠀⠀\n⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠳⠶⢤⣄⣉⠉⠛⠛⠛⠻⠻⣿⣿⣿⠿⠿⠿⠛⠛⠋⠉⠁⣀⣴⠏⠀⠀⠀⠀\n⠀⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⢦⣀⠀⠀⠀⠀⠀⠀⠈⠉⠓⠒⠦⠤⠤⠤⠤⠤⠤⠤⠤⠤⠤⠶⠒⠋⠉⡘⠀⠀⠀⠀⠀\n⢀⣧⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡇⠀⠀⠀⠀⠀\n⢸⠀⠙⠦⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡔⠑⠒⠦⢤⣄⠀⠀⠀⠀⠀⠀⠀⣀⠤⠤⠤⢤⣀⣀⣀⠴⠚⠉⠀⢸⠀⠀⠀⠀⠀\n⢸⠀⠀⠀⠈⠉⠛⠒⠦⠤⢤⣀⣀⣀⣀⣀⣀⣀⣰⠁⠀⠀⠀⠀⠈⠑⡤⠒⠒⢢⠖⣉⠀⠀⠀⠀⠀⠉⠁⠀⠀⠀⠀⠀⠈⠳⣄⠀⠀⠀\n⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠩⠇⠀⠀⠀⠧⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠈⢦⠀⠀\n⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⡀⠜⠒⠤⠀⠐⠒⠤⡀⠀⠀⠀⡰⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠱⡄\n\n\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsecret-guest%2Ftiny-scripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsecret-guest%2Ftiny-scripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsecret-guest%2Ftiny-scripts/lists"}