Меньший размер файла mp4

1

У меня есть пара (более 100) видеофайлов в формате mp4, каждый по 15 МБ. Я думаю, что это излишне качественные видео, я хочу уменьшить размеры каждого, уменьшив качество. Я знаю, что могу сделать это с помощью ffmpeg, но я не знаком с такими понятиями, как битрейт, коды и т. Д., Так что кто-нибудь может помочь с этим? Это метаданные одного из них:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '16.8-AnomalyDetection-AnomalyDetectionUsingTheMultivariateGaussianDistribution-OPTIONAL.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isom
    creation_time   : 2011-12-06 18:56:20
  Duration: 00:14:03.40, start: 0.000000, bitrate: 176 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1000x562 [SAR 1:1 DAR 500:281], 45 kb/s, 15 fps, 15 tbr, 15 tbn, 30 tbc
    Metadata:
      creation_time   : 1970-01-01 00:00:00
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 127 kb/s
    Metadata:
      creation_time   : 2011-12-06 18:56:20
      handler_name    : GPAC ISO Audio Handler
Яшар
источник
1
Вы понимаете, что аудио отвечает за более чем 70% размера вашего файла?
Даниэль Бек
Нет, не знаю :) Как я уже сказал, я не особенно хорош в кодировании аудио и видео.
Ясар
Вы можете видеть строки, которые содержат Audioи Video, с первым имеющим 127 kb/sи вторым 45 kb/s, составляют почти все общее 176 kb/s.
Даниэль Бек

Ответы:

0

Я закончил тем, что сделал это:

#!/bin/bash
for d in $(find .. -maxdepth 1 -name '*.mp4'); do 
    filename=$(echo "$d" | sed 's:../::')
    ffmpeg -i "$d" -b:a 64k -ac 1 -ar 22050 -acodec libmp3lame -s\
    640x480 -r 10 "$filename" && rm --interactive=never "$d"
done

Варианты обозначает:

  • -b: a -> Установить битрейт аудио
  • -ac -> Установить количество аудиоканалов.
  • -ar -> Установить частоту дискретизации звука
  • -s -> Установить размеры видео.
  • -r -> Установить количество кадров в секунду
Яшар
источник