This commit is contained in:
gustavooth
2026-07-28 20:23:41 -03:00
parent 9de08ceef7
commit 8d4cf22366
44 changed files with 5157 additions and 1124 deletions
+57
View File
@@ -0,0 +1,57 @@
use backend::browser::{BrowserModule, BrowserModuleConfig};
use backend::proxy::ProxyConfig;
use backend::transcript::{TranscriptConfig, YoutubeTranscriptProvider};
use backend::usage::DataUsageTracker;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let _ = dotenvy::dotenv();
backend::logs::init();
let request_id = "diag-transcript";
let video_id = std::env::args()
.nth(1)
.unwrap_or_else(|| "dQw4w9WgXcQ".into());
let proxy = ProxyConfig::from_env(request_id)?;
let usage = DataUsageTracker::new();
let browser = BrowserModule::new(
proxy,
BrowserModuleConfig {
no_sandbox: true,
navigation_timeout_secs: 75,
min_navigation_delay_ms: 500,
max_navigation_delay_ms: 1_500,
..Default::default()
},
usage,
)?;
let provider = YoutubeTranscriptProvider::new(
browser,
TranscriptConfig {
max_attempts: 1,
timeout_secs: 180,
max_concurrency: 1,
..Default::default()
},
)?;
println!("buscando legenda do vídeo {video_id}...");
match provider.fetch_transcript(request_id, &video_id).await {
Ok(t) => {
println!(
"OK language={} generated={} chars={} preview={:?}",
t.language_code,
t.is_generated,
t.text.len(),
t.text.chars().take(120).collect::<String>()
);
}
Err(e) => {
println!("ERRO: {e}");
std::process::exit(1);
}
}
Ok(())
}