【python實用小腳本系列】用 Python 自己手搓一個給視頻“靜音”的小腳本,批量處理,輕松高效制作“無聲電影”!

嘿,小伙伴們!今天我來給大家介紹一個超實用的 Python 小工具——一個能給視頻“靜音”的“聲音消除器”!是不是聽起來很酷?想象一下,你可以把任何有聲視頻變成無聲視頻,是不是很有趣?接下來,我帶大家看看這個神奇的代碼是怎么工作的,還能怎么玩出更多花樣!

第一步:揭秘核心代碼,看看它是怎么“靜音”的

這個工具的核心功能是從視頻中移除音頻,生成一個無聲版本的視頻。聽起來是不是有點像魔法?其實,它背后的工作原理非常有趣!接下來,我們來看看它是怎么實現的。

1. 設置命令行參數:告訴程序你的需求
parser = argparse.ArgumentParser()
parser.add_argument('-f',type=str,help='The file path of target video. ex. /home/user/example.mp4.\nDefault value is "demo.mp4"',default=base_dir + '/demo.mp4'
)
parser.add_argument('-n',type=str,help='The new file name.\nDefault value is {current file name}_noAudio.mp4',
)
args = parser.parse_args()
audio_path = args.f

這段代碼的作用是設置命令行參數,讓用戶可以輸入視頻路徑和輸出文件名。如果沒有輸入,默認會使用 demo.mp4 作為輸入文件。

2. 檢查視頻路徑:確保輸入文件有效
while True:try:VideoFileClip(audio_path)breakexcept Exception:print('Directory or file is not valid, please enter a valid file directory ...')audio_path = str(input('Enter the video path again (absolute path without space): '))

這段代碼的作用是檢查用戶輸入的視頻路徑是否有效。如果路徑無效,程序會提示用戶重新輸入,直到輸入正確的路徑為止。

3. 移除音頻并保存新視頻:給視頻“靜音”
def remove_audio(audio):video = VideoFileClip(audio)  # 加載視頻文件video = video.without_audio()  # 移除音頻video.write_videofile(os.path.join(base_dir, new_file))  # 保存為新文件

這段代碼是整個工具的核心。VideoFileClip 會加載視頻文件,without_audio() 會移除視頻中的音頻,write_videofile 會把處理后的視頻保存為新文件。

第二步:這個代碼能用來干啥?應用場景大揭秘!

這個工具不僅僅是一個簡單的“靜音器”,它的應用場景其實非常廣泛!以下是一些有趣的用法:

  1. 制作無聲電影:給視頻去掉音頻,制作無聲電影,增加創意。
  2. 保護隱私:移除視頻中的敏感音頻,保護隱私。
  3. 優化視頻文件大小:音頻通常占視頻文件的大部分空間,移除音頻可以顯著減小文件大小。
  4. 創意視頻制作:制作無聲視頻,方便后續添加新的音頻或字幕。

總之,只要你需要處理視頻中的音頻,這個工具都能幫你輕松搞定!

第三步:擴展玩法,讓工具更強大!

接下來,我來教大家兩個進階玩法,讓你的工具變得更智能、更有趣!

擴展 1:批量處理視頻——一鍵靜音多個視頻

我們可以擴展代碼,讓它支持批量處理多個視頻文件。比如,你想把一個文件夾里的所有視頻都變成無聲視頻,這個功能就能派上用場!

import osdef batch_remove_audio(folder_path):for filename in os.listdir(folder_path):if filename.endswith(('.mp4', '.avi', '.mov')):video_path = os.path.join(folder_path, filename)video = VideoFileClip(video_path)video = video.without_audio()output_filename = f"{filename.split('.')[0]}_noAudio.{filename.split('.')[1]}"video.write_videofile(os.path.join(folder_path, output_filename))print(f"Processed {filename}")# 使用示例
batch_remove_audio("path/to/video/folder")

這段代碼會遍歷指定文件夾里的所有視頻文件,調用 remove_audio 函數生成無聲版本,并保存到同一個文件夾里。

擴展 2:添加音頻處理——給視頻添加新音頻

我們可以擴展代碼,讓它不僅能移除音頻,還能給視頻添加新的音頻。比如,你想給視頻加上背景音樂,這個功能就能派上用場!

