avconv
и ffmpeg
- это одно и то же. [что касается ОЧЕНЬ недавно, есть НЕКОТОРЫЕ расхождения, но не очень много, о чем можно рассказать, если вы скомпилируете свой собственный ffmpeg
[например, в репозиториях Ubuntu есть OLD и страдает от того, что размер видео не бла-бла-бла-бла пытается сказать вам, что видео имеет неправильные пропорции], но если вам нужно прочитать руководство по компиляции ffmpeg
и скомпилировать его из git, у него нет проблем старых версий, которые есть в большинстве ОС. предупреждение об устаревании, относящееся к avconv
, говорит о том, что они создали более новую утилиту для попытки заменить ffmpeg
, НО она настолько широко используется, что даже если бы они попытались ее отключить, мы все равно будем создавать софт-ссылки из avconv
на ffmpeg
чтобы они не собираемся останавливать работу и бросать ее.]]
Использование avconv
, я только что увидел один ответ, в котором упоминается предупреждение об амортизации, которое, по сути, является пустым сообщением, должно быть более подходящим вариантом для ffpmeg, вы можете попробовать avconv, что более верно в данном случае.
avconv -i inputfile.flv -map 0 -c:v libx264 -c:a copy outputfile.mp4
действительно то же самое, что
ffmpeg -i filename.flv -vcodec libvpx -acodec libvorbis
по существу, в первом случае вы используете более короткие варианты, а во втором - более записанный вариант.
ALSO -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-файла.