fix(music-lab): pipeline 오디오 경로 + ffmpeg 에러 가시성

- orchestrator._run_video: track.file_path 우선 사용 (audio_url 변환 불필요)
- _local_path: /media/music/ → /app/data/ (마운트가 /app/data 직접이라 music 서브디렉토리 없음)
- video.py/thumb.py: stderr truncation [-800:]/[-500:] — 진짜 에러 보이게
This commit is contained in:
2026-05-08 22:50:13 +09:00
parent 4f67cd02fa
commit 2c13e7cc85
3 changed files with 8 additions and 5 deletions

View File

@@ -104,7 +104,7 @@ async def _run_cover(p, track, feedback):
async def _run_video(p, track):
setup = db.get_youtube_setup()
vd = setup["visual_defaults"]
audio_path = _local_path(track.get("audio_url", ""))
audio_path = track.get("file_path") or _local_path(track.get("audio_url", ""))
cover_path = _local_path(p["cover_url"])
out = video.generate(
pipeline_id=p["id"], audio_path=audio_path, cover_path=cover_path,
@@ -162,14 +162,17 @@ async def _run_publish(p, track):
def _local_path(media_url: str) -> str:
""" /media/videos/123/cover.jpg → /app/data/videos/123/cover.jpg """
""" /media/videos/123/cover.jpg → /app/data/videos/123/cover.jpg
/media/music/abc.mp3 → /app/data/abc.mp3 (music mount at /app/data, no subdir)
"""
if not media_url:
return ""
base_media = os.getenv("VIDEO_MEDIA_BASE", "/media/videos")
base_data = os.getenv("VIDEO_DATA_DIR", "/app/data/videos")
if media_url.startswith(base_media):
return media_url.replace(base_media, base_data, 1)
# /media/music/abc.mp3 → /app/data/music/abc.mp3
if media_url.startswith("/media/music/"):
return media_url.replace("/media/music/", "/app/data/", 1)
return media_url.replace("/media/", "/app/data/", 1)