![폴더 자체를 변경하는 작업을 실행하는 방법](https://linux55.com/image/72726/%ED%8F%B4%EB%8D%94%20%EC%9E%90%EC%B2%B4%EB%A5%BC%20%EB%B3%80%EA%B2%BD%ED%95%98%EB%8A%94%20%EC%9E%91%EC%97%85%EC%9D%84%20%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
비디오 파일의 밀착 시트(썸네일)를 생성하는 프로그램인 VCS(Video Contact Sheet)를 실행하고 싶습니다.
시나리오는 다음과 같습니다.온도. 그 안에는 1991년, 1992년, 1993년 등 연도 이름을 딴 폴더가 많이 있습니다.연도 폴더비디오 제목이 포함된 다른 하위 폴더가 있습니다. 예는 다음과 같습니다.
Temp --> This is a folder
|
|
1995 --> This is a folder
|
|
Vacation in Italy --> This is folder
|
|
Video 1.mp4
Video 2.mp4
Video 3.mp4
Video 4.mp4
Video 5.mp4
내 목표는 다음과 같습니다
- 라는 이름의 폴더를 만듭니다.화면영상과 같은 수준.
- Temp에서 vcs 명령을 시작하고 폴더 안에 내 모든 비디오의 썸네일을 만듭니다.화면. 모든 영상은MP4. 모든 썸네일은JPG.
비디오 썸네일을 만드는 명령은 다음과 같습니다.
vcs /home/user/Temp/1991/"Vacation in Italy"/"Video 1.mp4" -U0 -n 15 -c 3 -H 200 -a 300/200 -j
이것을 자동화하는 방법을 알고 있습니까?
답변1
mp4
스크립트는 가지고 있는 파일 세트를 반복합니다. vcs
비디오 파일을 안정적으로 찾을 수 있도록 각 파일에 대한 절대 경로가 필요합니다 .
for mp4 in ~/Temp/*/*/*.mp4
do
dir="$(dirname "$mp4")"
screen="$dir/Screen"
if test ! -d "$screen"
then
echo "Processing videos in $dir" >&2
mkdir -p "$screen"
fi
( cd "$screen" && vcs "$mp4" -U0 -n 15 -c 3 -H 200 -a 300/200 -j )
done
답변2
이것은 작동합니다:
#!/bin/bash
for fd in `cat "\`ls\`"`; do
cd ~/Temp/$fd
for sbfd in `cat "\`ls\`"`; do
mkdir ~/Temp/$fd/$sbfd/Screens;
cd ~/Temp/$fd/$sbfd/Screens;
vcs /home/user/Temp/$fd/$sbfd/*.mp4 -U0 -n 15 -c 3 -H 200 -a 300/200 -j;
done;
done;
작동하지 않는 경우 어떤 오류 메시지가 표시되는지 알려주시면 패치해 드리겠습니다. 내 컴퓨터에서 테스트할 수는 없지만 이론적으로는 괜찮을 것이라고 생각합니다.
그런데 이것을 쉘 스크립트로 저장해야 하며 Temp가 홈 디렉토리에 있는 경우에만 작동합니다.