iT邦幫忙

2

Youtube 自動上字幕 使用 whisper+cuda +作品

  • 分享至 

  • xImage
  •  

Youtube 與 AI chat 要結合最大困難是 timeout 問題
1.Youtube 轉檔上字幕都需時間
2.AI chat 封裝較好的會預設 30秒,30 秒後會出現 timeout
所以經過多日研究終於完成了,我加了以下 fuction

import asyncio
def long_running_sync_function2():
    Transcrib('youtube_download.mp4')
    return "生成字幕已完成"
    
result = await asyncio.to_thread(long_running_sync_function2)    

OBS直播換臉
https://ithelp.ithome.com.tw/upload/images/20240701/201360761fFqE61PKK.jpg
視訊即時換臉
https://ithelp.ithome.com.tw/upload/images/20240701/20136076bqvt3gjmNs.jpg
作品:
https://ithelp.ithome.com.tw/upload/images/20240629/20136076gbdjS5rBua.jpg
https://ithelp.ithome.com.tw/upload/images/20240629/20136076chGyA7W3gV.jpg
1.使用 YT-dlp 命令下載
--yes-playlist 確保當網址指向播放列表時也會被處理
--output 定義下載的影片檔名格式,加上章節名
--ignore-errors 當某個影片因為版權等問題無法下載時,會跳過繼續下載其它影片
--format bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best 指定下載 MP4 格式的影片
--split-chapters 將影片按章節分割並下載
2.使用 whisper
安裝:
安裝FFmpeg,輸入pip install ffmpeg-python or conda install -c conda-forge ffmpeg
安裝whisper pip install -U openai-whisper
whispe — help 看是否有上 cuda(要有輝達顯卡)
https://ithelp.ithome.com.tw/upload/images/20240629/201360761ube6eAawx.jpg
卸除pytorch,輸入 pip uninstall torch
清除快取,輸入 pip cache purge
指定安裝cuda,輸入 pip install torch torchvision torchaudio — extra-index-url https://download.pytorch.org/whl/cu118

輸入whisper stable_diffusion.mp4 — language zh — device cuda
3.[FFmpeg] 烙印字幕至影像上
ffmpeg -i input.mp4 -vf "subtitles='sub.srt'" output.mp4

成果如下:
https://ithelp.ithome.com.tw/upload/images/20240629/20136076Iz978ITZXC.jpg
https://ithelp.ithome.com.tw/upload/images/20240629/20136076LAYxQRvvJp.jpg


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言