как конвертировать AVI (XVID) в MKV или MP4 (H264)


19

Очень нуб, когда дело доходит до видео. Я пытаюсь понять, что я нахожу через Google ... но это в основном греческое для меня.

У меня есть куча файлов Avi, которые не воспроизводятся в моей коробке WD TV Play. Mediainfo говорит мне, что они xvid. Спецификации для коробки показывают, что все должно быть в порядке ... но копаться в форумах говорит, что это хит и промах. Поэтому я хотел бы попробовать преобразовать их в файлы MKV или mp4 в кодировке h264.

Я полагаю, что avconv - это инструмент, но чтение руководства просто запутало меня.

Я попробовал очень простой пример:

avconv -i file.avi -c copy file.mp4

это заняло менее 4 секунд. И это сработало ... вроде. Это «играло» в том, что что-то появилось на экране ... но было ужасное артефактирование, и сцены просто как бы сливались друг с другом. Я хочу сохранить качество, если это возможно.

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

Может кто-нибудь знаком с процессом, пожалуйста, дайте мне команду с параметрами?

Спасибо за помощь.

Я выкладываю mediainfo на случай, если это поможет:

General
Complete name                            : \\SERVER\Video\Public\test.avi
Format                                   : AVI
Format/Info                              : Audio Video Interleave
File size                                : 189 MiB
Duration                                 : 11mn 18s
Overall bit rate                         : 2 335 Kbps
Writing application                      : Lavf52.32.0

Video
ID                                       : 0
Format                                   : MPEG-4 Visual
Format profile                           : Advanced Simple@L5
Format settings, BVOP                    : 2
Format settings, QPel                    : No
Format settings, GMC                     : No warppoints
Format settings, Matrix                  : Default (H.263)
Muxing mode                              : Packed bitstream
Codec ID                                 : XVID
Codec ID/Hint                            : XviD
Duration                                 : 11mn 18s
Bit rate                                 : 2 129 Kbps
Width                                    : 720 pixels
Height                                   : 480 pixels
Display aspect ratio                     : 16:9
Frame rate                               : 29.970 fps
Standard                                 : NTSC
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 0.206
Stream size                              : 172 MiB (91%)
Writing library                          : XviD 1.2.1 (UTC 2008-12-04)

Audio
ID                                       : 1
Format                                   : MPEG Audio
Format version                           : Version 1
Format profile                           : Layer 3
Mode                                     : Joint stereo
Mode extension                           : MS Stereo
Codec ID                                 : 55
Codec ID/Hint                            : MP3
Duration                                 : 11mn 18s
Bit rate mode                            : Constant
Bit rate                                 : 192 Kbps
Channel(s)                               : 2 channels
Sampling rate                            : 48.0 KHz
Compression mode                         : Lossy
Stream size                              : 15.5 MiB (8%)
Alignment                                : Aligned on interleaves
Interleave, duration                     : 24 ms (0.72 video frame)

Следует помнить, что не следует перекодировать один кодек с потерями в другой. В случае, когда ваше видео находится в кодеке Xvid, просто смешайте его в контейнере Matroska.
v010дя

Ответы:


44

Стандартная команда из http://manpages.ubuntu.com/manpages/precise/man1/avconv.1.html показывает это:

avconv -i test.avi -c:v libx264 -c:a copy outputfile.mp4

Это перекодирует ваше видео в h264 (= AVC) и сохранит ваш звук без изменений, что соответствует mp3 и полностью соответствует стандарту.

Несколько других вариантов для рассмотрения с помощью этой командной строки:

  • Настройте качество выходного видео с помощью -bпараметра (битрейт) или используйте коэффициент постоянной скорости (CRF) с чем-то вроде-crf 22
  • Используйте предустановку libx264, например, -preset veryslowдля улучшенного видео

Если вы используете эти параметры должны быть помещены после -c:v libx264опции ...

Вы также можете взглянуть на программы с графическим интерфейсом winffи avidemuxкоторые сделают вещи менее сложными. (тоже handbrakeхороший, но я никогда не соглашался с этим)


Ха! Я не знаю, как ты смотришь на эту загадку манекена и вычеркиваешь эту строку как очевидную «стандартную команду» ... но я благодарен, что ты это сделал! Это сработало. Я признателен за это.
bcsteeve

Спасибо за упоминание Ручного тормоза - у меня это было и я полностью забыл об этом. Я закончил тем, что открыл его, искал папку с моим фильмом, вынул все видео, поставил их в очередь и нажал «Кодировать»!
Скорпион

