Dựa trên câu trả lời này, bạn có thể sử dụng ffmpeg với các lệnh sau để xoay video:
ffmpeg -i input -vf transpose=2 output
Để xử lý hàng loạt một thư mục phim, bạn có thể sử dụng ngôn ngữ lập trình bạn chọn và lặp qua các tệp. Tôi đã sử dụng linux với python 2.7+ ở đây. Bạn chỉ phải chỉnh sửa folder_movies
đường dẫn path_to_ffmpeg
và đặt phim của mình 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])
Sau đó, thư mục phim của bạn sẽ giống như:

Ưu điểm của việc sử dụng python là mã chạy đa nền tảng . Điều duy nhất bạn cần xem xét là các đường dẫn đến thư mục và tệp thực thi ffmpeg. Để chạy cái này trên máy tính windows, bạn chỉ phải thay thế các đường dẫn đến một cái gì đó như:
# 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)
Lưu ý: Tôi không phải là chuyên gia ffmpeg, có thể có cách xử lý hàng loạt với nó trực tiếp.