簡體   English   中英

ffmpeg 與 output 文件相同的輸入(需要臨時文件,但如何?)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM