6

Я нашел эту линию онлайн

ffmpeg -i input.mp4 -c:a copy -c:v copy -movflags faststart output.mp4

Который принимает вход, копирует аудио, видео и устанавливает атом MOOV в начало в элементе с именем output.mp4. В основном создаем то же видео с атомами MOOV в новом месте.

Мне нужно конвертировать тип этого носителя, поэтому у меня есть строка

ffmpeg -i input.wmv -vcodec h264 -f mp4 output.mp4

Моя проблема в том, возможно ли это в одной строке? Я знаю, что могу запускать одно за другим, но это создает пару видео, когда мне нужно только полученное видео, что может привести к потере памяти.

Я уверен, что линия

ffmpeg -i input.wmv -movflags faststart -vcodec h264 -f mp4 output.mp4 

Это законно, но без прямых копий, это займет много времени, чтобы вычислить.

Любые входные данные об атомах MOOV и вычислениях ffmpeg приветствуются.

1 ответ1

5

Копирование потоков быстрее

Ваш первый пример - просто копирование потоков, а затем перемещение атома 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 .

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