네, 가능합니다. FFmpeg를 사용하여 동영상에 배경 음악을 추가할 수 있습니다. 특정 폴더 안에 있는 여러 음악 파일 중 하나를 랜덤하게 선택하여 동영상에 추가하는 스크립트를 수정해 보겠습니다.
다음과 같은 절차를 따릅니다:
1. 음악 파일을 저장할 폴더를 지정합니다.
2. 해당 폴더에서 랜덤하게 음악 파일을 선택합니다.
3. 선택한 음악 파일을 동영상 생성 과정에서 배경 음악으로 추가합니다.
### 스크립트 수정
#### create_timelapse_with_bgm.sh
```bash
#!/bin/bash
# 날짜 변수 설정 (어제 날짜)
DATE=$(date -d "yesterday" +%Y-%m-%d)
# 사진 경로 설정
DIR="/home/zero/timelapse/$DATE"
# 동영상 파일 경로 설정
OUTPUT="/home/zero/timelapse/$DATE.mp4"
# 음악 파일이 저장된 폴더
MUSIC_DIR="/home/zero/music"
# 음악 파일 중 하나를 랜덤하게 선택
MUSIC_FILE=$(ls $MUSIC_DIR/*.mp3 | shuf -n 1)
# ffmpeg를 사용하여 사진을 동영상으로 변환하고 배경 음악 추가
ffmpeg -framerate 30 -pattern_type glob -i "$DIR/*.jpg" -i "$MUSIC_FILE" -c:v libx264 -r 30 -pix_fmt yuv420p -c:a aac -shortest $OUTPUT
```
### 크론 작업 수정
크론 작업을 수정하여 새로운 스크립트를 사용하도록 설정합니다.
```bash
crontab -e
```
크론 파일에 다음 내용을 수정합니다:
```crontab
# 매일 6시에 take_pictures.sh 실행
0 6 * * * /home/zero/take_pictures.sh
# 매일 20시 1분에 create_timelapse_with_bgm.sh 실행
1 20 * * * /home/zero/create_timelapse_with_bgm.sh
```
스크립트에 실행 권한을 부여해야 합니다.
```bash
chmod +x /home/zero/create_timelapse_with_bgm.sh
```
이제 설정이 완료되었습니다. 이 스크립트는 매일 타임랩스 동영상을 생성하고, 지정된 폴더에서 랜덤하게 선택된 음악 파일을 배경 음악으로 추가하게 됩니다.