Для звука AAC многие устройства могут иметь аппаратный декодер, поэтому сохранение его в формате MP3 не обязательно лучше.
ccpizza

4

Если вы ищете что-то графическое, вы можете использовать пакет mkvtoolnix-gui. На самом деле это зависит от утилиты командной строки, но она выполнит команду со всеми необходимыми вам опциями.

MKVMERGE GUI 1

Первое, что вам нужно сделать, это добавить файлы, содержащие все необходимые потоки. Вы делаете это (очевидно), нажимая кнопку добавления и выбирая файл, или перетаскивая свои файлы в область «Входные файлы». Вы не должны использовать кнопку добавления, если только вы не собираетесь размещать содержимое одного файла после содержимого другого (делая длительность окончательного файла суммой всех добавленных).

Поскольку вы говорите, что планируете просто конвертировать .aviфайлы, вам нужно просто добавить один файл за раз. Обратите внимание, что первый файл, который вы добавите, автоматически установит имя выходного файла, он будет совпадать с именем входа, но расширение будет изменено на .mkv. Конечно, вы можете изменить это, если хотите.

После добавления чего-либо вы сможете изменить параметры потоков (например, назначенный язык, включен ли трек по умолчанию, и может ли пользователь по своему желанию отключить этот поток все вместе).

Вы можете дать название для потока. Я предлагаю, если у вас есть мульти-аудио видео, которое вы используете вместе с языком. Например, у вас может быть «оригинальный» или «однобортный даб» или «комментарий режиссера» для названий треков. Многие игроки покажут вам это, когда вы выберете поток для воспроизведения, и это очень полезно. Постарайтесь не повторять информацию там, однако. Нет смысла писать «английский язык», когда вы можете просто установить код языка трека.

Есть также несколько конкретных опций, которые будут зависеть от того, над каким потоком вы работаете.

MKVMERGE GUI 2

Иногда вы можете захотеть добавить некоторые вложения в ваш файл. Если вы добавите изображение, многие файловые менеджеры будут отображать его как значок для окончательного видеофайла. Если вы мультиплексируете какую-то пленку, и у вас есть обложка для нее, может быть, это хороший выбор, чтобы вставить ее в качестве приложения.

MKVMERGE GUI 3

Наконец, на вкладке Global вы можете установить метаданные для всего файла. Наиболее распространенная вещь, чтобы установить заголовок. Он будет предварительно заполнен данными, взятыми из первого файла, который вы добавили во «Входные файлы».

Вы также можете добавить информацию о главе. Mkvmerge может читать файлы глав ogm, а также главы xml. Он также позволяет редактировать файлы глав, но имейте в виду, что эта вкладка функционирует как отдельное приложение, поэтому вы не будете редактировать главы, добавленные в ваш выходной файл, вам нужно будет сохранить их на этой вкладке, а затем добавьте их в качестве входных данных к файлу, который вы сейчас смешиваете.

Интересной особенностью GUI mkvmerge является «Копировать в буфер», который копирует точную команду терминала, которую приложение планирует запустить. Если вы намереваетесь смешивать много файлов, вы можете настроить один, как вам нравится, затем скопируйте команду в буфер обмена и создайте сценарий bash, который выполняет все нужные вам файлы одновременно.


Как вы это начали?
увасал

1
ммг это ответ
увасал

2

Avidemux - это бесплатный видеоредактор, предназначенный для простых задач вырезания, фильтрации и кодирования. Он поддерживает многие типы файлов, включая AVI, DVD-совместимые файлы MPEG, MP4 и ASF, используя различные кодеки. Задачи могут быть автоматизированы с помощью проектов, очереди заданий и мощных возможностей сценариев. Avidmux доступен для Ubuntu.

sudo apt-get update
sudo apt-get install avidemux



0

Я использовал следующие две команды для преобразования моих AVI-файлов в MP4-файлы, которые правильно транслировались из моего WD My Cloud Mirror:

ffmpeg -i infile.AVI -strict -2 -profile:v baseline -pix_fmt yuv420p temp.mp4
MP4Box -mpeg4 -brand mp42:0 -add temp.mp4#video:name= -add temp.mp4#audio:name= -new outfile.mp4

ffmpegпреобразует AVI-файл в MP4, изменяя профиль видео и формат пикселя в соответствии с общепринятыми значениями. MP4Boxпереупаковывает потоки в финальный MP4 и добавляет стандартные метаданные.


-strict -2не требуется для кодирования аудио AAC, если вы ffmpegне очень старый. Вы можете пропустить, MP4Boxесли добавите параметр -movflags +faststartвывода в ffmpeg.
Llogan
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.