utkarsh2299's picture
Upload 13 files
45a279f verified
#!/bin/bash
# Get the directory of the Bash script
script_dir="$(dirname "$(realpath "$0")")"
# Set the path to your virtual environment
# virtual_env_path="../envs/cnn_envs/bin/activate"
# Set your paths and language here (relative to the script's location)
# Target language {'hin':'hindi','mal':'malayalam','kan':'kannada','bn':'bengali','ur':'urdu','tel':'telugu','pun':'punjabi', 'mar':'marathi', 'guj':'gujarati', 'tam':'tamil', 'hin':'hindi','en':'english'}
target_lang="tam"
# Original video path
original_video_path="$script_dir/OrigVideo/Week4_Lecture3.mp4"
# Translated SRT path
translated_srt_path="$script_dir/Translated_SRT/Week4_Lecture3_Cleaned_Tagged.ta.srt"
output_audio_segments_path="$script_dir/TTS_AUDIO"
final_output_file_path="$script_dir/final_output_vedios"
srt_folderpath="$script_dir/Translated_SRT"
# Activate the virtual environment
# source "$virtual_env_path"
# Extract the original video filename without extension
original_video_name=$(basename "$original_video_path" .mp4)
srt_file_name=$(basename "$translated_srt_path" .srt)
# Automatically create new video and SRT file paths based on the original video name
new_video="$script_dir/$original_video_name.mp4"
new_srt="$script_dir/$original_video_name.srt"
# Create a folder for each target language if it doesn't exist
output_folder="$final_output_file_path/$target_lang"
if [ ! -d "$output_folder" ]; then
mkdir -p "$output_folder"
fi
#echo "location1"
# Call the Python script for SRT to audio conversion
python3 "$script_dir/srt_to_audio_original.py" --target_lang "$target_lang" --output_audiopath "$output_audio_segments_path" --srt_folderpath "$srt_folderpath"
# TTS audio directory
audio_dir="$output_audio_segments_path/${target_lang}_WAV/$srt_file_name"
echo "audio_dir"
#echo "location2"
# Call the Python lip syncing script with the provided arguments
python3 "$script_dir/lip_sync_online_v1_original.py" --original_video_path "$original_video_path" --Translated_SRT "$translated_srt_path" --audio_dir "$audio_dir" --output_video_path "$new_video" --new_srt_path "$new_srt"
#echo "location3"
# Run ffmpeg command to convert SRT to ASS to add Subtitle to New Video
ffmpeg -i "$new_srt" -vf "ass=fontsize=12" "$script_dir/$original_video_name.ass"
ffmpeg -i "$new_video" -vf "ass=$script_dir/$original_video_name.ass" "$output_folder/$original_video_name"_with_subtitle.mp4
# Remove temporary files
rm "$new_srt" "$new_video" "$script_dir/$original_video_name.ass"