Skip to main content

πŸ“‚ Topics

What are Topics?​

Topics are a way to organize content by themes in YouTube-Uploader. Instead of uploading videos in random order, the program can automatically alternate between different types of content, taking data from corresponding topic folders.

Definition

Topic β€” an organized set of video files, thumbnails, and text data (titles, descriptions, keywords) united by a common direction or theme.

Working with Topics

Topic mode allows automatic switching between different content sets when uploading videos, ensuring diversity and scalability of your content.

Key Features​

  • Automatic switching between topics after each video
  • Exclusion of used data to prevent repetition
  • Flexible configuration of data usage order
  • Automatic renewal of exhausted topics

Each topic represents a separate folder with structured content used for uploading videos of a specific direction. The system works cyclically: after using data from one topic, it switches to the next, ensuring even distribution of different types of content.

Benefits of Use​

🎯 Content Diversity

Each uploaded video automatically gets content from different topics, ensuring natural diversity.

πŸ“ˆ Scalability

Easily add new topics without changing the program's working logic.

βš™οΈ Manageability

Full control over data usage order and topic switching logic.

πŸš€ Efficiency

Exclusion of data reuse within one cycle.

Working Principle​

Cyclicity: The system works continuously, automatically switching between topics and updating data when necessary.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚Initialization│───►│Select current│───►│ Get data │───►│Upload video │───►│Switch to β”‚
β”‚ of topics β”‚ β”‚ topic β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ next β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚Auto-refresh │◄──────────────────── NO β—„β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β—„β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚ topics β”‚ β”‚Are there β”‚
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β”‚other topics?β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚ YES β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Ίβ”˜

File and Folder Structure​

General Organization​

πŸ“ Main_topics_folder/
β”œβ”€β”€ πŸ“„ config.ini # Configuration file
β”œβ”€β”€ πŸ“ Topic_1/ # First topic
β”œβ”€β”€ πŸ“ Topic_2/ # Second topic
β”œβ”€β”€ πŸ“ Topic_N/ # N-th topic
└── ...

Structure of One Topic​

πŸ“ Topic_name/
β”œβ”€β”€ πŸ“ 1_Videos/ # βœ… REQUIRED - video files
β”‚ β”œβ”€β”€ 🎬 video1.mp4
β”‚ β”œβ”€β”€ 🎬 video2.avi
β”‚ └── ...
β”œβ”€β”€ πŸ“ 2_Thumbnails/ # βšͺ Optional - thumbnails
β”‚ β”œβ”€β”€ πŸ–ΌοΈ thumb1.jpg
β”‚ β”œβ”€β”€ πŸ–ΌοΈ thumb2.png
β”‚ └── ...
β”œβ”€β”€ πŸ“„ 3_Titles.txt # βšͺ Optional - titles
β”œβ”€β”€ πŸ“„ 4_Descriptions.txt # βšͺ Optional - descriptions
β”œβ”€β”€ πŸ“„ 5_Keywords.txt # βšͺ Optional - keywords
β”œβ”€β”€ πŸ“„ 6_Comments.txt # βšͺ Optional - comments
β”œβ”€β”€ πŸ“„ 7_EndScreens.txt # βšͺ Optional - end screens
└── πŸ“„ 8_InfoCards.txt # βšͺ Optional - info cards
Requirements

Required element: 1_Videos folder with video files. Without it, the topic will be excluded during validation.

Optional elements: All other folders and files may be missing or empty.

Supported Formats​

Video Files​

Folder: 1_Videos/
Formats: .mp4, .mpeg4, .m4v, .avi, .mov
Note: Files with other extensions are ignored

Images (Thumbnails)​

Folder: 2_Thumbnails/
Formats: .png, .jpeg, .jpg
Note: Files with other extensions are ignored

Text Data​

Format: UTF-8 text files (.txt)
Structure for most files: Each line = separate element
Exceptions: Files 4_Descriptions.txt and 6_Comments.txt β€” entire file as one element
Note: Empty lines are automatically ignored

Example of 3_Titles.txt file (line by line):

Exciting Review of New Technologies
Secrets of Effective Work
Masterclass for Beginners
Useful Tips from Experts

Example of 4_Descriptions.txt file (entire file):

Welcome to my channel!
In this video we'll cover programming basics.

Subscribe and like!

πŸ”— Useful links:
- My website: example.com
- Telegram: @mychannel

#programming #education #youtube

Configuration Setup​

config.ini File​

Create a config.ini file in the main topics folder to configure system behavior:

config.ini
[TOPICS]
# Shuffle topic list before loading into memory
topics_shuffle=True

