1
所以我寫了一個bash腳本把新寫的視頻文件,並轉碼他們在我這裏的服務器播放和流媒體是腳本Intepreting字符串中使用inotifywait和avconv
while true; do
printf -v filename '%q' "$(inotifywait --format "%w""%f" -r -e close_write /var/$
echo $filename
if [[ $filename == *".mp4"* ]]; then
echo "1"
avconv -i "$filename" "`echo ${filename%.mp4}.webm`"
fi
if [[ $filename == *".mkv"* ]]; then
echo "2"
avconv -i "$filename" "`echo ${filename%.mkv}.mp4`"
avconv -i "$filename" "`echo ${filename%.mkv}.webm`"
fi
if [[ "$filename" == *".avi"* ]]
then echo "3"
avconv -i "$filename" "`echo ${filename%.avi}.mp4`" &
avconv -i "$filename" "`echo ${filename%.avi}.webm`"&
fi
done
腳本工作還算不錯但是如果$文件名中包含空格avconv休息和腳本返回:
Watches established.
/var/www/media2net/tv/The\ Daily.mkv
2
avconv version 0.8.4-4:0.8.4-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav s
built on Nov 6 2012 16:51:33 with gcc 4.6.3
/var/www/media2net/tv/The\: No such file or directory
avconv version 0.8.4-4:0.8.4-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav
built on Nov 6 2012 16:51:33 with gcc 4.6.3
/var/www/media2net/tv/The\ Daily.mkv: No such file or directory
Setting up watches. Beware: since -r was given, this may take a while!
Watches established.
然而,這是不正確的,因爲我可以查看它的相應的目錄裏面說的文件,我還測試了avconv在以下外殼和一切正常工作y和avconv轉碼視頻
avconv -i /var/www/media2net/The\ Daily.mkv /var/www/media2net/tv/The\ Daily.webm
基本上我想知道我在做什麼錯在我的腳本或者其他任何人經歷了使用avconv或ffmpeg的(因爲2非常相似,並avconv是Ubuntu的叉了類似的問題該項目)任何幫助將不勝感激! 在此先感謝 -brendan
謝謝,爲此...你確實是正確的,對於遲到抱歉我真的不明白網站的細微差別! – brendosthoughts