在视频方面非常菜鸟。我试图理解我在 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 程序winff
,avidemux
这将使事情变得不那么复杂。(handbrake
这也是一个很好的程序,但我从来没有接受过它)
答案2
如果您正在寻找图形化的东西,您可以考虑使用 mkvtoolnix-gui 包。它实际上依赖于命令行实用程序,但它将为您执行带有所有所需选项的命令。
您需要做的第一件事是添加包含所有所需流的文件。您可以通过按添加按钮并选择文件或将文件拖到“输入文件”区域来执行此操作(显然)。您不应该使用附加按钮,除非您打算将一个文件的内容放在另一个文件的内容之后(使最终文件的持续时间为所有附加文件的总和)。
既然您说您只打算转换.avi
文件,那么您应该一次只添加一个文件。请注意,您添加的第一个文件将自动设置输出文件的名称,它将与输入名称匹配,但扩展名将更改为.mkv
。当然,如果您愿意,您可以更改它。
添加内容后,您将能够更改流的参数(例如指定的语言、轨道是否默认“开启”以及用户是否可以选择禁用此流(如果愿意))。
您可以为流指定标题。如果您有多音频视频,我建议您将其与语言一起使用。例如,您可以将“原版”或“单声道配音”或“导演评论”用作曲目名称。许多播放器会在您选择要播放的流时向您显示这些内容,这非常有用。但是,请尽量不要重复这些信息。当您只需设置曲目的语言代码时,就没有理由写“英语”。
还有一些特定的选项,这取决于您正在处理的流。
有时您可能希望在文件中添加一些附件。如果您添加图像,许多文件管理器会将此图片显示为最终视频文件的图标。如果您正在混合某种电影,并且恰好有它的封面,那么将其作为附件放入可能是个不错的选择。
最后,在“全局”选项卡中,您可以设置整个文件的元数据。最常见的是设置标题。它将由您添加到“输入文件”的第一个文件中获取的数据预先填充。
您还可以添加章节信息。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