转换视频(批处理或单个)的最快方法?


26

我知道这里有很多关于视频编码器的问题,但是我的问题更多是关于工作流程/效率。

对于我的日常工作,我需要经常从许多随机格式(通常是大AVIM4V等)转换视频,并将其转换并压缩为可在互联网上上传的高效文件。我必须产生的格式是:

我需要为几个用例(转换为与源相同,1080p720p)创建通用模板,并能够快速处理它们并排队。

关于如何最好地在Ubuntu中执行此过程的任何想法?


我知道Windows中有Avanti,并且我认为在Linux中可以找到的最接近的是avconv命令行或WinFF或ConvertMe之类的前端……也许作为最后的选择,您可以尝试在Wine中使用Avanti。
理查德

Answers:


52

如果您更喜欢命令行,可以使用ffmpeg(或handbrake-cli)。

MP4

假设您使用的是最新版本ffmpeg

ffmpeg -i input -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k \
-movflags +faststart -vf scale=-2:720,format=yuv420p output.mp4
  • -crf:质量。范围是从0(无损)到51(最差质量)的对数。默认值为23。主观理智范围为〜18-28左右。使用仍可提供可接受质量的最高值。如果您要重新编码不切实际的大输入以上传到YouTube或类似设备,请尝试将其值设置为17或18,因为这些视频服务仍然会重新编码。

  • -preset:编码速度。较慢的预设可提供更好的压缩率(每个文件大小的质量),但较慢。使用耐心最慢的设备:超快,超快,非常快,更快,快,中(默认),慢,慢,非常慢。

  • -movflags +faststart:在逐步下载观看的情况下,允许在完全下载视频之前播放视频。如果您托管视频,则很有用;否则,如果上传到YouTube之类的视频服务,则多余。

  • -vf scale=-2:720,format=yuv420p:一个FilterGraph动态使用规模格式的视频滤镜。缩放到720像素的高度,并自动选择将保留长宽比的宽度,然后确保像素格式与傻瓜播放器兼容。

  • -b:a 128k:音频比特率。如果您ffmpeg已过时,则需要添加-strict experimental使用-c:a aac

影片

由于您的MOV和MP4文件可能包含相同的视频和音频格式,因此您可以对MP4进行编码,并通过重新混合(使用流复制模式)而不是重新编码来制作MOV :

ffmpeg -i input.mp4 -codec copy output.mov

WMV

FFmpeg仅支持WMV 7和8。我不知道版本9的开源编码器。

$ ffmpeg -encoders | grep -i windows
[...]
 V..... = Video
 A..... = Audio
 ------
 V..... wmv1                 Windows Media Video 7
 V..... wmv2                 Windows Media Video 8
 A..... wmav1                Windows Media Audio 1
 A..... wmav2                Windows Media Audio 2

由于我不熟悉这些编码器,因此只能举一个未经测试的示例:

ffmpeg -i input -c:v wmv2 -b:v 1024k -c:a wmav2 -b:a 192k output.wmv

获取ffmpeg

您可以下载ffmpegLinux版本,也可以按照ffmpeg逐步指南进行自定义。

使用bash“ for循环”执行批编码

要将所有视频编码到目录中:

$ mkdir encoded
$ for f in *.avi; do ffmpeg -i "$f" -c:v libx264 -crf 23 -preset medium \
  -c:a aac -b:a 128k -movflags +faststart -vf scale=-2:720,format=yuv420p \
  "encoded/${f%.avi}.mp4"; done

另见


5

尝试HandBrake

HandBrake是一种用于将视频从几乎任何格式转换为广泛支持的现代编解码器的工具。要安装,只需按键盘上的Ctrl+ Alt+ T打开终端。打开时,运行以下命令:

sudo add-apt-repository ppa:stebbins/handbrake-releases
sudo apt-get update
sudo apt-get install handbrake
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.