35 lines
796 B
Bash
35 lines
796 B
Bash
|
#!/bin/bash -e
|
||
|
|
||
|
#####################################################
|
||
|
#
|
||
|
# This script will take an audio file and an image and
|
||
|
# combine them to create a video.
|
||
|
#
|
||
|
# Usage: bash ffmpeg/audio/stillaudio.sh <input audio> <input image> <output video>
|
||
|
#
|
||
|
#####################################################
|
||
|
|
||
|
AUDIO="${1}"
|
||
|
IMAGE="${2}"
|
||
|
OUTPUT="${3}"
|
||
|
|
||
|
# Check if file extension is .mkv or .MKV
|
||
|
if [[ "${OUTPUT}" != *".mkv" ]]; then
|
||
|
echo "Please use an .mkv extension on your output file argument"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
ffmpeg -loop 1 \
|
||
|
-framerate 2 \
|
||
|
-i "${IMAGE}" \
|
||
|
-i "${AUDIO}" \
|
||
|
-c:v libx264 \
|
||
|
-preset slow \
|
||
|
-tune stillimage \
|
||
|
-pix_fmt yuv420p \
|
||
|
-crf 12 \
|
||
|
-vf "scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:-1:-1:color=black" \
|
||
|
-c:a aac \
|
||
|
-b:a 192k \
|
||
|
-shortest \
|
||
|
"${OUTPUT}"
|