Spaces:
Running
Running
init
Browse files- .gitignore +2 -0
- app.py +195 -0
- requirements.txt +8 -0
- summary_output.txt +20 -0
- tes.py +2 -0
- transcription_and_summary_output.txt +28 -0
- transcription_output.txt +1 -0
.gitignore
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
1 |
+
.env
|
2 |
+
venv/
|
app.py
ADDED
@@ -0,0 +1,195 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
import yt_dlp
|
3 |
+
from dotenv import load_dotenv
|
4 |
+
import os
|
5 |
+
import google.generativeai as genai
|
6 |
+
import re
|
7 |
+
import torch
|
8 |
+
from transformers import pipeline
|
9 |
+
import time
|
10 |
+
import spaces
|
11 |
+
|
12 |
+
load_dotenv()
|
13 |
+
default_gemini_api_key = os.getenv('gemini_api_key')
|
14 |
+
|
15 |
+
def configure_genai(api_key, model_variant):
|
16 |
+
genai.configure(api_key=api_key)
|
17 |
+
return genai.GenerativeModel(model_variant)
|
18 |
+
|
19 |
+
def extract_youtube_id(youtube_url):
|
20 |
+
# Extract the YouTube video ID from various URL formats
|
21 |
+
youtube_id_match = re.search(r'(?:v=|\/)([0-9A-Za-z_-]{11}).*', youtube_url)
|
22 |
+
if youtube_id_match:
|
23 |
+
return youtube_id_match.group(1)
|
24 |
+
return None
|
25 |
+
|
26 |
+
def download_youtube_audio(youtube_url, output_filename):
|
27 |
+
ydl_opts = {
|
28 |
+
'format': 'bestaudio/best',
|
29 |
+
'postprocessors': [{
|
30 |
+
'key': 'FFmpegExtractAudio',
|
31 |
+
'preferredcodec': 'mp3',
|
32 |
+
'preferredquality': '192',
|
33 |
+
}],
|
34 |
+
'outtmpl': output_filename,
|
35 |
+
}
|
36 |
+
|
37 |
+
try:
|
38 |
+
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
|
39 |
+
ydl.download([youtube_url])
|
40 |
+
|
41 |
+
print(f"Downloaded audio from YouTube URL: {youtube_url}")
|
42 |
+
return output_filename
|
43 |
+
except Exception as e:
|
44 |
+
print(f"Error downloading YouTube audio: {str(e)}")
|
45 |
+
raise gr.Error(f"Failed to download YouTube audio: {str(e)}")
|
46 |
+
|
47 |
+
def summarize_transcription(transcription, model, gemini_prompt):
|
48 |
+
try:
|
49 |
+
prompt = f"{gemini_prompt}:\n\n{transcription}"
|
50 |
+
response = model.generate_content(prompt)
|
51 |
+
return response.text
|
52 |
+
except Exception as e:
|
53 |
+
print(f"Error summarizing transcription: {str(e)}")
|
54 |
+
return f"Error summarizing transcription: {str(e)}"
|
55 |
+
|
56 |
+
@spaces.GPU(duration=120)
|
57 |
+
def process_audio(audio_file, pipe, language):
|
58 |
+
print("Starting transcription...")
|
59 |
+
if language:
|
60 |
+
print(f"Using language: {language}")
|
61 |
+
transcription = pipe(f"{audio_file}", batch_size=8, generate_kwargs={"task": "transcribe", "language": language}, return_timestamps=True)["text"]
|
62 |
+
else:
|
63 |
+
print("No language defined, using default language")
|
64 |
+
transcription = pipe(f"{audio_file}", batch_size=8, generate_kwargs={"task": "transcribe"}, return_timestamps=True)["text"]
|
65 |
+
return transcription
|
66 |
+
|
67 |
+
def transcribe(youtube_url, audio_file, whisper_model, gemini_api_key, gemini_prompt, gemini_model_variant, language, progress=gr.Progress()):
|
68 |
+
start_time = time.time()
|
69 |
+
try:
|
70 |
+
progress(0, desc="Initializing")
|
71 |
+
if not gemini_api_key:
|
72 |
+
gemini_api_key = default_gemini_api_key
|
73 |
+
model = configure_genai(gemini_api_key, gemini_model_variant)
|
74 |
+
|
75 |
+
device = 0 if torch.cuda.is_available() else "cpu"
|
76 |
+
pipe = pipeline(
|
77 |
+
task="automatic-speech-recognition",
|
78 |
+
model=whisper_model,
|
79 |
+
chunk_length_s=30,
|
80 |
+
device=device,
|
81 |
+
)
|
82 |
+
|
83 |
+
if youtube_url:
|
84 |
+
progress(0.1, desc="Extracting YouTube ID")
|
85 |
+
youtube_id = extract_youtube_id(youtube_url)
|
86 |
+
if youtube_id:
|
87 |
+
output_filename = f"{youtube_id}"
|
88 |
+
else:
|
89 |
+
output_filename = f"unknown"
|
90 |
+
progress(0.2, desc="Downloading YouTube audio")
|
91 |
+
audio_file = download_youtube_audio(youtube_url, output_filename)
|
92 |
+
audio_file = f"{audio_file}.mp3"
|
93 |
+
print(f"Audio file downloaded: {audio_file}")
|
94 |
+
else:
|
95 |
+
progress(0.2, desc="Reading audio file")
|
96 |
+
audio_file = f"{audio_file.name}"
|
97 |
+
print(f"Audio file read: {audio_file}")
|
98 |
+
|
99 |
+
progress(0.4, desc="Starting transcription")
|
100 |
+
transcription = process_audio(audio_file, pipe, language)
|
101 |
+
|
102 |
+
progress(0.6, desc="Cleaning up")
|
103 |
+
# Delete the audio file after transcription
|
104 |
+
if os.path.exists(f"{audio_file}.mp3"):
|
105 |
+
os.remove(f"{audio_file}.mp3")
|
106 |
+
print(f"Deleted audio file: {audio_file}.mp3")
|
107 |
+
|
108 |
+
progress(0.7, desc="Summarizing transcription")
|
109 |
+
# Summarize the transcription
|
110 |
+
summary = summarize_transcription(transcription, model, gemini_prompt)
|
111 |
+
|
112 |
+
progress(0.8, desc="Preparing output")
|
113 |
+
# Prepare the transcription and summary message
|
114 |
+
transcription_message = f"{transcription}" if transcription else ""
|
115 |
+
|
116 |
+
summary_message = f"{summary}" if summary else ""
|
117 |
+
|
118 |
+
progress(0.9, desc="Saving output to file")
|
119 |
+
print("Saving transcription and summary to file...")
|
120 |
+
# Save transcription and summary to separate text files
|
121 |
+
transcription_file = "transcription_output.txt"
|
122 |
+
summary_file = "summary_output.txt"
|
123 |
+
with open(transcription_file, "w", encoding="utf-8") as f:
|
124 |
+
f.write(transcription_message)
|
125 |
+
with open(summary_file, "w", encoding="utf-8") as f:
|
126 |
+
f.write(summary_message)
|
127 |
+
|
128 |
+
progress(1, desc="Complete")
|
129 |
+
print("Transcription and summarization complete.")
|
130 |
+
end_time = time.time()
|
131 |
+
total_time = round(end_time - start_time, 2)
|
132 |
+
return transcription_message, summary_message, transcription_file, summary_file, total_time
|
133 |
+
except gr.Error as e:
|
134 |
+
# Re-raise Gradio errors
|
135 |
+
raise e
|
136 |
+
except Exception as e:
|
137 |
+
print(f"Error during transcription or summarization: {str(e)}")
|
138 |
+
raise gr.Error(f"Transcription or summarization failed: {str(e)}")
|
139 |
+
|
140 |
+
def toggle_input(choice):
|
141 |
+
if choice == "YouTube URL":
|
142 |
+
return gr.update(visible=True), gr.update(visible=False, value=None)
|
143 |
+
else:
|
144 |
+
return gr.update(visible=False, value=None), gr.update(visible=True)
|
145 |
+
|
146 |
+
def toggle_language(choice):
|
147 |
+
if choice == True:
|
148 |
+
return gr.update(visible=True, value="id")
|
149 |
+
else:
|
150 |
+
return gr.update(visible=False, value="")
|
151 |
+
|
152 |
+
with gr.Blocks(theme='NoCrypt/miku') as demo:
|
153 |
+
gr.Label('Youtube Summarizer WebUI created with ❤️ by Ryusui', show_label=False)
|
154 |
+
|
155 |
+
with gr.Accordion("Input"):
|
156 |
+
with gr.Column():
|
157 |
+
input_type = gr.Radio(["YouTube URL", "Audio File"], label="Input Type", value="YouTube URL", info="Please consider using the audio file if you face any issues with the YouTube URL. Currently youtube is banning HuggingFace IP Addresses.")
|
158 |
+
with gr.Row():
|
159 |
+
youtube_url = gr.Textbox(label="YouTube URL", info="Input the full URL of the YouTube video you want to transcribe and summarize. Example: https://www.youtube.com/watch?v=VIDEO_ID")
|
160 |
+
audio_file = gr.File(label="Upload Audio File", visible=False, file_types=['.wav', '.flac', '.mp3'])
|
161 |
+
whisper_model = gr.Dropdown(["openai/whisper-tiny", "openai/whisper-base", "openai/whisper-small", "openai/whisper-medium", "openai/whisper-large-v3"], label="Whisper Model", value="openai/whisper-large-v3", info="Tiny is the fastest model, but it's not the best quality. large-v3 is the best quality, but it's the slowest model.")
|
162 |
+
gemini_model_variant = gr.Dropdown(["gemini-1.5-flash", "gemini-1.5-pro"], label="Gemini Model Variant", value="gemini-1.5-pro", info="Gemini-1.5-flash is the fastest model, but it's not the best quality. Gemini-1.5-pro is the best quality, but it's slower")
|
163 |
+
define_language = gr.Checkbox(label="Define Language", value=False, info="If you want to define the language, check this box")
|
164 |
+
language = gr.Dropdown(["id","en", "es", "fr", "de", "it", "pt", "ru", "ja", "ko", "zh"], label="Language", value=None, info="Select the language for transcription", visible=False)
|
165 |
+
gemini_api_key = gr.Textbox(label="Gemini API Key (Optional)", placeholder="Enter your Gemini API key or leave blank to use default", info="If you facing error on transcription, please try to use your own API key")
|
166 |
+
gemini_prompt = gr.Textbox(label="Gemini Prompt", value="Buatkan resume dari transkrip ini")
|
167 |
+
transcribe_button = gr.Button("Transcribe and Summarize")
|
168 |
+
|
169 |
+
with gr.Accordion("Output"):
|
170 |
+
with gr.Column():
|
171 |
+
transcription_output = gr.Textbox(label="Transcription Output")
|
172 |
+
summary_output = gr.Textbox(label="Summary Output")
|
173 |
+
transcription_file = gr.File(label="Download Transcription")
|
174 |
+
summary_file = gr.File(label="Download Summary")
|
175 |
+
processing_time = gr.Textbox(label="Total Processing Time (seconds)")
|
176 |
+
|
177 |
+
input_type.change(fn=toggle_input, inputs=input_type, outputs=[youtube_url, audio_file])
|
178 |
+
define_language.change(fn=toggle_language, inputs=define_language, outputs=[language])
|
179 |
+
|
180 |
+
transcribe_button.click(
|
181 |
+
fn=transcribe,
|
182 |
+
inputs=[
|
183 |
+
youtube_url,
|
184 |
+
audio_file,
|
185 |
+
whisper_model,
|
186 |
+
gemini_api_key,
|
187 |
+
gemini_prompt,
|
188 |
+
gemini_model_variant,
|
189 |
+
language,
|
190 |
+
],
|
191 |
+
outputs=[transcription_output, summary_output, transcription_file, summary_file, processing_time]
|
192 |
+
)
|
193 |
+
|
194 |
+
print("Launching Gradio interface...")
|
195 |
+
demo.launch()
|
requirements.txt
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# --extra-index-url https://download.pytorch.org/whl/cu118
|
2 |
+
# torch==2.3.1+cu118
|
3 |
+
torch==2.2.0
|
4 |
+
transformers==4.44.0
|
5 |
+
gradio==4.41.0
|
6 |
+
python-dotenv==1.0.1
|
7 |
+
yt_dlp==2024.8.6
|
8 |
+
spaces
|
summary_output.txt
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Video ini membahas 10 plugin OBS terbaik yang harus dimiliki setiap streamer di tahun 2024. Plugin ini menawarkan berbagai fitur, dari peningkatan kualitas hidup sederhana hingga efek dan kemampuan canggih.
|
2 |
+
|
3 |
+
Video ini dimulai dengan menjelaskan apa itu plugin OBS dan cara menginstalnya, dengan menekankan pada kompatibilitas dengan sistem operasi yang berbeda dan perlunya OBS biasa, bukan Streamlabs.
|
4 |
+
|
5 |
+
**10 Plugin Teratas:**
|
6 |
+
|
7 |
+
1. **Move Transition:** Dianggap sebagai plugin TERBAIK, yang memungkinkan transisi animasi, kontrol gerakan sumber berdasarkan audio atau pelacakan wajah, dan banyak lagi.
|
8 |
+
2. **Source Clone:** Memungkinkan kloning sumber dengan efek dan filter independen, yang memecahkan masalah terbatasnya filter pada satu sumber.
|
9 |
+
3. **Downstream Keyer:** Memungkinkan sumber dan filter global yang bertahan di berbagai adegan, seperti hamparan atau efek di seluruh streaming.
|
10 |
+
4. **3D Effect:** Menambahkan kontrol perspektif 3D ke sumber, memungkinkan panning, tilting, dan zooming untuk estetika yang dinamis.
|
11 |
+
5. **Composite Blur:** Menyediakan berbagai pilihan blur untuk menyensor informasi atau membuat efek, dengan kontrol granular atas intensitas dan area.
|
12 |
+
6. **Stroke Glow Shadow:** Menyederhanakan penambahan garis luar, cahaya, dan bayangan ke sumber, memungkinkan penyesuaian dan penggunaan sumber lain untuk efek unik.
|
13 |
+
7. **Advanced Masks:** Memungkinkan pembuatan bentuk masker langsung dalam OBS, menyederhanakan pemotongan sumber menjadi lingkaran, bintang, atau bentuk kompleks lainnya.
|
14 |
+
8. **OBS Shader Filter:** Menyediakan berbagai filter shader untuk efek visual yang unik, dari distorsi dan warna hingga simulasi CRT dan lainnya.
|
15 |
+
9. **Win Capture Audio:** (Hanya Windows) Meningkatkan fitur pemisahan audio bawaan OBS, yang memungkinkan penetapan beberapa program ke sumber audio untuk organisasi yang lebih baik.
|
16 |
+
10. **Gradient Source:** Memungkinkan pembuatan sumber gradien dengan beberapa warna dan penyesuaian, ideal untuk latar belakang, batas, dan elemen desain lainnya.
|
17 |
+
|
18 |
+
Video ini juga menyoroti plugin yang patut diperhatikan untuk kemampuannya, seperti membuat gradien warna halus, memotong kamera menjadi bentuk, menambahkan efek blur, dan membuat transisi yang dinamis. Pembuat konten juga menekankan pentingnya menjelajahi fitur plugin melebihi penggunaan dasarnya, yang mendorong pemirsa untuk bereksperimen dan menemukan kemungkinan kreatif.
|
19 |
+
|
20 |
+
Terakhir, video tersebut menyertakan promosi bersponsor untuk VIP CD Keys, menawarkan diskon untuk lisensi Windows 11 dan Windows 10 menggunakan kode yang disediakan. Video tersebut diakhiri dengan ajakan untuk bertindak bagi pemirsa untuk berbagi plugin favorit mereka, terlibat dengan konten pembuat konten di platform lain, dan mempertimbangkan untuk mendukung mereka di Patreon untuk konten dan keuntungan eksklusif.
|
tes.py
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
1 |
+
import torch
|
2 |
+
print(torch.__version__)
|
transcription_and_summary_output.txt
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Transcription for YouTube URL: https://www.youtube.com/watch?v=Ca9ijnxlyMw&t=220s
|
2 |
+
|
3 |
+
Hai, kembali lagi denganku, seorang penyelam teknologi AI. Selamat datang kembali di Ryusui Kagaku Channel. Sebelum kita lanjut ke dalam video, jangan lupa untuk mensubscribe channel ini. Aku membahas topik seputar perkembangan teknologi AI, untuk membantu kalian tetap up to date dengan informasi-informasi terkini. Oke guys, jadi kali ini kita bakal coba untuk screening Twitter ku ya Jadi kita bakal cari update-update terbaru tentang AI ada apa aja karena biasanya aku dapat update terbaru tentang teknologi itu dari Twitter yang paling pertama walaupun Twitter ku enggak sepenuhnya tentang AI ya dah nyampur-nyampur layak ini ada trending Sora Sora eka ini harus orasi apa Oke ini ada ngebandingin antara ini ya teknologi AI video terbaru jadi yang baru-baru keluar tuh ada klink luma Sora terus runway sekarang mereka ngeluarin gen3 Alfa sebelumnya mereka punya jentuh sekarang mereka udah ngeluarin yang generasi ketiga gitu ya untuk bersaing dengan klink luma dan Sora Sora kalau Sora kayaknya masih belum ya belum rilis enggak sih guys kalau luma udah hype belakangan ini ini apa ada open Sora model gimana ceritanya bisa ada open Sora open Sora videoo Kita coba lihat musik kurang sih menurutku ya soalnya open Sora kan Sora dibuat sama openai kalau ada yang bikin versi publiknya dia dapet codingan dari mana anjir dia dapat data dari mana? second step ahead of open AI open Sora ini video-video mereka guys masih belum dapet aku mereka kenapa mereka nyebut mereka itu open Sora kenapa gak pake nama yang lain gitu emang Sora versi open source nya atau gimana ini apa lagi nih your AI girlfriend is alive use SD to create Luma to bring up Jadi di post ini dia pake Stable diffusion untuk bikin gambarnya Terus Luma untuk menggerakkan Image nya di videonya Luma ini keren sih Aku belum coba secara dalam tapi ini apalagi nih not a huge style shift but look how well it face of expression and lift movement hmm kayak dari video aslinya dia kasih styling pakai AI tapi pergerakan mulutnya masih dapet cuma ini sih dia ngepost doang enggak ada taruh tutorialnya nah ini kayaknya yang agak masih hangat yang juga baru lihat ini tadi pagi ini untuk bikin gambar itu supaya kita inputnya gambar dan audio nanti gambar itu bakal gerak kepalanya gerak minimalis gitu dan mulutnya juga bakal ngikutin input audio yang kita masukin you are Balenciaga hari nah ini contoh yang lebih detailnya dengan berbagai style potret. You know, Mandarin has its own version of super cool, and that is, I have a dream, that one day, this nation will rise up. Perkanto riguarda cinema russo, esso giovo di una relativa autonomia, garantita anche dallo stop delle importazioni 29th marked a significant milestone in the fight against human trafficking. As our president signed into law the justice for Keren sih itu guys, banyak bisa kita pakai bikin berita bikin video tiktok atau apa gitu Nah ini dia juga pakai luma nih gambarnya digeret pakai major nih terus digerakin pakai luma yudio prom nih nggak tahu apa-apa yudio prom yudio Oh buat dapat musiknya coba dengerin musiknya video ini kalau nggak salah text to audio atau text to music you Dio ya jadi dia masukin promnya ini teksnya kan nanananananana cil fantasia Epic Classic mitologi kesan tiba-tiba di generate om musik atau audio sesuai yang promen kita minta ada apa lagi ini apa nih video juga tapi Google dikmain dari Google punya kah nih ada contoh video dari runway generasi tiga ya menang kalau runway itu berbayar sih video ombak-ombakan gitu guys video banjir kali ya splash splash splash splash turun tukeran wj3 tapi berbayar ini apa nih masa-masa ini ya Hai sini ya orang parkur nih bapak parkur Oke iya beberapa bagian kelihatan ya sih tapi eka romnik Nick which journey going to train their video model ini video apa? gak tau deh guys, belum jelas ini infonya oh ini ada yang pake lalu nih, tadi yang kita bilang bisa gerakin mulut dan gerakin kepala ini dia pake gambar 2 dimensi, tapi mulutnya jadi mulut real ya I'm looking for a man in finance with trust fund 6'5, blue eyes finance, trust fund 6 65, blue eyes, finance, trust fund, 65, blue eyes Mungkin kurang bagus kalau kalian mau pakai halo ini di gambar-gambar anime Ini keren sih ini, ini pakai luma juga Bisa bikin movie k-pop sendiri kalian, mv k-pop Tapi ini duduknya melayang sih kita coba liat dari di kereta tiba-tiba pindah ke kamar gitu ya nih juga luma punya aja pakai stable fusion 3 dan luma-luma bisa bikin yang apa namanya kayaknya cukup di tahta tertinggi untuk bikin AI video Luma ini untuk sementara nah ini ada yang pake halo lagi nih kita coba liat beri aku kesempatan bagaimana beri kamu kesempatan? saya tidak bisa memilih semua saya ingin memilih orang yang baik怎麼給你機會?我以前沒有得選我現在想選擇好人好的 to get anything of value you can't dwell on something that might have been Bryce not fair advice bastard never forget what you are the rest of the world will not ya kayaknya sih ini emang bagusnya untuk ini ya karakter-karakter yang mulutnya tuh mulut manusia jadi kalau mulut anime gitu gak bisa, mungkin kurang bagus hasilnya dan kalau di video demo ini mereka nunjukin di bawah ini film aslinya gitu kan ya, dan gerakan mulutnya terus mereka ambil audionya mereka gerakin pake untuk input AI yang di atas ya audionya audionya dipake input ke dalam gambar jadi gambarnya bakal gerak kepala dan mulutnya menggunakan halo keren keren keren ini ada orang bikin iklan mungkin atau movie pendek jadi pakai mid journey terus pakai luma editnya kayaknya manual splicenya aku nggak tahu Lightroom nih yang penting manual sih kalau Lightroom ya song songnya juga song yang udah ada di internet bukan pakai AI kita coba lihat Sip sih guys sebentar lagi kerjaan videographer yang bakal disikat sama AI ya sudah mulai ada ciri-cirinya ini runway gen 3 lagi Wow bikin video yang abstrak gitu ya abstrak ala efek-efek film ini runway generasi 3 juga tiba-tiba pake wig sama pake kacamata kayaknya sementara masih itu aja guys untuk kali ini ya udah aku scroll juga rata-rata yang lagi hangat dibahas itu luma terus runway generasi 3 sama halo ini ya itu sih utamanya yang mereka pada bahas in Sekian dulu untuk update news terkait teknologi dari yang kita screening tadi Apakah ada yang membuat kalian tertarik untuk kita bahas lebih dalam kalau ada bisa tulis di kolom komentar nanti aku bakal coba untuk bikin videonya untuk menggali lebih dalam terkait teknologi AI tersebut Thank you Udah nonton sampai akhir, sampai jumpa di video selanjutnya Bye-bye
|
4 |
+
|
5 |
+
Summary:
|
6 |
+
## Resume Transkrip Video "Update Teknologi AI dari Twitter"
|
7 |
+
|
8 |
+
Video ini membahas update terkini seputar teknologi AI berdasarkan tren di Twitter. Beberapa poin pentingnya adalah:
|
9 |
+
|
10 |
+
**Teknologi Video AI Terbaru:**
|
11 |
+
|
12 |
+
* **Persaingan antara teknologi video AI generasi terbaru seperti Gen-3 Alpha dari Runway, Luma AI, dan Sora dari OpenAI.**
|
13 |
+
* **Keunggulan masing-masing teknologi, seperti Luma AI yang sudah banyak digunakan dan diapresiasi, sementara Sora masih dalam tahap pengembangan.**
|
14 |
+
* **Munculnya OpenSora, versi open-source dari Sora yang menimbulkan pertanyaan tentang sumber data dan kode yang digunakan.**
|
15 |
+
|
16 |
+
**Fitur dan Kegunaan:**
|
17 |
+
|
18 |
+
* **Luma AI digunakan untuk berbagai keperluan, seperti membuat video musik, konten media sosial, hingga film pendek.**
|
19 |
+
* **Halo AI memungkinkan menggerakkan gambar statis, termasuk sinkronisasi gerakan bibir dengan audio.**
|
20 |
+
* **Peningkatan kualitas dan kemampuan teknologi AI dalam menghasilkan video, termasuk video abstrak dan efek visual yang menarik.**
|
21 |
+
|
22 |
+
**Tren dan Antusiasme:**
|
23 |
+
|
24 |
+
* **Luma AI, Runway Gen-3, dan Halo AI menjadi perbincangan hangat di kalangan pengguna Twitter.**
|
25 |
+
* **Banyak yang antusias dengan potensi teknologi AI ini dalam merevolusi industri kreatif dan video.**
|
26 |
+
* **Kekhawatiran muncul tentang dampaknya terhadap profesi seperti videografer.**
|
27 |
+
|
28 |
+
Video ini memberikan gambaran tentang perkembangan pesat dan antusiasme terhadap teknologi AI, khususnya dalam bidang video. Diharapkan teknologi ini dapat terus berkembang dan memberikan manfaat bagi berbagai bidang.
|
transcription_output.txt
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
Welcome to the OBS plugin hall of fame. If you're a beginner and this is your first time experimenting with OBS plugins, well then you came to the right place because I literally don't ever do anything else with my life. Anytime I install OBS, these are my 10 go-to plugins that I immediately install and we've covered most of these on the channel before, but I think now would be a good time to step back and reflect on where we're at in 2024 because there's a lot of plugins that I've recommended in the past that I don't recommend anymore. And even if you've heard of every plugin on this list, at least you can feel validated and be like, oh yeah, hell yeah, dude, I got like all of that stuff. I specifically picked the plugins that pretty much every streamer can take advantage of. You should be installing every single one of these. But for the people that are new to this channel, what is an OBS plugin and how do I install one of these bad for the people that are new to this channel what is an obs plugin and how to install one of these bad boys essentially an obs plugin is a thing you can install to add more features to obs whether they're simple quality of life changes or stuff you just straight up couldn't do before all the plugins that we're going to talk about today are very easy to install i've left them linked down below you just click on the download button get the installer follow the instructions and then reboot obs afterwards and all of them with the exception for i think one support mac and linux and i'm assuming if you use linux then you know how to install plugins otherwise why the are you using linux and finally we don't get this question often anymore, but for the one person that's like, oh my God, what about Streamlabs? No, none of these support Streamlabs. So you're gonna have to switch to regular OBS if you want to use any of these. Number 10 is gradient source. Now, OBS already has the ability to create solid color sources, but you could only choose one color. Gradient source allows you to create smooth gradients. So you could choose the colors for your gradient, you can adjust the midpoint, you can change the number of colors in your gradient. It's really nice for creating colored accent pieces for your stream. Like if you wanted to create a simple border for your camera, you could do that directly in OBS. Once you get more advanced with OBS, you could do more stuff, like you could add other filters to that gradient source. Maybe you wanna make it like a scrolling kind of wave rainbow effect, like one of those light up keyboards. Or if you're really advanced, you can even make the color react whenever events happen in your stream, like whenever you get a sub. The only reason why I put this at number 10 is because the colors is not really that exciting number nine is win capture audio this is the most simple way to split up your audio in obs so if you want to play music and hear them in your headphones but not have that go out to your stream or maybe you want to adjust your game volume just for your stream without it affecting what you hear in your headphones, this is the simplest way to do it. And if you record YouTube videos, it's also possible to separate each audio source onto different tracks so that you can split them up later when you're editing them in Resolve or fucking Adobe shit, whatever it's called, the one that takes all your money. I would have this one higher on the list, but one, it only supports Windows and two, the feature is already built into OBS. However, the one that's built into OBS is an older version of the plugin that only allows you to set one program per audio source. The newer version allows you to tie multiple programs to a single audio source. So say you play like five different games, you can just have all your games on one audio source instead of five different sources. You know what else has win in it? Windows 11, which is like really expensive. You can like save money with today's spot. This is like the worst segue in all of human history. VIP SCD keys. If you guys have been looking like save money with today's this is like the worst segue in all of human history vips cd keys if you guys have been looking to save money on a windows 11 license you can get a windows 11 pro key for as little as 21 just make sure to use the code nutty at checkout to get 30 off to get it for that price and if you want to save even a little bit more money you could just get a windows 10 key and then all those keys can just be upgraded to Windows 11 for free. And those keys cost $15. Just make sure to use a secure payment method at checkout like PayPal. They'll send you an activation code. You go into your Windows settings, slap the code in, and then you're done. I've been using VIPSE keys for a few years now and all their keys have been super poggers. So check them out, link down below. And yeah, thanks for sponsoring this video. Number eight, OBS Shader Filter. This one allows you to add really cool effects to your camera or any source for that matter. There's effects like this fisheye effect, some distortion effects, this shaking camera filter. Lots of really cool filters and most of them have their own settings you can adjust so you can fine tune them to make them look the way that you want. OBS shader filter works best when you combine shaders together. So for example, if you wanted to create an old CRT TV aesthetic, you can add a CRT curvature shader and then add a scanline shader. Then on top of that, you can add some color correction to make it look kind of blue. I use this effect for my heads up display and I even made it face tracking using something else that we're going to talk about later. There's also a shader that lets you infinitely rotate a source. There's one that makes your camera go wavy like in Yoshi Yoshi's Island, where Yoshi like eats the drugs and then he's like all high and stuff. I use OBS Shader a lot and I would have had it higher, but some of the shaders are pretty buggy and some even crash OBS. It's pretty hit and miss, but you can create some really unique aesthetics with the right combination of shaders. Number seven is the Advanced Masks plugin. This is a fairly new one, but it's one of those plugins that immediately made me think, why did this not exist like five years ago? If you've ever wanted to cut your camera into simple shapes like circles, stars, like the really long circles, or maybe you just wanted to add simple rounded corners to your camera. This plugin lets you do that all within OBS. You could just use the built-in image mask feature and create your own PNG, import that into OBS to make whatever shape you want. But this is a lot simpler and you can adjust it right within OBS. So you could adjust the corner radius of your camera and actually see the adjustments in real time rather than having to recreate a PNG over and over again. You could also use one source as a mask for another source. So for example, if you're using a green screen camera, you can cut your body into the Egyptian pyramids. And it works really well with the next plugin, Stroke Glow Shadow. This might be one of the worst names for a plugin ever, but it is self-explanatory. It allows you to add outlines, glows, and drop shadows to any source in OBS. So let's say you've used the Advanced Mask plugin to cut your camera into the shape of a circle. Then you can use this plugin to add an outline or a drop shadow or both. It's very adjustable too. You could adjust the thickness of the border. You can add an offset. You can change the strength of your drop shadows. And like the Advanced Mask plugin, you could use other sources as the outline. So instead of using a boring solid color for the outline, you could combine it with the gradient source plugin that we talked about earlier and you could have like this two-tone color border instead number five is composite blur you know what fuck it i'm gonna keep that in this video this one adds a really simple blur filter into OBS. You can use this one to blur out your screen or a portion of your screen. So maybe you're playing a game like Jackbox that has like a room code and you want to hide just the room code, or maybe you just want to censor out private information in your stream. There's different types of blur effects as well. I use the pixelate option for this RTX off channel point reward where my whole screen Turns into one of those Japanese films that I definitely don't watch Anime there's also feathering options If you want to soften the edges pretty much everything you need for a proper blurring and it's also very lightweight As long as you use the dual kawase option. Now, if you've ever wanted to tilt your camera in 3D space, 3D Effect is the plugin you'll need. It's got pan, tilt, and zoom control, roll, pitch, and yaw adjustment. I personally use this in my just chatting scenes in between games, which I never play, but just pretend that I play games. I made this a smaller version of the gameplay, added some rounded corners, then I added a nice 3D tilt to it. I also added some rounded corners. I just said that. And some drop shadows using the Stroke Glow Shadow plugin. And I think this looks really clean and minimal for an intermission scene. Just don't copy my idea, okay? Come up with your own. Number three is called Downstream Keyer. Now, I just made a video on this like a few hours ago, so you probably saw that video last week. That's why I'm wearing the same thing. If you've ever wanted to have global sources that show on all of your scenes, this is the plugin to do it. Like, let's say you have a video file and you want that video to be displayed no matter if you're on your just chatting scene, gameplay scene, BRB scene. This is what you'd use downstream here for. You can also use it to apply global filters that affect the entire screen. So let's say you're using that wave filter from earlier. You can make that affect the entire screen so let's say you're using that wave filter from earlier you can make that affect the entire screen even through scene changes not just your camera not just your gameplay the whole thing it's really cool number two is that you guys watching anymore like I don't know you leave a comment or something and tell me like yeah dude I'm like still here man I'm still wide awake. We're like, wake up. Okay. I'm still talking. Number two is source clone. Have you ever run into the problem where you want your camera to look normal on your just chatting scene, but then on your gameplay, you want it to look circular, but then you can't do that because when you apply filters, the one that just affects it everywhere. Well, this is what you use source clone for source clone allows you to make an exact copy of your camera so that you can apply filters to that clone without affecting your original camera or whatever source you're using so in that previous example of the intermission scene that had the 3d gameplay what i did was i added a source clone of my gameplay and I applied all the filters to that clone. That way, when I go back to my gameplay scene, my gameplay scene isn't in 3D. Out of all the plugins in this list, this is probably the one plugin that I think has to be built into OBS at some point. I cannot believe that OBS doesn't have this built in. And finally, the greatest OBS plugin of all time, the GoPotes, the king of OBS plugins. You know what it is? It's Move Transition. If you've ever watched anyone that has these animated transitions where their camera starts large and then it shrinks small on their gameplay scene, or they're doing these crazy animations, they are most likely using Move Transition. But I don't think people realize just how many features Move Transition has by this point. Because not only can you slide sources around the screen, you could animate other filters like that 3D filter. You can make sources react to the sound of your voice. You can do typing text animations. You can even have sources that track onto your face and move as your face moves around. Or if you've got one of those fancy face tracking cameras, you can control the physical gimbal using simple filters in OBS. There's so much you could do with the Move plugin. Most people just use it for transitions and then call it a day, but it does so much more than that. I could literally make like 10 videos on Move transition. But there it is. I have crowned the greatest OBS plugin of all time, the GoPote. Guys, let me know what your gobspote is down below. And if you're new to this channel, then leave a comment down below being like, wow, you're awfully passionate about this broadcasting software. Guys, check me out on Patreon. I've been releasing some exclusive widgets for streamers. They're $10 a month. We just released the Game Boy Camera widget that you guys can add to your stream. It're ten dollars a month we just released the game boy camera widget that you guys can add to your stream it's ten dollars a month but you can only just just pay for one month you don't have to pay for every month and if you want to ask me any questions about streaming come check me out on twitch or join the discord server and you can ask for help there get some feedback for your stream show show us uh show the ends uh see ya
|