Kiriman Gosok dari Reddit dan secara otomatis menghasilkan video dan thumbnail YouTube secara otomatis
Lihat saluran YouTube saya misalnya video yang dibuat oleh repo ini:
Kejahatan apa yang Anda lakukan dengan orang -orang yang melakukan?
Pertunjukan apa yang tidak memiliki karakter yang disukai?
Saluran YouTube yang dihasilkan menggunakan repo ini:
Jika saluran YouTube Anda dihasilkan menggunakan repositori ini dan Anda ingin itu tercantum di atas, silakan komentari masalah ini #91 dengan URL saluran YouTube Anda dan nama saluran dan sebutkan Anda ingin itu terdaftar di file ReadMe utama.
Tonton video tutorial bot python reddit youtube:
Instal komponen prasyarat ini terlebih dahulu:
Git - https://git-scm.com/download/win
Python 3.10-https://www.python.org/ftp/python/3.10.0/python-3.10.0-amd64.exe
Microsoft C ++ Build Tools-https://visualstudio.microsoft.com/visual-cpp-build-tools/
Imagemagick - https://imagemagick.org/script/download.php#windows
git clone [email protected]:alexlaverty/python-reddit-youtube-bot.git
cd python-reddit-youtube-bot
Hasilkan Token Reddit Praw - https://www.reddit.com/prefs/apps/
Buat salinan file auth-example.py dan beri nama auth.py:
copy config/auth-example.py config/auth.py
Perbarui file auth.py untuk berisi token reddit auth yang Anda hasilkan pada langkah sebelumnya.
pip install -r requirements.txt
Instal dan konfigurasikan penulis drama dengan menjalankan:
playwright install
Jalankan skrip Python:
python app.py
Ketika selesai video akan dihasilkan ke folder videos dan akan dinamai final.mp4
Jika Anda ingin menambahkan latar belakang video maka instal YT-DLP:
YT-DLP
Kemudian buat folder backgrounds dan jalankan perintah berikut:
mkdir -p assets/backgrounds
cd assets/backgrounds
yt-dlp --playlist-items 1:10 -f 22 --output "%(uploader)s_%(id)s.%(ext)s" https://www.youtube.com/playlist?list=PLGmxyVGSCDKvmLInHxJ9VdiwEb82Lxd2E
Anda dapat melihat parameter yang tersedia dengan meneruskan --help :
python app.py --help
##### YOUTUBE REDDIT BOT #####
usage: app.py [-h] [-l VIDEO_LENGTH] [-o] [-s] [-t] [-u URL]
options:
-h, --help show this help message and exit
-l VIDEO_LENGTH, --video-length VIDEO_LENGTH
Set how long you want the video to be
-o, --disable-overlay
Disable video overlay
-s, --story-mode Generate video for post title and selftext only, disables user comments
-t, --thumbnail-only Generate thumbnail image only
-u URL, --url URL Specify Reddit post url, seperate with a comma for multiple posts.
Atau jika Anda ingin membuat video untuk posting Reddit tertentu, Anda dapat menentukannya melalui --url :
python app.py --url https://www.reddit.com/r/AskReddit/comments/hvsxty/which_legendary_reddit_post_comment_can_you_still/
Atau Anda dapat melakukan beberapa URL dengan memisahkan dengan koma, yaitu:
python app.py --url https://www.reddit.com/r/post1,https://www.reddit.com/r/post2,https://www.reddit.com/r/post3
Jika Anda hanya ingin menghasilkan thumbnail yang dapat Anda tentukan-Mode --thumbnail-only , ini akan melewatkan proses kompilasi video:
python app.py --thumbnail-only
Jika Anda ingin mengaktifkan Newscaster, Edit Pengaturan.py dan setel:
enable_newscaster = True