from moviepy.editor import AudioFileClipdef add_audio(video_path, audio_path, output_path):video = VideoFileClip(video_path)audio = AudioFileClip(audio_path)video = video.set_audio(audio)  # 設置新的音頻video.write_videofile(output_path)print(f"Added audio to {output_path}")# 使用示例
add_audio("input_video.mp4", "background_music.mp3", "output_video.mp4")

這段代碼會加載一個視頻文件和一個音頻文件,把音頻添加到視頻中,并保存為新的視頻文件。

總結:視頻靜音,創意無限!

好了,今天的分享就到這里啦!是不是覺得這個工具超級實用?它不僅能幫你移除視頻中的音頻,還能通過簡單的擴展,實現更多有趣的功能。有了它,你的視頻創作會變得更加輕松和有趣。

如果你也想擁有這樣一個“聲音消除器”,那就趕緊動手試試吧!相信我,有了它,你的視頻創作會變得更加豐富多彩。

最后,別忘了點贊和分享,讓更多人知道這個超實用的 Python 小工具!!

需要完整的源碼,請在評論區留言,或私信我。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/902146.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/902146.shtml
英文地址,請注明出處:http://en.pswp.cn/news/902146.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【gpt生成-總覽】怎樣才算開發了一門編程語言,需要通過什么測試

開發一門真正的編程語言需要經歷完整的設計、實現和驗證過程,并通過系統的測試體系驗證其完備性。以下是分階段開發標準及測試方法: 一、語言開發核心階段 1. 語言規范設計(ISO/IEC 標準級別) ??語法規范??:BNF/…

leetcode222 完全二叉樹的節點個數

完全二叉樹 的定義如下:在完全二叉樹中,除了最底層節點可能沒填滿外,其余每層節點數都達到最大值,并且最下面一層的節點都集中在該層最左邊的若干位置。若最底層為第 h 層(從第 0 層開始),則該層…

若依集成BladeX單點登錄的令牌管理與api請求流程

目錄 概述系統架構單點登錄流程令牌管理機制接口調用流程關鍵代碼實現數據結構安全性考慮常見問題與解決 概述 本文檔詳細說明若依系統如何實現與BladeX的單點登錄集成,包括令牌管理和接口調用的完整流程。整個集成采用基于OAuth2的授權碼流程,允許用…

《AI大模型應知應會100篇》第27篇:模型溫度參數調節:控制創造性與確定性

第27篇:模型溫度參數調節:控制創造性與確定性 摘要 在大語言模型的使用中,“溫度”(Temperature)是一個關鍵參數,它決定了模型輸出的創造性和確定性之間的平衡。通過調整溫度參數,您可以根據任…

愛普生SG2520VGN差分晶振5G基站的時鐘解決方案

在 5G 通信時代,數據流量呈爆發式增長,5G 基站作為信號的核心中轉樞紐,承載著前所未有的數據傳輸與處理重任。從海量的物聯網設備連接,到高速移動用戶的數據交互,每一個環節都對基站的性能提出了嚴苛要求。而精準穩定的…

GitHub SSH連接終極解決方案

GitHub SSH連接終極解決方案:443端口修改多場景故障排查指南 一、問題現象速查 當開發者執行以下命令時出現連接異常: ssh -T gitgithub.com常見報錯類型: 經典端口阻塞ssh: connect to host github.com port 22: Connection refused密鑰驗…

面向新一代擴展現實(XR)應用的物聯網框架

中文標題: 面向新一代擴展現實(XR)應用的物聯網框架 英文標題: Towards an IoT Framework for the New Generation of XR Applications 作者信息 Joo A. Dias,UNIDCOM - IADE,歐洲大學,里斯本&…

Qt unknown module(s) in qt:serialport解決方法

在Ubuntu和CentOS系統中,若使用Qt時遇到Unknown module(s) in QT: serialport錯誤,通常是由于未正確安裝Qt的串口模塊(QSerialPort)或項目配置不當導致。以下是針對兩種系統的解決方案: 一、安裝Qt串口模塊 1. Ubuntu/Debian系列 安裝開發包: 執行以下命令安裝Qt5串口模…

閥門軸承電動車工件一鍵精修軟件

若需定制開發“ComfyUI意見精修軟件” 技術棧建議: 前端:React/Vue Figma插件API(直接讀取設計稿)。 后端:Node.js/Python NLP庫(spaCy/NLTK)。 數據庫:MongoDB(存儲…

chapter32_SpringMVC與DispatcherServlet

一、簡介 從本章節開始進入SpringMVC的學習,SpringMVC最重要的類就是DispatcherServlet DispatcherServlet的本質是一個Servlet,回顧一下Servlet JavaWeb就是基于Servlet的Servlet接口有5個方法Servlet實現類是HttpServlet,自定義的Servle…

《Learning Langchain》閱讀筆記3-基于 Gemini 的 Langchain如何從LLMs中獲取特定格式

純文本輸出是有用的,但在某些情況下,我們需要 LLM 生成結構化輸出,即以機器可讀格式(如 JSON、XML 或 CSV)或甚至以編程語言(如 Python 或 JavaScript)生成的輸出。當我們打算將該輸出傳遞給其他…

中間件--ClickHouse-12--案例-1-日志分析和監控

1、案例背景 一家互聯網公司需要實時分析其服務器日志、應用日志和用戶行為日志,以快速發現潛在問題并優化系統性能。 2、需求分析 目標:實時分析日志數據,快速發現問題并優化系統性能。數據來源: 服務器日志:如 Ng…

多道程序和多任務操作系統區別

多道程序 vs. 多道任務:對比分析 ? 共同點 方面共同特征核心機制都依賴于進程/任務切換執行需求實現多個程序或任務"并發"執行系統支持都需要操作系統的支持(如調度算法、內存管理)本質目標提高資源利用率(CPU不空轉…

齊次坐標變換+Unity矩陣變換

矩陣變換 變換(transform):指的是我們把一些數據,如點,方向向量甚至是顏色,通過某種方式(矩陣運算),進行轉換的過程。 變換類型 線性變換:保留矢量加和標量乘的計算 f(x)…

閑來無事,用HTML+CSS+JS打造一個84鍵機械鍵盤模擬器

今天閑來無聊,突發奇想要用前端技術模擬一個機械鍵盤。說干就干,花了點時間搞出來了這么一個有模有樣的84鍵機械鍵盤模擬器。來看看效果吧! 升級版的模擬器 屏幕錄制 2025-04-18 155308 是不是挺像那么回事的?哈哈! 它…

智慧城市:如同為城市裝上智能大腦,開啟智慧生活

智慧城市的概念隨著信息技術的飛速發展而逐漸興起,它通過集成物聯網、大數據、人工智能和數字孿生等先進技術,為城市管理和居民生活帶來了前所未有的智能化變革。本文將深入探討這些核心技術及其在智慧城市的典型應用場景,展示智慧城市如何提…

科技快訊 | 智譜開源最新GLM模型系列;“AI 洗頭店”現身廣州;ChatGPT上線圖庫功能

智譜開源最新GLM模型系列,啟用全球域名“Z.ai” 4月15日,智譜開源最新GLM模型系列,包括32B和9B尺寸,涵蓋基座、推理、沉思三類模型,全部遵循MIT開源許可協議。推理模型GLM-Z1-32B-0414實測推理速度達200 tokens/秒&…

第32講:衛星遙感與深度學習融合 —— 讓地球“讀懂”算法的語言

目錄 ?? 一、講講“遙感+深度學習”到底是干啥的? ? 能解決什么問題? ?? 二、基礎原理串講:深度學習如何“看懂”遙感圖? ?? 遙感圖像數據類型: ?? CNN的基本思路: ?? 三、實戰案例:用CNN對遙感圖像做地類分類 ?? 所需R包: ??? 步驟一:構建訓…

【多線程5】面試常考鎖知識點

文章目錄 悲觀/樂觀鎖掛起等待鎖/自旋鎖偏向鎖輕量級/重量級鎖鎖升級CASCAS引發的ABA問題解決方案 原子類 公平/不公平鎖可重入鎖ReentrantLock讀寫鎖 Callable接口 這里的“悲觀”“樂觀”“掛起等待”“自旋”“輕量級”“重量級”“公平”“非公平”“可重入”僅代表某個鎖的…

第三屆世界科學智能大賽新能源賽道:新能源發電功率預測-數據處理心得體會1

看懂數據 比賽數據說明: 文檔(報名之后可以下載)大小操作初賽測試集.zip94MB下載初賽訓練集.zip632MB下載output.zip145KB下載 任務和主題 AI新能源功率預報:根據歷史發電功率數據和對應時段多類別氣象預測數據,實…