簡體   English   中英

使用FFMPEG的Shell腳本轉換為mp4會產生帶有兩次附加.mp4擴展名的新視頻

[英]Shell script using FFMPEG convert to mp4 results in new video with .mp4 extension attached twice

我正在將整個視頻文件夾轉換為MP4。 該腳本起作用,除了新視頻兩次附加了“ .mp4”。 例如。 轉換后,“ video.mp3”將是“ video.mp3.mp4”。 下面是shell腳本。 TIA

#!/bin/bash
#Shell Script which converts all videos in a folder to MP4


for file in *.*; 
    do 
        if[ ${file: -4} != ".mp4"]   #don't want to convert mp4 files           
            ffmpeg -i "$file" "${file}".mp4 
done

這將刪除最后一個文件擴展名: ${file%.*}

因此,您需要${file%.*}.mp4

這是在bash中進行字符串操作的良好參考: http : //tldp.org/LDP/abs/html/string-manipulation.html

首先,按照編寫方式,名為test.mp3的文件將轉換為名為test.mp3.mp4的mp4文件。 這是因為您的“文件”變量包含擴展名,這是您必須知道的,因為您正在if語句中檢查擴展名.mp4

您在if語句中使用了方括號,因此可能會失敗...我不確定如何使用此腳本成功轉換任何文件。

嘗試根據我的反饋意見進行一些修改,看看是否可以正常使用。

我選擇不分享我編寫的代碼,希望您可以真正從調整現在的工作中學習。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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