Created
January 3, 2024 19:31
-
-
Save Macht59/cd21eced8808aa7492d3d167384e6b53 to your computer and use it in GitHub Desktop.
mass mkvmerge script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| SOUND_DIR="./sound" | |
| VIDEO_DIR="./video" | |
| SEASON="01" | |
| REMOVE_SOURCE_FILES="false" | |
| AUDIO_OFFSET="0" | |
| if [ $# -lt 2 ]; then | |
| echo "Specify episodes range like ./merge.sh from-episode to-episode [audio-offset]" | |
| exit 1 | |
| fi | |
| echo "Merge episodes from $1 to $2" | |
| if [ $# -eq 3 ]; then | |
| echo "Using audio offset of $3 ms" | |
| AUDIO_OFFSET=$3 | |
| fi | |
| for ((i = $1; i <= $2; i++)); do | |
| EPISODE=$(printf "%03d" $i) | |
| echo Work with episode $EPISODE | |
| AUDIO_FILE=$(find "$SOUND_DIR" -type f -name "*$EPISODE*") | |
| if [ -z "$AUDIO_FILE" ]; then | |
| echo "No file found in $SOUND_DIR with $EPISODE in the name" | |
| exit 1 | |
| fi | |
| echo "Found audio file: $AUDIO_FILE" | |
| VIDEO_FILE=$(find "$VIDEO_DIR" -type f -name "*$EPISODE*") | |
| if [ -z "$VIDEO_FILE" ]; then | |
| echo "No file found in $VIDEO_DIR with $EPISODE in the name" | |
| exit 1 | |
| fi | |
| echo "Found video file: $VIDEO_FILE" | |
| mkvmerge -A -o s${SEASON}e$EPISODE.mkv -y 1:$AUDIO_OFFSET "$VIDEO_FILE" --language 0:rus "$AUDIO_FILE" | |
| echo Result code $? | |
| if [ $? -ne 0 ]; then | |
| echo "Error while merging episode $EPISODE" | |
| exit 1 | |
| fi | |
| if [ "$REMOVE_SOURCE_FILES" = "true" ]; then | |
| echo "Removing source files" | |
| rm $VIDEO_FILE | |
| rm $AUDIO_FILE | |
| fi | |
| done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment