Automated Video Uploader
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Go to file
Yuriy 2cd1b0de84 formatting 10 months ago
Assets Fixed lbry daemon_settings file 2 years ago
Lib moved version number to external file 11 months ago
Modules major code cleanup organization and restructuring 10 months ago
Tools added ability to automatically download latest chromium-testing and chromedriver and move them to their proper locations 1 year ago
.gitignore moved version number to external file 11 months ago
.gitmodules API calls and docs urls migrated to freedomain.dev 12 months ago
Compile Uploader to EXE.ahk moved version number to external file 11 months ago
Freedomain Video Uploader.ahk major code cleanup organization and restructuring 10 months ago
README.md formatting 10 months ago
Version.ini major code cleanup organization and restructuring 10 months ago

README.md

Freedomain-Video-Uploader

Video Uploader written for the Freedomain Philosophy Show

Alt text

Features

Automated posting to the following media platform using either the Platform's API or Selenium Chrome automation.

Locals Bitchute Rumble DailyMotion Brighteon Odysee
Selenium Selenium Selenium Selenium Selenium LBRY API

Installation

  1. Install .Net Framework 3.5
    • Option 1: Click on Start Menu > Turn Windows Features On or Off > check the checkbox next to “.NET Framework 3.5” > Click OK
    • Option 2: Open up PowerShell as Administrator and run the command: Enable-WindowsOptionalFeature -Online -FeatureName "NetFx3" -All
  2. Install SeleniumBasic to control Chrome
    • Make sure to “Run as Administrator” on the file when installing so that it gets installed to C:\Program Files\SeleniumBasic. Otherwise it will get installed to \AppData\ and the Poster will not be able to connect to Selenium and to Chrome.
  3. Download latest ChromeDriver for your Chrome version so Selenium can connect to Chrome for automation
    • Open Chrome and type in about::version into the URL bar. The very first line will tell you what Chrome version you have
    • After downloading, extract “chromedriver_win32.zip” and move the extracted chromedriver.exe to: C:\Program Files\SeleniumBasic\chromedriver.exe
    • NOTE: The chromedriver will need to be re-downloaded whenever Chrome updates to keep up with API changes
  4. Install the LBRY Desktop Application Manually or through chocolatey choco install -y lbry
    • Once installed log into your account, and also add your LBRY Channel ID to the settings.ini file
  5. Download the latest .exe of the Uploader
    • When run, the Uploader will automatically create the folders and files it requires in the same directory it's run from.

Using Portable Version of Chrome

Using a portable version of Chrome will give you full control over chrome and chromedriver updates.

The Uploader will check for a portable version of Chrome first, before defaulting to the system installation

  1. To use a portable version of Chrome, download the latest version Chrome version that has a chromedriver from Chrome-for-Testing, extract the chrome-win64.zip file and move the extracted folder to the \Lib\ directory: The resulting chrome filepath should be ..\Freedomain-Video-Uploader-Folder\Lib\chrome-win64\chrome.exe

  2. Download the win64 chromedriver for the same version and move it to C:\Program Files\SeleniumBasic\chromedriver.exe

Settings File

The Uploader reads & saves its settings to a settings.ini file, All customization, including custom profile URLs are stored here.
On first run, if this file does not exist it will be automatically downloaded from the git repo. Before running for the first time you should set the following settings in the file:

[General]
RootDirToStartIn= Parent Folder with your Video Projects
ShowTooltipProgress=1
DiscordWebhookBotURL=
DiscordVideosWebhookURL=
DiscordErrorLoggingWebhookBotURL=
DiscordUsernameID=
LBRYNewVideoStakeAmount=1.0
LBRYNetFilepath=C:\Program Files\LBRY\resources\static\daemon\lbrynet.exe
LBRYChannelID=
DailyMotionPostPageURL=
LocalsPostPageURL=

Project Files

When you start the Uploader, it will ask you to select a project folder that contains the files that will be used for the upload.
The program will then loop through that project folder and look for the following files and automatically select them.
You can select a different file in the main window if the auto selection does not select the correct file.
title.txt which should contain the Title of your video/podcast
body.txt which should contain the body text of your video/podcast
keywords.txt which contains the tags/keywords that will be used in the video uploads
keywords_podcast.txt (Optional) which contains the tags/keywords that will be used in the podcast upload. keywords.txt will be used for podcast tags if this does not exist.
*.mp4 an mp4 file which is the video file that you are going to upload
*.jpg or *.png file which will be the thumbnail for your video/podcast

Uncaught Errors

I have done my best to catch any possible errors that might pop up and write functionality to handle them. But If an error happens that i haven't written resolves for, it will pop up a message box that looks like this. Please send me a screenshot so I can write a patch for the bug.

Alt text

Compiling to .exe from Source

  1. Install Autohotkey v1
  2. git clone the project and then either run the Compile Uploader to EXE.ahk autohotkey script to automatically compile, or start up the AHK compiler that comes installed with Autohotkey and select the Freedomain Video Uploader.ahk and \Assets\FreedomainVideo.ico icon.

Extra Tools

LBRY-Process-Killer

Autohotkey script that continuously reads the lbrynet.log for when your videos are fully uploaded/seeded to lbry and then kills the LBRY process.