Brain II

Site Tools


start:knowledge:vfx:pipeline

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
start:knowledge:vfx:pipeline [2025/03/10 16:56] – [Reference Library] florianstart:knowledge:vfx:pipeline [2025/03/28 13:36] (current) – [Startup] florian
Line 31: Line 31:
  
 ==== Startup ==== ==== Startup ====
-=== Create Drives === +I'm executing 2 scripts on startup using a single InvisibleLauncher.vbs file referenced in Windows "Task Scheduler" 
-Using VisualSubst +=== 1. CreateDrives === 
-=== Open programs on correct desktop === +This is a bat script. In addition to this I'm also using VisualSubst, this makes naming the mapped drives possible 
-Put this .ps1 file in any local location on your pcnavigate to your Windows startup folder (shell:startup)right-click -> new-> shortcutand instert this into the textbox:\\ +=== 2. AppsToDesktop === 
-powershell.exe -NoProfile -ExecutionPolicy Bypass -File "C:\Users\flori\4_StartupScript_MoveToVirtualDesktop1.ps1"+This is a .ps1 scriptreferenced to a a folder called "startup" that you can put whereever you want. 
 +In this startup, put shortcuts in the folders named after the corresponding desktop where you want them to be openedlike "Desktop1" 
 +For this script I'm using the [[https://github.com/MScholtes/PSVirtualDesktop|PSVirtualDesktop]] Powershell module  
 + 
 +==== Work locally while keeping a mirror on NAS ==== 
 + 
 +Create symbolic links from your Laragon www directory to your development folders on the NASThis keeps your working environment organized while allowing Laragon to serve the sites. 
 +''mklink /D [Link] [Target]''
  
 ===== Audio ===== ===== Audio =====
Line 75: Line 82:
 Key features: Key features:
  
-  * Filters tracks to only include supported audio formats (.mp3, .flac, .wav, etc.) 
   * Skips system and auto-generated playlists   * Skips system and auto-generated playlists
   * Can skip files that already exist in the destination folder   * Can skip files that already exist in the destination folder
Line 172: Line 178:
 <color rgb(0%,69%,31%)>Example: GRP_Nora_LP</color>\\ <color rgb(0%,69%,31%)>Example: GRP_Nora_LP</color>\\
  
-===== Reference Library =====+==== Reference Library ====
 For my collection of reference images, I only use broad categories as folders, the other information I put in the name and metadata. For my collection of reference images, I only use broad categories as folders, the other information I put in the name and metadata.
  
 I'm using a combination of tools, including Advanced Renamer, digiKam, Python and a tool from GitHub called [[https://github.com/jhc13/taggui|taggui]]. I'm using a combination of tools, including Advanced Renamer, digiKam, Python and a tool from GitHub called [[https://github.com/jhc13/taggui|taggui]].
  
-== Workflow ==+=== Workflow ===
 First, I will change the name with Advanced Renamer.\\ First, I will change the name with Advanced Renamer.\\
 Using [[https://github.com/jhc13/taggui/releases|TagGUI]], I will then let the program generate captions into seperate text files, wich are named after the image they are describing.\\ Using [[https://github.com/jhc13/taggui/releases|TagGUI]], I will then let the program generate captions into seperate text files, wich are named after the image they are describing.\\
Line 183: Line 189:
 For clean organisation, I opted to convert all files to .jpg. This to make sure the metadata is displayed in a clean way. For clean organisation, I opted to convert all files to .jpg. This to make sure the metadata is displayed in a clean way.
  
-== The name ==+=== The name ===
 CATEGORY_SUBJECT_inc Nr CATEGORY_SUBJECT_inc Nr
  
-== The metadata ==+=== The metadata ===
 A description/caption in the images "Title" and "Subject" fields. A description/caption in the images "Title" and "Subject" fields.
- 
-== The script == 
-<code Python [enable_line_numbers="true"]> 
-import os 
-from PIL import Image as PilImage, PngImagePlugin 
-from pyexiv2 import Image as Pyexiv2Image 
- 
-def add_text_to_image_metadata(image_folder): 
-    try: 
-        # Iterate through all files in the specified folder 
-        for filename in os.listdir(image_folder): 
-            image_path = os.path.join(image_folder, filename) 
-            text_file_path = os.path.join(image_folder, f"{os.path.splitext(filename)[0]}.txt") 
- 
-            print(f"Processing {image_path}" # Debugging line 
- 
-            if os.path.exists(text_file_path): 
-                # Read the content from the text file 
-                with open(text_file_path, 'r') as file: 
-                    caption_text = file.read() 
- 
-                # Convert filename to lowercase for extension checking 
-                filename_lower = filename.lower() 
- 
-                if filename_lower.endswith(('.jpg', '.jpeg')): 
-                    # Load the image's metadata 
-                    image = Pyexiv2Image(image_path) 
- 
-                    # Add the caption to the image's EXIF UserComment and ImageDescription fields 
-                    image.modify_exif({'Exif.Photo.UserComment': caption_text, 'Exif.Image.ImageDescription': caption_text}) 
-                elif filename_lower.endswith('.png'): 
-                    # Convert the PNG image to JPEG 
-                    image = PilImage.open(image_path) 
-                    rgb_image = image.convert('RGB') 
-                    rgb_image.save(os.path.splitext(image_path)[0] + '.jpg', 'JPEG') 
- 
-                    # Load the image's metadata 
-                    image = Pyexiv2Image(os.path.splitext(image_path)[0] + '.jpg') 
- 
-                    # Add the caption to the image's EXIF UserComment and ImageDescription fields 
-                    image.modify_exif({'Exif.Photo.UserComment': caption_text, 'Exif.Image.ImageDescription': caption_text}) 
- 
-                    # Delete the original PNG image 
-                    os.remove(image_path) 
- 
-                # Delete the text file 
-                os.remove(text_file_path) 
- 
-        print("Processing completed for all images.") 
-    except Exception as e: 
-        print(f"Error: {e}") 
- 
-# Example usage: Specify the folder containing your images 
-image_folder_path = '/path/to/your/source/folder' 
-add_text_to_image_metadata(image_folder_path) 
-}(); 
-</code> 
  
 \\ \\
  
-== Sources ==+===== Sources =====
  
 [[https://www.youtube.com/watch?v=6KCtPnam6Sk&ab_channel=TimvanHelsdingen]]\\ [[https://github.com/alexanderrichtertd/plex/wiki/Project-Structure]]\\ [[https://www.youtube.com/watch?v=6KCtPnam6Sk&ab_channel=TimvanHelsdingen]]\\ [[https://github.com/alexanderrichtertd/plex/wiki/Project-Structure]]\\
start/knowledge/vfx/pipeline.1741622207.txt.gz · Last modified: 2025/03/10 16:56 by florian