2

Я пытаюсь использовать ffmpeg для преобразования видеофайла h264/aac в файл xvid/mp3, чтобы воспроизвести его в своем ультра-дешевом медиаплеере.

На данный момент конвертированный видеофайл ДВАЖДЫ размер оригинального mp4. Есть ли способ получить меньший размер файла без потери качества? Даже падение до -qmin 1 довольно ужасно!

Команда, которую я использую,

ffmpeg -i input.mp4 -vcodec libxvid -sameq -acodec libmp3lame -ab 128k -ac 2 output.avi

И вывод ffmpeg

  Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4'
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1
  Duration: 01:34:27.69, start: 0.000000, bitrate: 1520 kb/s
    Stream #0.0(und): Video: h264, yuv420p, 720x304 [PAR 1:1 DAR 45:19], 1387 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc
    Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16, 128 kb/s
Output #0, avi, to 'output.avi':
  Metadata:
    ISFT            : Lavf52.64.2
    Stream #0.0(und): Video: mpeg4, yuv420p, 720x304 [PAR 1:1 DAR 45:19], q=2-31, 200 kb/s, 25 tbn, 25 tbc
    Stream #0.1(und): Audio: libmp3lame, 48000 Hz, stereo, s16, 128 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1

2 ответа2

1

В зависимости от того, что может обрабатывать ваш медиаплеер, вы можете уменьшить размер кадра, например, если он начинается с 1280x720, уменьшить до 640x360. Это позволило бы уменьшить битрейт видео на 3/4 без изменения качества, а меньшие видеоплееры в любом случае отображают ширину всего 640 пикселей.

0

Как уже было сказано ранее в комментариях, h.264 - лучший (как и в случае сжатия) кодек, чем xvid, поэтому при прочих равных условиях (качество, размер кадра, частота кадров и т.д.) Xvid всегда будет создавать файлы большего размера. плюс xvid в том, что он менее загружен процессором, чем h.264, поэтому его могут использовать дешевые медиаплееры.

Например, XBMC на оригинальном xbox (с процессором PIII архитектуры, работающим на частоте 733 МГц) можно было принудительно воспроизводить в формате 720p HD, но только в том случае, если кодек был достаточно легким и с очень специфическими флагами. обычно это было xvid, так как h.264 даже в разрешениях SD обычно было слишком много для старого бедного PIII. при разрешении SD типичное приемлемое телешоу Q 45 мин весит около 350 Мб, но в h.264 будет примерно вдвое меньше.

для лучшей ставки перекодируйте видео в том же разрешении, что и на устройстве (но сохраняя качество), чтобы не тратить пропускную способность на изображение, которое в любом случае будет уменьшено только во время воспроизведения. - вдвое уменьшение разрешения в любом направлении (скажем, 1280x720 -> 640x360, как упомянуто выше) уменьшит требуемую полосу пропускания (и полученный размер файла) до 1/4.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .