Skip to content

fix: duration not actually corerespond with video duration problem - #54

Open
jaesm14774 wants to merge 1 commit into
kijai:mainfrom
jaesm14774:main
Open

fix: duration not actually corerespond with video duration problem#54
jaesm14774 wants to merge 1 commit into
kijai:mainfrom
jaesm14774:main

Conversation

@jaesm14774

Copy link
Copy Markdown

feat: 實現智能時間插值以確保音訊時長與指定 duration 完全匹配

核心改動:

  • 當影片幀數不足時,使用 trilinear interpolation 自動擴充幀數
  • 確保生成的音訊時長嚴格遵守指定的 duration 參數
  • 解決之前「影片後半段沒聲音」的問題

技術細節:

  • 新增 input_fps 參數(可選,預設 16.0)用於計算和顯示資訊
  • 使用 PyTorch F.interpolate 在時間維度進行 3D 插值(mode='trilinear')
  • 自動檢測 CLIP 和 SYNC 幀數需求,按需插值
  • 移除舊的「自動縮短 duration」邏輯

效能優化:

  • 批次處理時間插值,充分利用 GPU 加速
  • 移除 torchvision.transforms 依賴,直接使用 PyTorch 張量操作
  • 優化記憶體佈局,使用 contiguous() 確保連續性

範例:

  • 之前:101 幀 @ 16fps → 只生成 3.84 秒音訊
  • 現在:101 幀 @ 16fps → 插值到 158 幀 → 生成完整 6.31 秒音訊

注意事項:

  • 插值會產生輕微慢動作效果(通常不明顯)
  • 建議 duration 不超過影片實際時長的 2 倍
  • 幀數充足時不進行插值,零品質損失

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant