[英]ffmpeg same input as output file (temporary file needed but how?)
我不太了解 .bat 文件或 ffmpeg 並在互聯網上花了最后一個小時搜索如何解決我的問題,但沒有找到任何東西。 我想制作一個刪除視頻音頻並將其替換為無音頻版本的 make.bat 文件。 我已經用 my.bat 文件和 ffmpeg 創建了一個文件夾,並在上下文菜單中添加了一個選項來打開 my.bat 文件。
這是當前的 my.bat 文件:
ffmpeg -i %1 -an -vcodec copy %1
但是 ffmpeg 無法覆蓋它當前正在讀取的文件。 如果有人幫助我如何創建一個沒有音頻的臨時文件,然后用臨時文件替換輸入文件,那就太好了。
提前非常感謝!
在 FFmpeg 中靜音視頻的簡單方法是
ffmpeg -i input.mp4 -filter:a "volume=0.0" output.mp4
音量 = 0.0 將音頻設置為 0
我建議使用 Python 進行編碼,因為您需要從文件夾中獲取所有文件並將它們全部靜音。我將分享一個示例代碼
這是一個.bat文件,你可以寫它,當你點擊它時它將運行python文件
#!/bin/bash
function edit_2x()
{
python file_name.py
TIMEOUT 10
}
文件名.py
import os
Folder_Path = r'K:\\to_mute\\'
Output_Folder_Path = r'K:\\muted_videos\\'
fileNames = os.listdir(Folder_Path)
for fileName in fileNames:
if 'Done' not in fileName:
print("File Name :"+fileName )
os.system("ffmpeg -i "+fileName+" -filter:a 'volume=0.0' "+fileName);
os.rename(Video_Path+fileNamee,Video_Path+"Done "+fileNamee)
對代碼的一個簡單解釋是,它獲取所有文件名並將它們存儲在一個列表中,您將獲取一個文件並將它們靜音並將它們存儲在另一個文件夾中,並使用 Done 更新原始文件名,這樣就不會再造成混淆。 希望它清楚
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.