На этот вопрос уже есть ответ здесь:
В настоящее время я конвертирую флэш-файлы .flv в файлы .webm и .mp4 для использования с видеоплеером HTML5.
_
Я использую эту команду ffmpeg для WEBM: она ffmpeg -i filename.flv -vcodec libvpx -acodec libvorbis filename.webm
прекрасно работает, а размер файла остается относительно одинаковым (важно).
_
Для MP4 я использую следующее: ffmpeg -i filename.flv -sameq -ar 22050 filename.mp4
Он прекрасно конвертируется в .mp4 и предотвращает любую потерю качества, но размер файла почти в три раза больше.
Какую формулу ffmpeg можно использовать для конвертации в MP4, не теряя при этом слишком высокого качества и не допуская гораздо большего размера файла?
mpeg4
. Согласно выводуffmpeg --help muxer=mp4
на моей машине, ffmpeg использует h264 в качестве видеокодека mp4 по умолчанию.Эта команда изменяет только контейнер без перекодирования
источник
for %%a in ("*.flv") do ffmpeg -i "%%a" -codec copy "%%~na.mp4"
затем выполните convert.bat в папке с файлами * .flv-codec copy
в файл .mp4, работает только в очень редком случае, когда аудио и видео уже закодированы с использованием H.264 и AAC. См superuser.com/a/1009539/390946 и addpipe.com/blog/flv-to-mp4 .avconv
иffmpeg
по сути то же самое. [что касается ОЧЕНЬ недавно, есть НЕКОТОРЫЕ расхождения, но не очень много, о чем стоит рассказать, если вы скомпилируете свои собственныеffmpeg
[например, в репозиториях Ubuntu есть OLD и страдает от того, что размер видео не является бла-бла-бла-бла [в основном пытается чтобы сказать вам, что видео имеет неправильные пропорции], но если вы потрудитесь прочитатьffmpeg
руководство по компиляции и скомпилировать его из git, у него нет проблем старых версий, которые есть в большинстве ОС. предупреждение амортизационного со ссылкой наavconv
говорят вам , что они создали новую Util , чтобы попытаться заменитьffmpeg
, но это ТАК широко используется , что даже если они пытались отрезать его , мы все было бы создать softlinks отavconv
доffmpeg
в любом случае, поэтому они не собираются прекращать работу и бросать ее.]]Это не плохая вещь
avconv
, которую я могу использовать , я только что видел один ответ, в котором упоминается предупреждение об амортизации, которое, по сути, является пустым сообщением, должно быть больше для альтернативы ffpmeg, вы можете попробовать avconv, что более верно в данном случае.это действительно то же самое
по существу, в первом случае вы используете более короткие варианты, а во втором - более записанный вариант.
ТАКЖЕ
-map 0
относится к звуковым дорожкам, так что если вы используете что-то подобное,mp4a
которое может отлично обрабатывать несколько звуковых дорожек, вы можете отключить это, чтобы скопировать все аудиопотоки в результирующий файл. Это требуется только в том случае, если вы используете кодек, который не поддерживает несколько звуковых дорожек в одном и том же файле, тогда вы захотите отобразить необходимый звук, а не все. Конечно, если вы пытаетесь минимизировать используемое пространство, вы можете указать только один, чтобы попытаться немного уменьшить размер файла [звук примерно равен 1/3 размера видеодорожки [и это щедро]].-c:v = codec(video)
так: так-c:v libx264
же, как использование:-vcodec libx264
FYI; то же самое с этим примером:-c:v copy = -vcodec copy
и, кроме того, для FLV будьте осторожны, файл flv такой же, как avi, в том, что он является контейнером, который может содержать любое количество кодеков для видео или аудио. Сначала вы захотите использовать выбранную утилиту проверки медиа, чтобы увидеть, что используется внутри самого файла, прежде чем либо просто скопировать видео и / или аудиопоток, либо если вы хотите преобразовать его из того, что было, во что-то новое. Таким образом, команда, которая работает лучше всего для одного FLV, может не совпадать для другого FLV (конечно, ОБЫЧНО, если при получении нескольких FLV из одного источника они будут закодированы одинаково, но это никогда не гарантируется).
Не пытаясь придираться, просто наткнулся на это в веб-поиске и хотел попытаться немного прояснить ситуацию для людей.
Опять же, поскольку в этом ответе указано, что ответ ниже этого, ДА, запустив ffmpeg, всегда будет публиковать это сообщение, оно по существу пустое, поскольку эти 2 утилиты на самом деле все те же самые утилиты с очень небольшой разницей. Вы должны почти во всех случаях получать одинаковые результаты, используя любую команду. Это не обязательно приведет к полному перекодированию, почему? A, если это не нужно, это экономит массу времени, и B, если вы перекодируете файл, который уже был сжат в видеокодек, вы, по сути, выполняете процедуру сжатия для чего-то, что уже сжато и всегда приводит к в меньшем качестве, чем источник. Большинство новых кодеков несколько совместимы [не все], как, например, flv технически может быть MP4 в оболочке FLV, поскольку FLV, такие как AVI, являются просто контейнерами других кодеков. Так, это зависит от того, что источник flv имеет для видео и кодека ausio по сравнению с тем, к чему вы его конвертируете, относительно того, нужно ли его вообще транскодировать. Если бы внутри FLV они использовали видео H264 MP4 и MP4a для аудио, вам не нужно было бы перекодировать то, что вам нужно, только скопировать его и настроить заголовки файлов, чтобы он читался как настоящий MP4 вместо видео MP4 внутри FLV-файла.
источник
Согласно этому руководству , правильная команда для преобразования FLV в MP4 без какой-либо AV-записи:
Во всех случаях он отлично работал с видео AVC и аудио AAC или MP3.
источник
При использовании ffmpeg я получил предупреждение об устаревании при использовании avconv. Используя avconv, я получил хорошие результаты:
Читайте
man avconv
для получения дополнительной информации.источник
ffmpeg
само по себе не устарело . Причина, по которой он выглядит хорошо, заключается в том, что вы указываете кодер x264, который имеет хорошие настройки качества по умолчанию.Я предлагаю вам создать сценарий оболочки для этого файла
video_flv_to_mp4
со следующим содержимым:Затем запустите это так:
Это даст вам файл video.flv.mp4.
источник
-sameq
больше не является допустимым параметром для ffmpeg. Это также не означает «то же качество». Смотрите также этот пост .