0

automator の監視フォルダー内で動作するようにシェル スクリプトをセットアップしようとしています...

Run Shell Scrip部分を除いて、すべてが機能します...

基本的に、ファイルが監視フォルダーに表示されると、FFMPEG を呼び出すシェル スクリプトが実行され、安全に保管するためにファイルがアーカイブ フォルダーに移動されます。ただし、現在、automator はすべてが機能していると言っていますが、ファイルが作成されています。

シェルを /bin/sh に設定し、パス入力を引数として設定しています

これが私のスクリプトです:

for f in "$@"
do
name=$(basename "$f")
dir=$(dirname "$f")
ffmpeg -i "$f" -b 250k -strict experimental -deinterlace -vcodec h264 -acodec aac "$dir/mp4/${name%.*}.mp4"
echo "$dir/mp4/${name%.*}.mp4"
done

正しいファイル名をエコーし​​ますが、実際にはffmpegを実行しません

-execいくつかのスクリプトで見たように、その前に追加しようとしましたが、まだ何もありません...

4

2 に答える 2

4

FFmpeg は実行中に STDIN を検索します。qこれは、他のタスクの中でも特に、ユーザーがエンコーディングを停止するためにヒットできるようにするためです。これにより、スクリプトで問題が発生する可能性があります。おそらく回避するには、これを試してください:

# notice --+
#          |
#          v
ffmpeg -nostdin -i "$f" -b 250k -strict experimental -deinterlace \
  -vcodec h264 -acodec aac "$dir/mp4/${name%.*}.mp4"

OSXのffmpegで謎のエラー

于 2013-02-14T01:44:01.153 に答える
1

Mac OS X Serverで実行しているためかどうかはわかりませんが、ffmpegへの絶対パスを含める必要があったと思います...修正しました

for f in "$@"
do
name=$(basename "$f")
dir=$(dirname "$f")
/opt/local/bin/ffmpeg -i "$f" -b 250k -strict experimental -deinterlace -vcodec h264 -acodec aac "$dir/mp4/${name%.*}.mp4"
echo "$dir/mp4/${name%.*}.mp4"
done
于 2013-02-14T02:43:09.847 に答える