# Automatically refresh data in topic after video exhaustion
# True - topic remains in queue and data is restored
# False - topic is removed from queue forever
topics_refresh=True

[VIDEOS]
# Shuffle videos in topic before loading into memory
videos_shuffle=True

# Shuffle thumbnails in topic before loading into memory
thumbnails_shuffle=True

[METADATA]
# Shuffle titles in topic before loading into memory
titles_shuffle=True

# Shuffle descriptions in topic before loading into memory
descriptions_shuffle=True

# Shuffle keywords in topic before loading into memory
keywords_shuffle=True

[ACTIONS]
# Shuffle comments in topic before loading into memory
comments_shuffle=True

# Shuffle end screens in topic before loading into memory
endscreens_shuffle=True

# Shuffle info cards in topic before loading into memory
infocards_shuffle=True

Parameter Description​

topics_shuffle

Determines the order of topic usage:

  • True β€” topics are shuffled randomly
  • False β€” topics are used in alphabetical order of folders

topics_refresh

Critically important parameter determining topic lifecycle:

  • True β€” when videos are exhausted, topic automatically refreshes and remains active
  • False β€” when videos are exhausted, topic is permanently removed from queue

Important: With topics_refresh=False eventually all topics will be exhausted and the system will stop. With topics_refresh=True the system works infinitely.

Settings in Program Interface​

Template settings in the program provide two configuration levels:

Data Type Usage​

Global settings that determine which data types to use at all:

Program SettingDescriptionFeatures
Upload videosUse video filesAlways enabled
Upload thumbnailUse thumbnailsCan be disabled
Rename videoUse titlesCan be disabled
Fill descriptionUse descriptionsCan be disabled
Fill tagsUse keywordsCan be disabled
Publish commentUse commentsCan be disabled
Set likeUse likesFixed value
Add end screenUse end screensCan be disabled
Add info cardUse info cardsCan be disabled

Data Extraction Order​

Parameters determining the selection method for each element from the list:

Program SettingDescriptionValues
Video orderOrder of video file selection"In order" / "Random"
Thumbnail orderOrder of thumbnail selection"In order" / "Random"
Title orderOrder of title selection"In order" / "Random"
Description orderOrder of description selection"In order" / "Random"
Tag orderOrder of keyword selection"In order" / "Random"
Comment orderOrder of comment selection"In order" / "Random"
End screen orderOrder of end screen selection"In order" / "Random"
Info card orderOrder of info card selection"In order" / "Random"
Multi-level Data Configuration
  • Global settings (checkboxes in program) β€” determine which data types to use at all
  • Shuffle (in config.ini) β€” shuffles data once when loading topic
  • Order (order settings) β€” determines selection method for each element from the list

Data Usage Logic​

Behavior of Different Data Types​

🎬 Critical

Video files
  • Deleted after use
  • Determine exhaustion of topic
  • Can auto-refresh (if topics_refresh=true)

πŸ”„ Cyclical

Titles, thumbnails, end screens, info cards
  • Deleted after use
  • Automatically restored when exhausted
  • Don't affect topic exhaustion

πŸ“Œ Permanent

Descriptions, keywords, comments
  • Remain after use
  • Used repeatedly for all videos
  • Restored when necessary

Status Flag System​

Each data type has two flags:

  • isSet* β€” desired setting (set by user)
  • currentIsSet* β€” real availability for current video

Data availability determination algorithm:

  1. Global setting β€” corresponding checkbox in program is checked
  2. Presence in topic β€” existence and content of files is checked
  3. Dynamic availability β€” automatically set for each video

Example:

  • "Rename video" disabled β†’ titles never used
  • "Rename video" enabled + no 3_Titles.txt file β†’ empty title returned
  • "Rename video" enabled + empty file β†’ empty title returned
  • "Rename video" enabled + file with data β†’ title from file returned

Step-by-Step Setup Guide​

Step 1: Create Folder Structure​

  1. Use pre-installed folder in project directory: ..\YouTube-Uploader\[Topics]
  2. Create folders for each topic inside:
    ..\YouTube-Uploader\[Topics]\
    β”œβ”€β”€ Adobe After Effects\
    β”œβ”€β”€ Avast Premium Security\
    └── IObit Uninstaller Pro\
    β”œβ”€β”€ Proton VPN\
    └── Wondershare Filmora\

Step 2: Fill Topics with Content​

For each topic:

  1. Create required 1_Videos folder and place video files there
  2. Optionally create 2_Thumbnails folder for thumbnails
  3. Optionally create text files with corresponding data

