python-利用ffmpeg快速提取影片的音訊檔案進階版(可以看到進度條)

我爱你的發表於2024-05-09
"""
利用ffmpeg快速提取影片的音訊檔案
"""

# 參考"https://www.cnblogs.com/CodeAndMoe/p/13360011.html window安裝ffmpeg並且設定環境變數 https://zhuanlan.zhihu.com/p/118362010"
import os
from better_ffmpeg_progress import FfmpegProcess


def main(v_path): # v_path表示影片所在路徑 生成後的MP3音訊檔案會在該影片檔案目錄中
# ffmpeg_path 這個路徑是bin目錄下的ffmpeg的路徑
ffmpeg_path = r"J:\PC_path\idm_download\ffmpeg-master-latest-win64-gpl-shared\ffmpeg-master-latest-win64-gpl-shared\bin\ffmpeg" # ffmpeg設定好環境變數後的ffmpeg目錄
audio_path = v_path.split('.')[0] + ".mp3"
# 拼接好執行ffmpeg的命令列語句
# cmd = ffmpeg_path + " -f concat -safe 0 -i " + file_txt_path + " -c copy " + result_file_path

cmd = ffmpeg_path + f" -i {v_path} -q:a 0 -map a {audio_path}"

print(cmd)
# 呼叫cmd命令列執行ffmpeg提取影片音訊
os.popen(cmd)
print('-------------fine!')

def main2(v_path):
  #參考 FFmpeg 速成教學(九):讓FFmpeg工作時任務進度條和剩餘時間!全網最優秀的解決方案!_嗶哩嗶哩_bilibili
# ffmpeg_path 這個路徑是bin目錄下的ffmpeg的路徑
ffmpeg_path = r"J:\PC_path\idm_download\ffmpeg-master-latest-win64-gpl-shared\ffmpeg-master-latest-win64-gpl-shared\bin\ffmpeg" # ffmpeg設定好環境變數後的ffmpeg目錄
audio_path = v_path.split('.')[0] + ".mp3"
# 拼接好執行ffmpeg的命令列語句
# cmd = ffmpeg_path + " -f concat -safe 0 -i " + file_txt_path + " -c copy " + result_file_path

#將原始命令轉化成列表
cmd = ffmpeg_path + f" -i {v_path} -q:a 0 -map a {audio_path}"
cmd_list = cmd.split(" ")

#執行ffmpeg命令,並且輸出執行進度
process = FfmpegProcess(cmd_list)
process.run()


if __name__ == '__main__':
path = "H:\影片\電影2\怦然Flipped.rmvb"
main2(path)

相關文章