У меня есть архив видеоданных, и я должен найти файл в архиве, и затем вывод файла должен использоваться в качестве входа для ffmpeg
.
find /mnt/video-archieve -name 'file'.mov | ffmpeg -i - ...
Я знаю -
главным образом используется для передачи по каналу входа к ffmpeg
но я пропускаю некоторые другие параметры, чтобы заставить его работать.
Я попробовал несколько опций, но не мог Получить их работа.
Короткий ответ:
find /mnt/video-archieve -name "file.mov" -exec ffmpeg -i {} \;
или
find /mnt/video-archieve -name "file.mov" -print0 | xargs -0 -I{} ffmpeg -i {}
или
find /mnt/video-archieve -name "file.mov" -print0 | \
while read -d или
find /mnt/video-archieve -name "file.mov" -print0 | \
while IFS= read -d '' file; do \
ffmpeg -i "$file"; \
done
\0' file; do \
ffmpeg -i "$file"; \
done
или
find /mnt/video-archieve -name "file.mov" -print0 | \
while IFS= read -d '' file; do \
ffmpeg -i "$file"; \
done
Другой короткий ответ:
for f in "/mnt/video-archieve/file.mov" ; do ffmpeg -i "$f" ... ; done