The following code to converts a one video from mp4 to avi using ffmpeg ffmpeg.exe -i "kingman.mp4" -c copy "kingman.avi" I need to convert multiple videos in a specific path. "outputvideo" with the same video name This is the my code that needs to be modified. from pathlib import Path import subprocess from glob import glob all_files = glob('./video/*.mp4') for filename in all_files: videofile = Path(filename) outputfile = Path(r"./outputvideo/") codec = "copy" ffmpeg_path = (r"ffmpeg.exe") outputfile = outputfile / f"{videofile.stem}" outputfile.mkdir(parents=True, exist_ok=True) command = [ f"{ffmpeg_path}", "-i", f"{videofile}", "-c", f"{codec}", "{outputfile}",] process = subprocess.Popen( command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, bufsize=1, universal_newlines=True) process.communicate() 
Use ffmpeg.exe if you are using windows, else just ffmpeg will work in case of linux from pathlib import Path import subprocess import os from glob import glob input_folder = "video" output_folder = "outputvideo" abs_path = os.getcwd() all_files = glob(f'{abs_path}/{input_folder}/*.mp4') output_dir = os.path.join(abs_path , output_folder) out_ext = "avi" os.makedirs(output_dir , exist_ok=True) input_dir = os.path.join(abs_path, input_folder) for filepath in all_files: stem = os.path.splitext(os.path.basename(filepath))[0] videofile = Path(filepath) codec = "copy" ffmpeg_path = (r"ffmpeg") outputfile = f"{output_dir}/{stem}.{out_ext}" command = [ f"{ffmpeg_path}", "-i", f"{videofile}", "-c", f"{codec}", f"{outputfile}",] process = subprocess.Popen( command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, bufsize=1, universal_newlines=True) stdout, stderr = process.communicate() # Print output for debugging print(f"Processed: {videofile} -> {outputfile}") if stderr: print(f"FFmpeg Error: {stderr}") 