import sys import os from moviepy.editor import * from .burn1 import Subtitling_Burn from .base import make_directory import random # ppt = sys.argv[1] # doc = sys.argv[2] basepath = "/home/user/mnf/project/MNF/conversion/subtitling" def burn_subtitle(mp4, lang_code, sub): # lang = { # 'Arabic': 'ar', # 'Bengali': 'bn', # 'Catalan': 'ca', # 'English': 'en', # 'French': 'fr', # 'Gujarati': 'gr', # 'Hindi': 'hi', # 'Kannada': 'kn', # 'Marathi': 'mr', # 'Spanish': 'es', # 'Tamil': 'ta', # 'Telugu': 'te' # } lang = { "Hindi": "hi", "English": "en", "Urdu": "ur", "Arabic": "ar", "Bengali": "bn", "Kannada": "kn", "Tamil": "ta", "Bulgarian": "bg", "Bangla": "bn", "Malayalam": "ml", "Russian": "ru", "Serbian": "sr", "Ukranian": "uk", "Croatian": "hr", "Irish": "ga", "Albanian": "sq", "Marathi": "mr", "Persian": "fa", "Telugu": "te", "Turkish": "tr", "Hungarian": "hu", "Italian": "it", "Romanian": "ro", "Punjabi": "pa", "Gujrati": "gu", "Odia": "or", "Chinese": "zh", "Nepali": "ne", "French": "fr", "Spanish": "es", "Indonesian": "id", "Greek": "el", "ja": "Japanese", "Javanese": "jv", "Korean": "ko", "Belarusian": "be", "Uzbek": "uz", "Sindhi": "sd", "Afrikaans": "af", "German": "de", "Icelandic": "is", "Igbo": "ig", "Latin": "la", "Portugese": "pt", "Myanmar": "my", "Thai": "th", "Sundanese": "su", "lo": "Lao", "amharic": "am", "Sinhala": "si", "Azerbaijani": "az", "Kazak": "kk", "Macedonian": "mk", "Bosnian": "bs", "Pashto": "ps", "Malagasy": "mg", "Malay": "ms", "Yoruba": "yo", "Czech": "cs", "Danish": "da", "Dutch": "nl", "Tagalog": "tl", "Norwegian": "no", "Slovenian": "sl", " Swedish": "sv", "Vietnamese": "vi", "Welsh": "cy", "Hebrew": "he", "Armenian": "hy", "Khmer": "km", "Georgian": "ka", "Mongolian": "mn", "Kurdish": "ku", "Kyrgyz": "ky", "Turkmen": "tk", "Finnish": "fi", "Haitian Creole": "ht", "Hawaiian": "haw", "Lithuanian": "lt", "Luxembourgish": "lb", "Maltese": "mt", "Polish": "pl", "Esperanto": "eo", "Tatar": "tt", "Uyghur": "ug", "Hausa": "ha", "Somali": "so", "Swahili": "sw", "Yiddish": "yi", "Basque": "eu", "Catalan": "ca", "Cebuano": "ceb", "Corsican": "co", "Estonian": "et", "Frisian": "fy", "Galician": "gl", "Hmong": "hmn", "Kinyarwanda": "rw", "Latvian": "lv", "Maori": "mi", "Samoan": "sm", "Scots Gaelic": "gd", "Sesotho": "st", "Shona": "sn", "Slovak": "sk", "Xhosa": "xh", "Zulu": "zu", } lang_code = lang[lang_code] movie_name = os.path.splitext(mp4)[0] vid_path = make_directory(movie_name) clip = VideoFileClip(mp4) clip = clip.subclip(0, 5) value = clip.size[0] print("Ready to hardburn subtitles") # for i in sub: # print(sub) # sub = sub[27:] # exit() # /home/user/mnf/project/MNF/media/videos/Subtitling_Videos/overlay/google_subtitle.srt obj = Subtitling_Burn(mp4, sub) burn_path = obj.burnSRT(lang_code, vid_path, value) return str(burn_path) # os.system("python burn1.py " + mp4 + " " + # i + " " + lang_code + " " + folder) print("-" * 30) # print("Ready to embed subtitles") # os.system("ffmpeg -i " + mp4 + " -i " + i + # " -c copy -c:s mov_text " + output) # os.system("ffmpeg -i " + mp4 + " -i " + sub_file + # " -c copy -c:s mov_text " + final) # os.system("ffmpeg -i " + mp4 + " -i " + sub_file + " -c:v copy -c:a copy -c:s mov_text -map 0:v -map 0:a -map 1 -map 2 -metadata:s:s:0 language=kor -metadata:s:s:1 language=eng " + final) # mp4 = sys.argv[1] # language_code = sys.argv[2] # srt = sys.argv[3] # folder = os.path.splitext(mp4)[0] # current = basepath + "/" + folder # final = folder + "_overlay.mp4" # srt = [] # total arguments # n = len(sys.argv) # text = '' # for i in range(3, n): # srt.append(sys.argv[i]) # text = text + current + "/" + str(sys.argv[i])+"\n" # with open(rf"{current}/sub.txt", "w") as file_object: # # Append 'hello' at the end of file # file_object.write(text) # sub_file = current+"/sub.txt" # burn_subtitle(mp4, language_code, srt) def overlay(mp4, sub): print("Ready to overlay subtitles") movie_name = os.path.splitext(mp4)[0] vid_path = make_directory(movie_name) num = random.randint(0, 1000) srt_path = "" for i in sub: srt_path += " -i " + i[0] mapstr = "" lang = "" for i in range(len(sub)): mapstr += " -map " + str(i + 1) lang += " -metadata:s:s:" + str(i) + " language=" + sub[i][1] cmd = ( f"ffmpeg -i {mp4}" + srt_path + " -c:v copy -c:a copy -c:s mov_text -map 0:v -map 0:a" + mapstr + lang + " " + vid_path + "/overlay_" + str(num) + ".mp4" ) print(cmd) os.system(cmd) file_path = vid_path + "/overlay_" + str(num) + ".mp4" return str(file_path)