Com base nesta resposta, você pode usar ffmpeg com os seguintes comandos para girar um vídeo:
ffmpeg -i input -vf transpose=2 output
Para processar em lote uma pasta de filmes, você pode usar uma linguagem de programação de sua escolha e percorrer os arquivos. Eu usei linux com python 2.7+ aqui. Você só precisa editar o folder_movies
caminho path_to_ffmpeg
e definir seu filme 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])
Posteriormente, sua pasta de filmes será semelhante a:
A vantagem de usar python é que o código é executado em várias plataformas . A única coisa que você precisa considerar são os caminhos para o diretório e o executável ffmpeg. Para executar isso em uma máquina Windows, você só precisa substituir os caminhos para 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: Não sou especialista em ffmpeg, talvez haja uma maneira de processar em lote diretamente com ele.