如何将 avi (xvid) 转换为 mkv 或 mp4 (h264)

如何将 avi (xvid) 转换为 mkv 或 mp4 (h264)

在视频方面非常菜鸟。我试图理解我在 Google 上找到的内容……但对我来说,它们大多是天书。

我有许多 Avi 文件无法在 WD TV Play 盒子中播放。Mediainfo 告诉我它们是 xvid。盒子的规格显示应该没问题……但浏览论坛后发现它很不稳定。所以我想尝试将它们转换为 h264 编码的 MKV 或 mp4 文件。

我知道 avconv 是一个工具,但是阅读手册却让我感到非常困惑。

我尝试了一个非常基本的例子:

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

整个过程耗时不到 4 秒。而且它确实成功了……某种程度上。它“播放”了,屏幕上出现了一些东西……但出现了可怕的伪影,场景会相互融合。如果可能的话,我想保持质量。

我并不关心文件大小,也并不十分关心所花的时间,只要我能批量处理即可。

熟悉该流程的人能否给我一个带有选项的命令?

感谢您的帮助。

我正在发布媒体信息以防有帮助:

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)

答案1

标准命令来自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选项之后...

您还可以查看 GUI 程序winffavidemux这将使事情变得不那么复杂。(handbrake这也是一个很好的程序,但我从来没有接受过它)

答案2

如果您正在寻找图形化的东西,您可以考虑使用 mkvtoolnix-gui 包。它实际上依赖于命令行实用程序,但它将为您执行带有所有所需选项的命令。

mkvmerge 图形用户界面 1

您需要做的第一件事是添加包含所有所需流的文件。您可以通过按添加按钮并选择文件或将文件拖到“输入文件”区域来执行此操作(显然)。您不应该使用附加按钮,除非您打算将一个文件的内容放在另一个文件的内容之后(使最终文件的持续时间为所有附加文件的总和)。

既然您说您只打算转换.avi文件,那么您应该一次只添加一个文件。请注意,您添加的第一个文件将自动设置输出文件的名称,它将与输入名称匹配,但扩展名将更改为.mkv。当然,如果您愿意,您可以更改它。

添加内容后,您将能够更改流的参数(例如指定的语言、轨道是否默认“开启”以及用户是否可以选择禁用此流(如果愿意))。

您可以为流指定标题。如果您有多音频视频,我建议您将其与语言一起使用。例如,您可以将“原版”或“单声道配音”或“导演评论”用作曲目名称。许多播放器会在您选择要播放的流时向您显示这些内容,这非常有用。但是,请尽量不要重复这些信息。当您只需设置曲目的语言代码时,就没有理由写“英语”。

还有一些特定的选项,这取决于您正在处理的流。

mkvmerge 图形用户界面 2

有时您可能希望在文件中添加一些附件。如果您添加图像,许多文件管理器会将此图片显示为最终视频文件的图标。如果您正在混合某种电影,并且恰好有它的封面,那么将其作为附件放入可能是个不错的选择。

mkvmerge gui 3

最后,在“全局”选项卡中,您可以设置整个文件的元数据。最常见的是设置标题。它将由您添加到“输入文件”的第一个文件中获取的数据预先填充。

您还可以添加章节信息。Mkvmerge 能够读取 ogm 章节文件以及 xml 章节。它还允许您编辑章节文件,但请记住,此选项卡作为单独的应用程序运行,因此您不会编辑添加到输出文件中的章节,您需要将它们保存在该选项卡中,然后将它们作为输入添加到您现在正在合并的文件中。

mkvmerge gui 的一个有趣功能是“复制到剪贴板”,它可以复制应用程序计划运行的确切终端命令。如果您打算合并多个文件,您可以按照自己喜欢的方式设置一个文件,然后将命令复制到剪贴板并创建一个 bash 脚本,一次性执行您想要的所有文件。

答案3

Avidemux 是一款免费的视频编辑器,专为简单的剪切、过滤和编码任务而设计。它支持多种文件类型,包括 AVI、DVD 兼容 MPEG 文件、MP4 和 ASF,使用多种编解码器。可以使用项目、作业队列和强大的脚本功能自动执行任务。Avidemux 适用于 Ubuntu。

sudo apt-get update
sudo apt-get install avidemux

答案4

您还可以使用媒体转换器免费的 FFmpeg GUI。而且您无需重新编码视频流(取决于 avi 编解码器)即可完成此操作。只需从此处获取 debs 即可: http://dmsimpleapps.blogspot.ro/2014/04/dmmediaconverter.html

在此处输入图片描述

相关内容