新發現

最近靈光剛出來,我用它生成了視頻後下載發現是帶水印的,如下:

image.png

但是我發現用網頁瀏覽器的開發者模式F12,可以直接拿到視頻地址,這樣下載的視頻是沒有水印的。

image.png

拿到網址後複製到瀏覽器點擊下載

image.png

下載後沒有水印!

image.png

感興趣快去試試吧!

題外話:很多網站的視頻通過 F12(開發者工具)可以直接拿到。

主要是因為:

1. 視頻並非真正加密,只是“隱藏”了地址

  • 大多數網頁視頻播放的本質是:瀏覽器向服務器請求一個視頻文件地址(URL),然後逐段下載播放。
  • 這個地址通常可以在 Network(網絡)面板 中找到,尤其是類型為 mediaxhrfetchm3u8 的請求。
  • 只要你能找到這個地址,就可以用工具(如 ffmpegIDMcurl)直接下載。

2. 常見的視頻加載方式

加載方式 是否容易獲取 説明
直接 MP4 地址 ✅ 最容易 瀏覽器會直接請求 .mp4 文件,Network 面板一目瞭然。
M3U8 流媒體(HLS) ✅ 較容易 是一個文本文件,包含多個 .ts 片段地址,工具可合併下載。
Blob URL ⚠️ 中等 看起來像 blob:https://...,其實是瀏覽器本地生成的虛擬地址,真實地址仍可在 Network 中找到。
加密視頻(DRM) ❌ 很難 如 Widevine、FairPlay,視頻內容加密,無法直接下載。

3. 為什麼網站不加密?

  • 成本高:加密視頻需要 DRM 授權、服務器支持、播放器配合,成本高。
  • 用户體驗:加密視頻加載慢、兼容性差,影響播放體驗。
  • 沒必要:對於大多數內容,泄露風險不高,網站懶得加密。

4. 舉個例子(B 站)

  1. 打開一個視頻,按 F12 → Network → 篩選 XHRm3u8
  2. 搜索關鍵詞 .m3u8,你會看到一個地址如:
    https://xy185x92x230x230xy.mcdn.bilivideo.cn/.../index.m3u8
    
  3. 複製這個地址,用 ffmpeg 下載:
    ffmpeg -i "https://..." -c copy output.mp4
    

✅ 總結一句話:

因為大多數網站只是“藏”了視頻地址,而不是真正加密,所以用 F12 就能抓到。