Step 3: Configure Settings​

  1. Create config.ini file in ..\YouTube-Uploader\[Topics]\ folder
  2. Configure parameters according to your needs
  3. Save the file

Step 4: Program Setup​

  1. Configure data usage checkboxes (Upload thumbnail, Rename video, etc.)
  2. Configure data extraction order parameters (Video order, Title order, etc.)
  3. Start upload process

Usage Examples​

Example 1: Simple Configuration​

Structure:

MyTopics/
β”œβ”€β”€ config.ini
β”œβ”€β”€ Adobe After Effects/
β”‚ └── 1_Videos/
β”‚ β”œβ”€β”€ game1.mp4
β”‚ └── game2.mp4
└── Avast Premium Security/
└── 1_Videos/
β”œβ”€β”€ lesson1.mp4
└── lesson2.mp4

Result: Program will alternate videos from Gaming and Education.

Example 2: Extended Configuration​

Structure:

MyTopics/
β”œβ”€β”€ config.ini
β”œβ”€β”€ IObit Uninstaller Pro/
β”‚ β”œβ”€β”€ 1_Videos/
β”‚ β”œβ”€β”€ 2_Thumbnails/
β”‚ β”œβ”€β”€ 3_Titles.txt
β”‚ └── 4_Descriptions.txt
β”œβ”€β”€ Proton VPN/
β”‚ β”œβ”€β”€ 1_Videos/
β”‚ β”œβ”€β”€ 3_Titles.txt
β”‚ └── 5_Keywords.txt
└── Wondershare Filmora/
β”œβ”€β”€ 1_Videos/
└── 3_Titles.txt

Result: Full cycle with automatic topic switching and diverse content.

Best Practices​

πŸ“Š Data Balance​

  • Maintain approximately equal number of videos in different topics
  • Add more text data than videos (for description diversity)

πŸ”„ Content Management​

  • Regularly add new content to maintain relevance
  • Use meaningful topic names for easy management

πŸ§ͺ Testing​

  • Start with 1-2 topics to verify system operation
  • Gradually add new topics after debugging

πŸ“ Monitoring​

  • Monitor program logs to control switches
  • Check data usage from different topics

Troubleshooting​

Topic Not Loading​

Common Causes
  • Missing 1_Videos folder
  • No video files in 1_Videos folder
  • Incorrect folder access permissions

Solution: Check folder structure and video file presence.

Data Not Shuffling​

Common Causes
  • *_shuffle=False set in config.ini
  • Syntax error in config.ini file
  • Insufficient data for noticeable effect

Solution: Check shuffle settings in config.ini.

Some Data Types Not Used​

Common Causes
  • Corresponding checkbox in program is disabled
  • Files are missing or empty
  • Incorrect file naming

Solution: Check checkbox settings in program and corresponding file presence.

Topics Switching Incorrectly​

Common Causes
  • Incorrect topics_refresh settings
  • Corrupted program context

Solution: Restart topic initialization.

FAQ​

Can topics be used without config.ini file?

Yes, if the file is missing, default settings will be used (all shuffle and topics_refresh parameters set to True).

What happens if a topic lacks some data types?

The system works on four verification levels:

  1. Global setting β€” if corresponding checkbox is disabled, data is not used at all
  2. File presence β€” if checkbox is enabled but files are missing, empty value is returned
  3. File content β€” if files exist but are empty, empty value is returned
  4. Auto-refresh β€” cyclical data is restored from original state

The system adapts to available resources and continues working.

How does data auto-refresh work?

For cyclical data (titles, thumbnails, end screens, info cards):

  • Automatically restored from original state when exhausted
  • Happens instantly without re-reading files
  • Data is already shuffled according to shuffle settings

For video files:

  • Auto-refresh depends on topics_refresh setting
  • With topics_refresh=true β€” restored like cyclical data
  • With topics_refresh=false β€” topic is exhausted and removed from queue

For permanent data (descriptions, comments, keywords):

  • Not deleted after use
  • Auto-refresh occurs only when necessary
What's the difference between descriptions, titles and comments?

Data structure:

  • Titles (3_Titles.txt) β€” each line = separate title
  • Descriptions (4_Descriptions.txt) β€” entire file = one description
  • Comments (6_Comments.txt) β€” entire file = one comment

Usage behavior:

  • Titles β€” deleted after use, ensure diversity
  • Descriptions β€” remain permanent for entire topic
  • Comments β€” remain permanent for entire topic
Can new topics be added during operation?

New topics will only be loaded after restarting topic initialization in the program.

How many topics can be used simultaneously?

There are no practical limitations, but no more than 50-100 topics is recommended for optimal performance.