π 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.
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
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:
[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]
- [VIDEOS/METADATA/ACTIONS]
topics_shuffle
Determines the order of topic usage:
True
β topics are shuffled randomlyFalse
β 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 activeFalse
β 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.
*_shuffle
parameters determine whether to shuffle corresponding data within each topic during initial loading:
Configuration sections:
- [VIDEOS] β settings for video files and thumbnails
- [METADATA] β settings for titles, descriptions and keywords
- [ACTIONS] β settings for comments, end screens and info cards
Shuffle principle:
True
β data is shuffled once when loading the topicFalse
β data remains in original order (alphabetical for files, line order for text)
Optimization: Shuffle is performed only when loading topic into memory. During auto-refresh, data is already shuffled.
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 Setting | Description | Features |
---|---|---|
Upload videos | Use video files | Always enabled |
Upload thumbnail | Use thumbnails | Can be disabled |
Rename video | Use titles | Can be disabled |
Fill description | Use descriptions | Can be disabled |
Fill tags | Use keywords | Can be disabled |
Publish comment | Use comments | Can be disabled |
Set like | Use likes | Fixed value |
Add end screen | Use end screens | Can be disabled |
Add info card | Use info cards | Can be disabled |
Data Extraction Orderβ
Parameters determining the selection method for each element from the list:
Program Setting | Description | Values |
---|---|---|
Video order | Order of video file selection | "In order" / "Random" |
Thumbnail order | Order of thumbnail selection | "In order" / "Random" |
Title order | Order of title selection | "In order" / "Random" |
Description order | Order of description selection | "In order" / "Random" |
Tag order | Order of keyword selection | "In order" / "Random" |
Comment order | Order of comment selection | "In order" / "Random" |
End screen order | Order of end screen selection | "In order" / "Random" |
Info card order | Order of info card selection | "In order" / "Random" |
- 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:
- Global setting β corresponding checkbox in program is checked
- Presence in topic β existence and content of files is checked
- 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β
- Use pre-installed folder in project directory:
..\YouTube-Uploader\[Topics]
- 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:
- Create required
1_Videos
folder and place video files there - Optionally create
2_Thumbnails
folder for thumbnails - Optionally create text files with corresponding data
Step 3: Configure Settingsβ
- Create
config.ini
file in..\YouTube-Uploader\[Topics]\
folder - Configure parameters according to your needs
- Save the file
Step 4: Program Setupβ
- Configure data usage checkboxes (Upload thumbnail, Rename video, etc.)
- Configure data extraction order parameters (Video order, Title order, etc.)
- 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β
- 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β
*_shuffle=False
set inconfig.ini
- Syntax error in
config.ini
file - Insufficient data for noticeable effect
Solution: Check shuffle settings in config.ini.
Some Data Types Not Usedβ
- 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β
- 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:
- Global setting β if corresponding checkbox is disabled, data is not used at all
- File presence β if checkbox is enabled but files are missing, empty value is returned
- File content β if files exist but are empty, empty value is returned
- 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.