1 選一個影片
- 檔案
- —
- 大小
- —
- 時長
- —
- 聲音
- —
- 取樣率
- —
這個檔案沒寫自己是按什麼取樣率錄的,所以按 48 kHz 讀取。聲音是對的,取樣數不是磁碟上的那個。
2 把聲音取走
聲道 單聲道會把檔案減半,轉寫和人聲錄音要的正是這個。它把兩個聲道取平均,而不是扔掉一個。
直接從資料夾裡開啟 index.html,瀏覽器會攔下 JavaScript 模組,於是你選好一個影片之後,頁面不會有任何反應。改用 http 把這個資料夾提供出去:
powershell -ExecutionPolicy Bypass -File serve.ps1
然後開啟 http://localhost:8080/。
把影片拖進來,聲音就取出來了。畫面從不解碼,也不上傳任何東西。
解碼器就是你瀏覽器裡本來就有的那個,跟在 <video> 元素裡播放檔案走的是同一條程式碼路徑,而這裡只向它要音軌。寫一個 WAV,就是在取樣前面放上四十四個位元組的檔案頭,程式碼在 src/shared/wav.js。中間沒有編碼器,沒有上傳這一步,這個頁面壓根就沒有網路功能。
即時檢查: 檢查中…
離線: 檢查中…
不用信我們說的。開啟開發者工具,盯著「網路」面板,拖一個影片進來。沒有哪個請求帶走它的一個位元組。嫌麻煩就直接拔掉網線,照樣把聲音取出來。
decodeAudioData,它返回的就是聲音,而 src/ 裡沒有任何影片解碼器可以執行。 你可以自己核對。上面這些不用你信。這個頁面是儲存庫裡的模板和配置產生出來的,構建指令碼你能讀,也能自己跑一遍,跑出來的結果就提交在 dist 分支上。拿實際發給你的內容,跟你自己從原始碼構建出來的結果對一遍就知道了:
github.com/A-Box-of-Tools/website
最值得先讀的幾個檔案:config/site.toml 裡是 Content-Security-Policy,這裡唯一的解碼器,以及畫面為什麼從不被索取,在 src/shared/audio-decode.js;防止你的錄音被悄悄重取樣的檔案頭識別,在 src/shared/samplerate.js。
如果公司的安全軟體警告說有上傳。它盯著瀏覽器裡選擇檔案的那一刻,而且無法知道頁面是否打算把它發出去——所以在選擇時就發出警告。這裡什麼都不會發出去:開啟瀏覽器的開發者工具,切到網路,然後選一個檔案。沒有任何請求帶著它,除了這個頁面自己的本地預覽之外,根本沒有任何請求。同樣的檢查,你們的 IT 同事半分鐘就能做完。
這個檔案沒寫自己是按什麼取樣率錄的,所以按 48 kHz 讀取。聲音是對的,取樣數不是磁碟上的那個。
聲道 單聲道會把檔案減半,轉寫和人聲錄音要的正是這個。它把兩個聲道取平均,而不是扔掉一個。
這次管用嗎?
哪裡不對?
謝謝,這很有用。
發出去的只有你這個回答,而且只在你按下按鈕的時候。你的檔案、它的名字,以及跟它有關的任何東西,一樣都不發。
# 從影片裡提取音訊 — 只要聲音,存成 WAV 把影片拖進來,聲音就取出來了。畫面從不解碼,也不上傳任何東西。 > 把 MP4、MOV 或 WebM 裡的聲音取出來,存成 WAV。影片不會離開你的裝置,畫面也從不解碼,整個過程都在你自己的瀏覽器裡跑。 本頁是一個完全在你的瀏覽器裡執行的互動式工具,地址是 https://abox.tools/zh-TW/extract-audio-from-video/。你交給它的任何內容都不會被上傳。下面是這個頁面用文字對該工具的全部說明;要使用它,請開啟這個地址。 ## 你的影片**不會上傳**。這裡根本沒有伺服器。 解碼器就是你瀏覽器裡本來就有的那個,跟在 `<video>` 元素裡播放檔案走的是同一條程式碼路徑,而這裡只向它要音軌。寫一個 WAV,就是在取樣前面放上四十四個位元組的檔案頭,程式碼在 `src/shared/wav.js`。中間沒有編碼器,沒有上傳這一步,這個頁面壓根就沒有網路功能。 - ✗ 不上傳 - ✗ 不註冊 - ✗ 無大小限制 - ✓ 斷網可用 - ✓ 開源 ## 不上傳就把影片裡的音訊取出來的步驟 1. **把影片拖進來。** MP4、MOV、M4V 或 WebM,來自手機、相機、錄屏工具,或者一次下載。讀它的是你自己的瀏覽器,這裡沒有上傳這一步可以省略。 2. **看看它讀出了什麼。** 時長、聲道數和取樣率,都直接來自檔案本身。如果檔案沒寫自己的取樣率,頁面會說出來,而不是悄悄重取樣,再宣稱什麼都沒動過。 3. **想小一點就選單聲道。** 聲道不動,錄音就跟原來一模一樣。混成單聲道會把檔案減半,轉寫和人聲錄音要的正是這個。它把兩個聲道取平均,而不是扔掉一個。 4. **存之前先聽一遍。** 播放器裡放的就是馬上要下載的那個檔案,不是影片。聽著對,下載就對。 5. **拿走,或者接著往下傳。** 下載這個 WAV,或者不先儲存,直接送去剪輯或編輯。 ## 工具箱裡還有 - [音訊剪輯](https://abox.tools/zh-TW/trim-audio/): 邊聽邊標出值得留的段落。它們會合成一個檔案回來,就切在你說的位置。 - [音訊編輯](https://abox.tools/zh-TW/edit-audio/): 倒著放、快慢隨你調、把錄輕了的聲音提上來,全在你這臺機器上。 - [PDF 合併與拆分](https://abox.tools/zh-TW/merge-pdf/): 挪動頁面,不用往伺服器跑一趟。 - [PDF 壓縮](https://abox.tools/zh-TW/compress-pdf/): 文件變小,不用送去任何地方。 ## 常見問題 ### 我的影片會被上傳到什麼地方嗎? 不會。解碼和寫出都在你自己的瀏覽器裡、你自己的硬體上完成。這個工具壓根就沒有網路功能,從不取任何東西,也從不發任何東西,頁面的 `Content-Security-Policy` 裡寫著它允許聯絡的每一個地址,沒有一個屬於本站。與其聽我們說,不如拔掉網線,照樣把聲音取出來。 ### 能給我一個 MP3 嗎? 不能,也不會假裝能。沒有哪個瀏覽器內建 MP3 編碼器,唯一的方法是把你的影片送到一臺有編碼器的伺服器上,而這恰恰是本站存在的意義所要避免的那一件事。你拿到的是 WAV:取樣前面加四十四個位元組的檔案頭,根本不需要編碼器,也不可能損失音質。它更大,立體聲每分鐘大約十兆位元組,但任何播放器、手機和剪輯軟體都能開啟。要 MP3 的東西,一秒鐘就能從它做一個。 ### 畫面會被看到嗎? 不會,這裡也沒有任何東西能看。把檔案交給瀏覽器的解碼器,向它要音軌;影片軌從不解碼、從不繪製,甚至到不了這個頁面的程式碼裡。`src/` 裡沒有任何影片解碼器可以執行。出來的檔案裡只有聲音。 ### 它說讀不到聲音,可影片明明能正常播放。 那這個影片幾乎可以肯定就沒有音軌。錄屏時沒選麥克風,錄出來是靜音的;剪輯軟體匯出時把聲音靜音了,也是靜音的。兩者都能正常播放,因為有畫面可放。提示先說這一種,因為它是兩種原因裡更常見的那個;另一種是這個瀏覽器讀不了的格式。用播放器開啟檔案,找一找那個怎麼調都沒反應的音量條,這是分辨兩者最快的辦法。 ### 我能開啟哪些影片格式? 你的瀏覽器能解碼的都行,實際上就是 MP4、M4V、MOV 和 WebM,另外還有所有音訊格式。被擋在外面的還是本站各處都一樣的那張短名單:AVI、WMV,以及大多數 MKV。你的瀏覽器讀不了的檔案會被拒絕,並說明原因,而不是走到一半才失敗。 ### 會損失音質嗎? 除了這個影片當初製作時已經對自己的音訊做過的那些,不會再多損失什麼。解碼器交回來的取樣照抄下來,沒有第二次編碼,也就沒有第二代損失。唯一要知道的是取樣率:先從檔案頭裡讀出它自己的取樣率,再按這個取樣率解碼,所以你的錄音不會被悄悄重取樣。檔案要是沒寫,頁面會說明它按哪個取樣率處理的。 ### 為什麼 WAV 比影片大這麼多? 因為 WAV 不壓縮,而影片的音軌壓縮過。CD 音質的聲音,不管內容是什麼,立體聲每分鐘大約十兆位元組;MP4 裡的 AAC 音軌大概只有它的十分之一。混成單聲道能減一半。這是不重新編碼的代價,而且只付一次:接下來用什麼開啟這個檔案,那個東西都能壓縮它。 ### 影片最長能有多長? 這裡沒有設限,因為沒有伺服器在為此付錢。真正的上限是你自己裝置的記憶體:檔案要讀進來,整條音軌要以取樣的形式留在記憶體裡,所以在小裝置上處理很長的錄音可能會不夠用。幾個小時的影片通常沒問題,手機能扛的比筆記本少。 ### 能剪短或者調大音量嗎? 能,但不在這裡,這個頁面只做一件事。有結果之後,下載旁邊會出現一排連結,不用先儲存就把它直接送進[音訊剪輯](https://abox.tools/zh-TW/trim-audio/)或者[音訊編輯](https://abox.tools/zh-TW/edit-audio/),那兩個也一樣不上傳。 ### 免費嗎?需要註冊嗎? 免費,沒有帳號,不用登入,沒有試用期,也不限制你開啟多少個影片。本站有廣告,網站靠它維持;廣告拿不到關於你檔案的任何東西。 ### 斷網還能用嗎? 能。頁面載入一次之後拔掉網線,它照樣工作。這也是證明沒有上傳的最簡單辦法:一個把你的影片送出去處理的工具,在你拔線的那一刻就停了。 ## 這條隱私承諾怎麼核實 - **你的影片沒有出去的路。** Content-Security-Policy 裡寫著這個頁面允許聯絡的每一個地址,沒有一個屬於本站。這裡沒有任何可以收走你檔案的接收端,就算有,程式碼裡也沒有把檔案送過去的東西。 - **畫面根本不會被解碼。** 這裡只要音軌。每一幀都不讀、不解碼、不繪製、也不看一眼,因為這個頁面上就沒有能做這件事的程式碼,出來的檔案裡只有聲音。這不是一句剋制的承諾:把位元組交給 `decodeAudioData`,它返回的就是聲音,而 `src/` 裡沒有任何影片解碼器可以執行。 - **解碼器就是你瀏覽器裡本來就有的那個。** 這裡沒有為讀你的格式而下發任何東西,也沒有為讀它去求這個頁面之外的任何東西。哪些檔案能開啟,就是你的瀏覽器本來能播放的那些。 - **取樣是照抄下來的,不會重新編碼。** 一個 WAV,就是解碼器交回來的取樣,前面加一個檔案頭。中間沒有編碼器替你的錄音做決定,也沒有任何可以稱為上傳的地方讓這種事發生。 - **Google 載入了什麼,又沒拿到什麼。** 廣告和統計指令碼來自 Google,捐贈按鈕來自 Buy Me a Coffee。它們誰也沒拿到關於你影片的任何東西:檔案、取樣、檔名、大小、時長,都沒有。 - **斷網可用。** 拔掉網線,這個工具一點變化都沒有,因為它裡面本來就沒有聯網這一步。這是最簡單的證明。 **你可以自己核對。**上面這些不用你信。這個頁面是儲存庫裡的模板和配置產生出來的,構建指令碼你能讀,也能自己跑一遍,跑出來的結果就提交在 `dist` 分支上。拿實際發給你的內容,跟你自己從原始碼構建出來的結果對一遍就知道了: https://github.com/A-Box-of-Tools/website 最值得先讀的幾個檔案:`config/site.toml` 裡是 Content-Security-Policy,這裡唯一的解碼器,以及畫面為什麼從不被索取,在 `src/shared/audio-decode.js`;防止你的錄音被悄悄重取樣的檔案頭識別,在 `src/shared/samplerate.js`。
不會。解碼和寫出都在你自己的瀏覽器裡、你自己的硬體上完成。這個工具壓根就沒有網路功能,從不取任何東西,也從不發任何東西,頁面的 Content-Security-Policy 裡寫著它允許聯絡的每一個地址,沒有一個屬於本站。與其聽我們說,不如拔掉網線,照樣把聲音取出來。
不能,也不會假裝能。沒有哪個瀏覽器內建 MP3 編碼器,唯一的方法是把你的影片送到一臺有編碼器的伺服器上,而這恰恰是本站存在的意義所要避免的那一件事。你拿到的是 WAV:取樣前面加四十四個位元組的檔案頭,根本不需要編碼器,也不可能損失音質。它更大,立體聲每分鐘大約十兆位元組,但任何播放器、手機和剪輯軟體都能開啟。要 MP3 的東西,一秒鐘就能從它做一個。
不會,這裡也沒有任何東西能看。把檔案交給瀏覽器的解碼器,向它要音軌;影片軌從不解碼、從不繪製,甚至到不了這個頁面的程式碼裡。src/ 裡沒有任何影片解碼器可以執行。出來的檔案裡只有聲音。
那這個影片幾乎可以肯定就沒有音軌。錄屏時沒選麥克風,錄出來是靜音的;剪輯軟體匯出時把聲音靜音了,也是靜音的。兩者都能正常播放,因為有畫面可放。提示先說這一種,因為它是兩種原因裡更常見的那個;另一種是這個瀏覽器讀不了的格式。用播放器開啟檔案,找一找那個怎麼調都沒反應的音量條,這是分辨兩者最快的辦法。
你的瀏覽器能解碼的都行,實際上就是 MP4、M4V、MOV 和 WebM,另外還有所有音訊格式。被擋在外面的還是本站各處都一樣的那張短名單:AVI、WMV,以及大多數 MKV。你的瀏覽器讀不了的檔案會被拒絕,並說明原因,而不是走到一半才失敗。
除了這個影片當初製作時已經對自己的音訊做過的那些,不會再多損失什麼。解碼器交回來的取樣照抄下來,沒有第二次編碼,也就沒有第二代損失。唯一要知道的是取樣率:先從檔案頭裡讀出它自己的取樣率,再按這個取樣率解碼,所以你的錄音不會被悄悄重取樣。檔案要是沒寫,頁面會說明它按哪個取樣率處理的。
因為 WAV 不壓縮,而影片的音軌壓縮過。CD 音質的聲音,不管內容是什麼,立體聲每分鐘大約十兆位元組;MP4 裡的 AAC 音軌大概只有它的十分之一。混成單聲道能減一半。這是不重新編碼的代價,而且只付一次:接下來用什麼開啟這個檔案,那個東西都能壓縮它。
這裡沒有設限,因為沒有伺服器在為此付錢。真正的上限是你自己裝置的記憶體:檔案要讀進來,整條音軌要以取樣的形式留在記憶體裡,所以在小裝置上處理很長的錄音可能會不夠用。幾個小時的影片通常沒問題,手機能扛的比筆記本少。
免費,沒有帳號,不用登入,沒有試用期,也不限制你開啟多少個影片。本站有廣告,網站靠它維持;廣告拿不到關於你檔案的任何東西。
能。頁面載入一次之後拔掉網線,它照樣工作。這也是證明沒有上傳的最簡單辦法:一個把你的影片送出去處理的工具,在你拔線的那一刻就停了。