Методы изменения размеров видео с примерами кода

Чтобы изменить размеры видео, существует несколько способов в зависимости от ваших требований и языка программирования, который вы используете. Вот несколько примеров использования популярных языков программирования:

  1. 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)
  2. Инструмент командной строки FFmpeg:

    ffmpeg -i input.mp4 -vf scale=640:480 output.mp4
  3. 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. Вы можете выбрать метод, который соответствует вашему языку программирования и требованиям.