Jika video Newcaster memiliki layar hijau, Anda dapat menghapusnya dengan pengaturan berikut, gunakan penetes mata untuk mendapatkan warna RGB dari Greenscreen dan atur untuk menghapusnya:
newscaster_remove_greenscreen = True
newscaster_greenscreen_color = [1, 255, 17] # Enter the Green Screen RGB Colour
newscaster_greenscreen_remove_threshold = 100
Ada beberapa opsi yang dapat Anda sesuaikan di file settings.py :
Tentukan subreddits mana yang ingin Anda gosok:
subreddits = [
"AmItheAsshole",
"antiwork",
"AskMen",
"ChoosingBeggars",
"hatemyjob",
"NoStupidQuestions",
"pettyrevenge",
"Showerthoughts",
"TooAfraidToAsk",
"TwoXChromosomes",
"unpopularopinion",
"confessions",
"confession"
]
Subreddits untuk dikecualikan:
subreddits_excluded = [
"r/CFB",
]
Filter Keluar Posting Reddit melalui kata kunci yang ditentukan
banned_keywords =["my", "nasty", "keywords"]
Ubah teks ke mesin ucapan yang ingin Anda gunakan, catat AWS Polly Membutuhkan dan Akun AWS dan Token AUTH dan dapat dikenakan biaya:
Mendukung Mesin Pidato:
# choices "polly","balcon","gtts"
voice_engine = "polly"
Jumlah total video reddit untuk menghasilkan
total_posts_to_process = 5
Pengaturan berikutnya adalah untuk secara otomatis memfilter posting
Lewati posting Reddit yang kurang dari jumlah pembaruan ini
minimum_submission_score = 5000
Memfilter pos reddit berdasarkan panjang judul pos reddit
title_length_minimum = 20
title_length_maximum = 100
Saring postingan yang melebihi panjang teks diri maksimum
maximum_length_self_text = 5000
Memfilter pos reddit yang tidak memiliki cukup komentar
minimum_num_comments = 200
Hanya mencoba memproses jumlah maksimum pos reddit
submission_limit = 1000
Tentukan berapa banyak gambar thumbnail yang ingin Anda hasilkan
number_of_thumbnails = 3
Tentukan panjang video maksimum
max_video_length = 600 # Seconds
Tentukan jumlah komentar maksimum yang akan dihasilkan dalam video
comment_limit = 600
Menentukan berbagai jalur folder
assets_directory = "assets"
temp_directory = "temp"
audio_directory = str(Path("temp"))
fonts_directory = str(Path(assets_directory,"fonts"))
image_backgrounds_directory = str(Path(assets_directory,"image_backgrounds"))
images_directory = str(Path(assets_directory,"images"))
thumbnails_directory = str(Path(assets_directory,"images"))
background_directory = str(Path(assets_directory,"backgrounds"))
video_overlay_filepath = str(Path(assets_directory,"particles.mp4"))
videos_directory = "videos"
Tentukan tinggi dan lebar video
video_height = 720
video_width = 1280
clip_size = (video_width, video_height)
Lewati mengkompilasi video dan hanya keluar
enable_compilation = True
Lewati mengunggah ke YouTube
enable_upload = False
Tambahkan overlay video ke video, misalnya efek jatuh salju
enable_overlay = True
Tambahkan pembaca penyiar ke video
enable_newscaster = True
Jika Newcaster Video adalah upaya layar hijau untuk menghapus layar hijau
newscaster_remove_greenscreen = True
Tentukan warna layar hijau di RGB
newscaster_greenscreen_color = [1, 255, 17] # Enter the Green Screen RGB Colour
Semakin tinggi nomor ambang greenscreen, semakin banyak yang akan dicoba untuk dihapus
newscaster_greenscreen_remove_threshold = 100
Jalur ke file newcaster
newscaster_filepath = str(Path(assets_directory,"newscaster.mp4").resolve())
Posisi di layar penyiar
newscaster_position = ("left","bottom")
Ukuran penyiar
newcaster_size = (video_width * 0.5, video_height * 0.5)
Tambahkan jeda setelah setiap teks ke file audio ucapan
pause = 1 # Pause after speech
Pengaturan Gaya Teks
text_bg_color = "#1A1A1B"
text_bg_opacity = 1
text_color = "white"
text_font = "Verdana-Bold"
text_fontsize = 32
Unduh gambar dari Lexica atau Skip mencoba mengunduh
lexica_download_enabled = True