video2blog 視頻轉圖文AI小工具正式開源啦

前言

最近對一些小細節做了很多處理,但是其實還是有非常多的問題,沒辦法時間畢竟時間有限。爲什麼在這個時候開源,因爲主要功能可以全部跑通了,分支暫時沒開發的功能也可以通過其他的工具來替代。

這個工具開發初衷(想法來源),我之前有一篇文章有詳細的說明,有興趣的可以看一下https://mp.weixin.qq.com/s/5o3Oioh6ktX1QOWHVuIqXg

整體技術棧

video2blog-tech.excalidraw

  • electron 來做跨端
    目前在win10和mac(intel和M系列)都可以跑起來,win11和linux系統暫時沒測試。
    當時差點選了tauri,主要考慮自己業餘來做,時間沒那麼多,後來就又選擇了electron,時間上相對來說可控一些。
  • vite+vue3+naive-ui
    我自己和在公司都主要使用vue3,所以這裏選擇了自己最上手的,然後UI的話,用夠了element-plus,所以這裏嚐嚐naive-ui
  • sqlite3數據庫
    我這裏的是一個客戶端工具,很多數據都存到了數據庫,更方便的管理數據
  • 打包:暫時使用 github的 action鉤子,可以跑起來,但是打包出來的 window和mac客戶端還存在問題(有時間再看看能不能解決)
  • yt-dlp
    這是一個開源項目;https://github.com/yt-dlp/yt-dlp
    現在擁有71.9k star,是一個功能豐富的命令行音頻/視頻下載器,支持數千個站點。該項目是基於現在不活躍的 youtube-dlc 的 youtube-dl 的一個分支。

這裏我只測試了youtobe平臺,其他平臺待有時間再進行測試。

  • ffmpeg
    通過ffmpeg來獲取下載視頻中的圖片,然後通過python來進行去重處理
  • mdnice
    一個不錯的markdown 博客寫作平臺,我暫時簡單對接了這個平臺,主要是使用它的圖牀功能。

整體功能介紹

video2blog.excalidraw
根據上圖其實可以很清晰的瞭解我小項目的整體功能,下面簡單說一下如何使用。

image

  • 1、輸入youtobe視頻鏈接或視頻地址
  • 2、點擊獲取視頻字幕文件(可選擇下載視頻與否)
  • 3、下載完畢後,應該會選中左側當前的視頻(可查看是否存在字幕文件)

image

  • 4、存在字幕的情況下,右鍵字幕

image

  • 5、可複製字幕和轉換的prompt
    這裏我直接複製給了谷歌的gemini最新的flash模型

image
100多秒鐘生成完畢

image

  • 6、可以直接複製生成後的markdown文本到我客戶端的富文本編輯器中來

image

複製過來後,可以順便點一下右上角的保存,免得信息丟失的問題。

  • 7、在富文本中,找到目錄右鍵

這裏的目錄,主要是通過我的prompt來生成的,其中目錄上最重要的就是時間戳的時間區間,因爲我要通過這個時間區間來取視頻中的圖片,如果沒有時間戳區間,右鍵是沒效果的

image

  • 8、點擊獲取圖片後,第一次是要掃碼確認身份的

這裏我爲了省事,暫時我對接了https://mdnice.com/,因爲對我這個客戶端來說直接應用起來還是非常方便的,所以你暫時可以不用擔心數據問題。如果後期真有需求,我也可以對接其他的平臺,或者完全的自建平臺,好了吹牛逼有點過了。

image

  • 9、掃碼確認身份之後,便開始獲取圖片,並進行圖片的去重

image

如果要將圖片添加到筆記之中

  • 10、選中複選框即可,可以多選,選完之後點擊確定
    此處圖片可以點擊進行放大查看,在預覽區也可進行查看放大圖片,有時候小圖可能看不清楚。

image

  • 11、然後調整圖片在富文本中顯示的位置

右側就會進行預覽顯示,同時沒事的時候可以點擊右上角的保存。防止數據丟失。

  • 12、最後可以全選編輯區的markdown內容
    直接複製到對應的平臺或者通過markdown轉換爲html文檔。
    說到這裏其實可以加個按鈕,方便拷貝內容。

目前現存的主要問題

  • 沒有對接AI,暫時是通過拷貝到AI相關的客戶端得出結果後,再拷貝回來保存。

  • whisper還沒對接,主要是研究了一段時間發現了很多問題吧,後期有時間還會繼續研究,對python的各種使用還要繼續深入纔行。

  • 圖片上傳暫時對接的mdnice,主要是上傳圖片大小有2M的限制。

  • 圖片去重的效果還待繼續驗證。

  • 如果是想英譯漢活着漢譯英,暫時也沒對接AI的API。

  • sqlite數據庫初始化問題未處理
    每次數據庫相當於我本地打包進去的,應該要跟隨客戶本地進行獨立升級。

未來還可以優化的點

  • whisper還沒做好,同時可考慮本地直接上傳視頻
  • 翻譯功能還是非常有必要的
  • 數據庫:現在是手寫sql看後面替換爲模型驅動
  • 數據庫變更和初始化問題解決
  • 自動化編譯靜態文件拷貝有問題
  • 感覺首次啓動很慢白屏的問題
  • 生成的圖片進行壓縮處理
  • 圖片也可以考慮整個視頻一起去重(估計很慢)
  • 自動化同步到某平臺
  • 後期AI可對接到Gemini,以及其他某些AI平臺,例如claude3或kimi等
  • 暫時只支持中文版本,後期可以加上多語言切換(主要以中英爲主)
  • 下載視頻進度、圖片處理進度、AI調用進度、翻譯進度等
  • 對yt-dlp還可以繼續深入學習,目前知識讓程序能跑起來了
  • ffmpeg也是同理
  • 等等等等,小的細節我已經處理了很多,感覺還有非常多的優化點
  • 其實第二個版本優化我也想好了(emo......)

總結

想法再多,我還是動起來了,過程中其實遇到了非常多的問題,自己也一個一個的攻克了,因爲真的是有很多的東西都要去學習,任何一個沒搞定,可能就放棄了。

image

其實從最開始寫第一行代碼,我就開源了,只是當時肯定沒人知道吧。前段時間剛好被一位超級網友[有爲卻繁星]看到,他簡單的幫我分享了一下,然後收穫了非常不錯的star數,就如同上面的截圖,大部分都來自於他的分享,在此非常的感謝。
好了,最後還是貼上我的開源項目地址:
https://github.com/aehyok/video2blog

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章