MP4 轉 TXT 專案與 M3U8 下載指令碼

生产队的扛把子發表於2024-10-16

專案背景

在當今資訊社會,影片學習已成為一種重要的知識獲取方式。然而,許多使用者在觀看影片的過程中,效率往往低於預期。為了提升學習效率,我們決定開發一個將 MP4 影片轉換為 TXT 文稿的專案。此外,很多影片在微信網頁上播放,無法直接下載,主要採用 M3U8 格式進行流式傳輸。這促使我們尋找解決方案。

專案目的

  • 提升學習效率:透過將影片轉換為文字,使用者可以直接獲取文稿內容,提高學習效率。
  • 實現資源下載:針對 M3U8 格式的微信影片,透過特定的指令碼實現下載功能。

解決方案

  • 針對問題一:MP4 轉 TXT 的專案
    我們在 GitHub 上新建了一個專案,名為 mp4-to-txt-using-ffmpeg-wenet。該專案旨在提供一種高效的方式,將 MP4 影片內容提取為 TXT 文稿。專案中包括詳細的 README 文件,幫助使用者順利使用工具。
  • 針對問題二:下載 M3U8 影片

為了解決微信網頁中 M3U8 影片無法直接下載的問題,我們編寫了一段 shell 指令碼。該指令碼使用 FFmpeg 工具能夠下載 M3U8 影片流。以下是指令碼的程式碼:

#!/bin/bash  
urls=(
    "https://xxx"    # 在此處替換為影片的真實 URL
    "https://xxx"    # 可以新增更多影片連結
)
for ((i=0; i<${#urls[@]}; i++)); do
    # 計算檔名,從0開始編號  
    file_num=$((i))
    file_name="${file_num}.mp4" 

    # 使用ffmpeg下載並轉換(注意:這裡假設ffmpeg可以直接處理.m3u8)  
    # 如果.m3u8是一個HLS播放列表,你可能需要額外的步驟來合併片段  
    ffmpeg -i "${urls[$i]}" -c copy "${file_name}" 

    # 輸出檔案已下載的資訊  
    echo "已下載: ${file_name}" 

done

使用說明

替換 URL:在指令碼中的 urls 陣列中,將 "https://xxx" 替換為實際的 M3U8 影片連結。若有多個影片,可以繼續按此格式追加連結。
查詢 M3U8 URL:
    將微信影片網頁複製到 Chrome 瀏覽器中。
    按 F12 開啟開發者工具,切換至“網路”選項卡。
    按 F5 重新整理頁面,然後在過濾欄中輸入 m3u8 以檢索相關報文。
    找到對應的 M3U8 報文,在其頭部中檢視 GET 請求的 URL。
執行指令碼:確保 FFmpeg 已安裝,然後在終端中執行該指令碼,等待下載完成。

總結

此方案有效解決了影片學習效率低下的問題,以及無法直接下載微信網頁中的 M3U8 影片的問題。希望該專案能夠幫助更多學習者輕鬆獲取所需資訊,有效提升學習效率。如有疑問,請參考 GitHub 專案中的詳細文件或評論聯絡。

相關文章