目前,我正在使用ffmpeg库将视频从x type(mov,avi等(转换为专用类型,即mp4。但是视频转换需要太长的时间。假设MOV视频尺寸为1.8GB,转换大约需要1小时30分钟。是否有其他方法可以减少转换时间持续时间,并保持相同的质量?
我的ffmpeg语法如下:
- ffmpeg -y -i input.mov -vcodec H264 -Acodec aac -strict -strict -2 out.mp4
如何实现快速视频转换?
- 输出格式更改为MPEG2或其他方式?
- 除了H264以外,还有其他快速的编解码器吗?
- 什么是最好的压缩技术?
任何指针都会非常明显。
压缩比和压缩速度之间总是有折衷。
要减少转化时间,请尝试ffmpeg
提供的不同预设用于libx264
。例如,通过牺牲压缩,-preset ultrafast
设置给出了最快的速度,因此您将获得比不使用任何预设的更大的文件大小(默认值为-preset medium
(。
当前已标准化的视频的最佳压缩技术是H.265,又名HEVC。您可以检查https://trac.ffmpeg.org/wiki/encode/h.265有关更多信息。请注意,H.265通过更复杂的技术获得更好的压缩,因此与H.264相比,使用它通常会导致压缩较慢。通过同一参数,切换到更简单的压缩方法(例如MPEG2(通常会以较低的压缩比的价格加快过程。
这个非常广泛的问题的一些各种技巧:
-
确保您的控制台输出不包含
using CPU capabilities: none!
。如果确实显示了这一点,那么您的编码速度可能会大大降低,您需要重新编译x264
和ffmpeg
。 -
确保您的
ffmpeg
不使用--disable-asm
,--disable-inline-asm
和--disable-yasm
配置选项。 -
使用最近的
ffmpeg
。您正在使用-strict -2
,这使我认为您使用旧版本。有关Linux,MacOS和Windows构建的链接,请参见FFMPEG下载页面。 -
流在可能的情况下复制音频(带有
-c:a copy
(而不是重新编码。 -
使用其他人已经提到的更快的x264编码预设。
-
硬件加速可能是您的选择,但是这些都不是x264。