Копирование потоков быстрее
Ваш первый пример - просто копирование потоков, а затем перемещение атома moov. Такое перемещение позволяет начать воспроизведение видео до того, как оно будет полностью загружено, например, просмотрщик просматривает ваше видео через браузер.
ffmpeg -i input.mp4 -codec copy -map 0 -movflags +faststart output.mp4
Кодировка медленнее
Кодирование, как и во втором примере, может занять много времени в зависимости от нескольких факторов, включая: сложность и длительность вашего ввода, способ компиляции ваших сборок ffmpeg и x264, возраст ваших сборок (потенциальное отсутствие функций, улучшений и исправления ошибок), ваш процессор, используемый кодер и ваши настройки кодирования. Не всем этим можно управлять, но вы можете быть уверены, что используете последнюю сборку и можете изменить настройки кодирования, чтобы они лучше соответствовали вашим потребностям.
Получение FFmpeg
Статические сборки просты в использовании: просто скачайте, распакуйте и запустите. См. Страницу загрузки FFmpeg для опций для пользователей Linux, Windows и OS X. Вы также можете скомпилировать и несколько пошаговых руководств по компиляции FFmpeg .
Использование пресета
Вы можете использовать более быстрый пресет кодирования при кодировании с x264:
ffmpeg -i in.wmv -codec:v libx264 -preset fast -movflags +faststart out.mp4
Предварительная установка - это набор параметров, которые определяют эффективность кодирования и, следовательно, также влияют на скорость. Текущие пресеты: ultrafast
, superfast
, veryfast
faster
, fast
, быстрый , medium
, slow
, slower
, очень veryslow
, placebo
. По умолчанию medium
, а placebo
- пустая трата времени. Общая рекомендация - просто использовать самый медленный пресет, к которому у вас есть терпение. См. Руководство по кодированию FFmpeg и x264 для получения дополнительной информации.
Параметр -f mp4
не нужен, и в зависимости от вашей версии ffmpeg h264
может работать как имя кодировщика, поэтому принято использовать libx264
.