Чтобы изменить размеры видео, существует несколько способов в зависимости от ваших требований и языка программирования, который вы используете. Вот несколько примеров использования популярных языков программирования:
-
Python с библиотекой MoviePy:
from moviepy.editor import VideoFileClip def resize_video(input_path, output_path, width, height): clip = VideoFileClip(input_path) resized_clip = clip.resize((width, height)) resized_clip.write_videofile(output_path) # Usage resize_video('input.mp4', 'output.mp4', 640, 480)
-
Инструмент командной строки FFmpeg:
ffmpeg -i input.mp4 -vf scale=640:480 output.mp4
-
Java с библиотекой Xuggler:
import com.xuggle.mediatool.IMediaReader; import com.xuggle.mediatool.IMediaWriter; import com.xuggle.mediatool.ToolFactory; import com.xuggle.xuggler.IRational; import com.xuggle.xuggler.IVideoPicture; public class VideoResizer { public static void resizeVideo(String inputPath, String outputPath, int width, int height) { IMediaReader mediaReader = ToolFactory.makeReader(inputPath); IMediaWriter mediaWriter = ToolFactory.makeWriter(outputPath, mediaReader); IVideoPicture picture; while ((picture = mediaReader.readVideoFrame()) != null) { picture = resizePicture(picture, width, height); mediaWriter.encodeVideo(0, picture); } mediaWriter.close(); mediaReader.close(); } private static IVideoPicture resizePicture(IVideoPicture picture, int width, int height) { IVideoPicture resizedPicture = IVideoPicture.make(picture.getPixelType(), width, height); picture.getPictureType(); resizedPicture.setQuality(picture.getQuality()); resizedPicture.setTimeStamp(picture.getTimeStamp()); resizedPicture.setComplete(picture.isComplete()); picture.getPaddingLeft(); picture.getPaddingTop(); picture.getPaddingRight(); picture.getPaddingBottom(); picture.getRecoveryCount(); picture.getBuffer(); picture.getLuma(); picture.getCropBottom(); picture.getCropLeft(); picture.getCropRight(); picture.getCropTop(); picture.getDisplayHeight(); picture.getDisplayWidth(); picture.getHeight(); picture.getLineStride(); picture.getNumComponents(); picture.getPixelType(); picture.getQuality(); picture.getQualityScale(); picture.getSampleAspectRatio(); picture.getTimeBase(); picture.getTimeStamp(); picture.getTopFieldFirst(); picture.getVideoComponent(); picture.getWidth(); return resizedPicture; } // Usage public static void main(String[] args) { resizeVideo("input.mp4", "output.mp4", 640, 480); } }
В этих примерах показано, как изменить размеры видео с помощью Python с библиотекой MoviePy, инструмента командной строки FFmpeg и Java с библиотекой Xuggler. Вы можете выбрать метод, который соответствует вашему языку программирования и требованиям.