網(wǎng)站購(gòu)物系統(tǒng)制作雨辰資訊電子商務(wù)類網(wǎng)站開(kāi)發(fā)上海seo顧問(wèn)推推蛙
問(wèn)題
今天突發(fā)奇想,想把mp4視頻轉(zhuǎn)換為mp3來(lái)收聽(tīng),于是想到了ffmpeg工具
步驟
安裝ffmpeg環(huán)境
要在 Windows 上配置 FFmpeg 環(huán)境,你可以按照以下步驟進(jìn)行操作:
-
下載 FFmpeg:
- 首先,你需要下載 FFmpeg 的 Windows 版本。你可以在 FFmpeg 官方網(wǎng)站(https://ffmpeg.org/download.html)上找到 Windows 版本的可執(zhí)行文件。
-
解壓縮文件:
- 下載后,解壓縮 FFmpeg 文件到你選擇的目錄。例如,你可以將它解壓縮到
C:\ffmpeg\
目錄。
- 下載后,解壓縮 FFmpeg 文件到你選擇的目錄。例如,你可以將它解壓縮到
-
設(shè)置系統(tǒng)環(huán)境變量:
- 將 FFmpeg 的可執(zhí)行文件目錄添加到系統(tǒng)的 PATH 環(huán)境變量中,這樣系統(tǒng)就可以在任何位置找到 FFmpeg。
- 右鍵單擊“此電腦”(或“計(jì)算機(jī)”),然后選擇“屬性”。
- 點(diǎn)擊“高級(jí)系統(tǒng)設(shè)置”。
- 在彈出的窗口中,點(diǎn)擊“環(huán)境變量”按鈕。
- 在“系統(tǒng)變量”下找到“Path”,然后點(diǎn)擊“編輯”。
- 在編輯窗口中,點(diǎn)擊“新建”,然后添加 FFmpeg 的可執(zhí)行文件目錄(例如
C:\ffmpeg\bin\
)。 - 確認(rèn)并關(guān)閉所有窗口。
-
驗(yàn)證安裝:
- 打開(kāi)命令提示符(或 PowerShell)并輸入
ffmpeg -version
,然后按 Enter 鍵。如果一切設(shè)置正確,它應(yīng)該顯示 FFmpeg 的版本信息。
- 打開(kāi)命令提示符(或 PowerShell)并輸入
完成這些步驟后,你的系統(tǒng)就已經(jīng)配置好了 FFmpeg 環(huán)境。現(xiàn)在你可以在命令提示符或批處理腳本中使用 FFmpeg 來(lái)進(jìn)行視頻轉(zhuǎn)換等操作。
powershell命令
切換到文件件目錄下,執(zhí)行下面的語(yǔ)句,把所有文件轉(zhuǎn)換為mp3即可
Get-ChildItem -Filter *.mp4 | ForEach-Object {ffmpeg -i $_.FullName -vn -acodec libmp3lame -q:a 2 "$($_.BaseName).mp3"}
- 剛又想把一個(gè)mp3文件分成幾部分,怎么弄,命令如下*
ffmpeg -i input.mp3 -f segment -segment_time 600 -c copy output_%03d.mp3
這個(gè)命令會(huì)將名為 input.mp3 的文件切割成每個(gè)時(shí)長(zhǎng)為 600 秒的片段,并輸出為 output_001.mp3、output_002.mp3 等等。
在這個(gè)命令中:
-i input.mp3 指定了輸入文件名。
-f segment 表示使用 segment 格式進(jìn)行分割。
-segment_time 600 指定了每個(gè)片段的時(shí)長(zhǎng),以秒為單位。
-c copy 表示使用拷貝方式進(jìn)行分割,以保持音頻質(zhì)量不變。
output_%03d.mp3 是輸出文件名的模板,%03d 表示輸出文件名會(huì)以三位數(shù)字進(jìn)行編號(hào)。
你可以根據(jù)需要調(diào)整 -segment_time 參數(shù)來(lái)設(shè)置不同的片段時(shí)長(zhǎng)。
碰到的新問(wèn)題
我有新下載了mp4文件,如果還按照上面的命令,豈不從頭再來(lái),顯然不合適,所以要加一個(gè)判斷,存在就不轉(zhuǎn)換了。只轉(zhuǎn)換不存在的。所以最后命令如下
Get-ChildItem -Filter *.mp4 | ForEach-Object {$mp3FileName = "$($_.BaseName).mp3"$mp3FilePath = Join-Path -Path $pwd -ChildPath $mp3FileNameif (-not (Test-Path $mp3FilePath)) {ffmpeg -i $_.FullName -vn -acodec libmp3lame -q:a 2 $mp3FilePath} else {Write-Host "Skipping conversion for $mp3FileName. File already exists."}
}
這個(gè)帖子我也是邊操作,邊完善,希望能幫助你,喜歡打賞