All fixes verified working:
- Video download for videos without official subtitles
- Whisper transcription with correct offset parsing
- Text extraction from Whisper JSON format
- End-to-end analysis with real video content
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- When content_type is video and no official subtitle available:
- Download video using yt-dlp
- Extract audio for Whisper fallback
- Update content_file with actual video path
This enables the pipeline to handle videos that don't have
official Bilibili subtitles.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Root cause: BilibiliExtractor sync wrappers use asyncio.run() internally,
which fails when called from async context in BilibiliAdapter.
Fix: Call async methods directly instead of sync wrappers.
Verified: Human confirmed fix works (bilibili_BV16cNMzpExh)