Según esta respuesta , puede usar ffmpeg con los siguientes comandos para rotar un video:
ffmpeg -i input -vf transpose=2 output
Para procesar por lotes una carpeta de películas, puede usar un lenguaje de programación de su elección e iterar a través de los archivos. He usado Linux con Python 2.7+ aquí. Solo tiene que editar la folder_movies
ruta path_to_ffmpeg
y configurar su película extension
:
import os # import os module
import subprocess # import subprocess module
# set the path to your video folder
folder_movies = '/home/user/Desktop/test/'
# set ffmpeg path
path_to_ffmpeg = "/opt/ffmpeg/ffmpeg"
# set file extension
ext = ".mp4"
# collect all videos in folder_movies
movie_files = [f for f in os.listdir(folder_movies) if f.endswith(ext)]
# iterate through the files
for i in movie_files:
# setup correct filepath for mov's
file_path = os.path.join(folder_movies,i)
# generate new file path
new_path = os.path.splitext(file_path)[0] + '_rotated_90' + ext
# call ffmpeg with the correct arguments
# command: ffmpeg -i input -vf transpose=2 output
subprocess.call([path_to_ffmpeg, "-i", file_path, "-vf", "transpose=2", "-c:a", "copy", new_path])
Luego, su carpeta de películas debería verse así:
La ventaja de usar Python es que el código corre multiplataforma . Lo único que debe tener en cuenta son las rutas al directorio y el ejecutable ffmpeg. Para ejecutar esto en una máquina Windows solo tiene que reemplazar las rutas a algo como:
# folder_movies = '/home/user/Desktop/test/' # linux or osx
folder_movies = r'c:\some\directory\test' # windows, the r is important
folder_movies = 'c:/some/directory\test' # windows (alternative)
# path_to_ffmpeg = '/opt/ffmpeg/ffmpeg' # linux or osx
path_to_ffmpeg = r'c:\Program Files\ffmpeg\ffmpeg' # windows, the r is important
path_to_ffmpeg = 'c:/Program Files/ffmpeg\ffmpeg' # windows (alternative)
Nota: no soy un experto en ffmpeg, tal vez haya una forma de procesar por lotes directamente con él.