Как конвертировать MP4 в SWF


4

Может кто-нибудь дать мне параметры командной строки для FFmpeg для преобразования видео MP4 в файл Adobe Flash SWF?

Ответы:


6

В основном, вот так:

ffmpeg -i in.mp4 out.swf

По умолчанию будет конвертироваться видео в Sorenson Spark (H.263 или известное как flv1) и аудио в MP3 с использованием любого MP3-кодера, который есть у вашего FFmpeg - возможно libmp3lame.

Если вам нужно изменить качество видео, у вас есть два варианта:

  • добавьте -qscale:vопцию после -i in.mp4со значением от 1 до 31, где более высокое означает более низкое качество (попробуйте сначала 2 или 3). Это настройка VBR.

  • добавить -b:vопцию с битрейтом, например 1Mили 500K. Конечно, это настройка CBR, которая может привести к снижению качества изображения в зависимости от размера файла.

Для аудио:

  • добавьте -q:aопцию для VBR MP3, со значениями от 0 до 7, 0 - лучшее качество.

  • добавить -b:aопцию для CBR MP3, например, с 192K.


Попробуйте вместо этого преобразовать видео в контейнер FLV, который будет обрабатывать большее количество кодеков, чем SWF (который поддерживает только H.263, VP6 или Motion JPEG).

Это позволит вам использовать видео H.264 и аудио AAC, что обеспечит вам лучшее качество при меньших размерах файлов по сравнению с вариантом H.263 / MP3 в SWF-файлах. У вас может даже быть возможность скопировать потоки битов, что вовсе не будет означать снижения качества.

ffmpeg -i in.mp4 -c copy out.flv

Если это не сработает, перекодируйте:

ffmpeg -i in.mp4 -c:v libx264 -c:a aac -strict experimental -b:a 192K out.flv

Это будет использовать кодер x264. Чтобы изменить качество видео здесь, у вас есть следующие варианты:

  • добавьте -crfопцию после -i in.mp4со значением от 0 до 51, где ниже означает лучшее качество. По умолчанию 23, а вменяемые значения от 18 до 28.

  • добавить -b:vопцию, аналогичную описанной выше для режима постоянной скорости

См. Руководство по кодированию x264 в FFmpeg wiki для получения дополнительной информации.


Знаете ли вы, можно ли задать свойство сглаживания объекта видеоизображения? (обычно это свойство, которое вы устанавливаете для видеодисплея, используя имя его экземпляра, например videoObj.smoothing = true)
Якоб Штернберг
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.