0

指定されたパス上のすべてのサブフォルダーで .mov ファイルを検索し、それらを ffmpeg で変換して、クリップ名を保持したまま宛先フォルダーに出力する bash スクリプトを作成しようとしています。

私はスクリプト作成に非常に慣れていないため、これを解決する方法を見つけるのに苦労しています。

これまでのところ、ls と find を使用してファイルパスを出力しようとしましたが、これを正しい方法で ffmpeg にパイプする方法がわかりません。

手がかりはありますか?

編集:

これでいくつかの成功を収めました:

#!/bin/bash

echo "drop source folder: "
read source

echo "drop destination folder: "
read des

find "$source" -name '*.mov' -exec sh -c 'ffmpeg -i "$0" -vcodec prores -profile:v 0 -an "$des/${0%%.mov}.mov"' {} \;
exit;

しかし、上書きを求めてソースフォルダーに出力するようです。「宛先フォルダー」に出力してファイル名を保持するように、パラメーターを正しく設定するにはどうすればよいですか?

4

2 に答える 2

0

このようなものが仕事をするはずです:

for f in *.mov; do ffmpeg -i "$f" -vcodec copy -acodec copy "/desination/${f%.mov}.mp4"; done

于 2013-08-14T08:58:06.287 に答える