2013-11-25 81 views
3

我有一個奇怪的問題。我有一個incrontab文件夾監視器,它啓動一個自動轉碼腳本,在我放入的文件的CLOSE_WRITE狀態下。問題是腳本不會等到ffmpeg過程完成,然後再繼續執行其餘的腳本命令。這意味着在轉碼完成之前原始文件被刪除,這是不好的。Bash腳本FFMPEG如何等待進程完成

第一個問題: 這種行爲的根本原因是什麼?

第二個問題:在bash腳本中,在開始執行腳本的其餘部分之前,確保ffmpeg過程完成的最佳方法是什麼?

腳本:

#/bin/bash 

#transcoding 
/usr/bin/ffmpeg -i "sourcefile push with incron as $1" -vcodec somecode -acodec somecodec "destination file" 

#delete source 
rm "path/to/file$1" 

我應該概括了我while語句FFMPEG?

+1

歡迎的StackOverflow!你的腳本目前的樣子是什麼? – cm2

+0

請顯示如何從您的腳本調用ffmpeg –

+0

當ffmpeg編碼文件時是否有錯誤?您是否嘗試過使用腳本對測試文件進行編碼,並確保它能夠按預期工作? – NuclearPeon

回答

1

首先一定要防止ffmpeg的任何標準輸入輸入:

ffmpeg -i blah -vcodec blah -acodec blah result.blah </dev/null >/dev/null 2>>convert.log 

和FFmpeg的命令後發出wait