我试图为1280x720 25fps视频找到最合适的无损视频格式。视频有4分钟。声音将达到320 kbps mp3,这没什么大不了的。理想条件:
- 无损(可以感知上无损)
- 容器+编解码器可以在大多数平台上播放
- 容器+编解码器可以在现代DVD播放器上播放(支持DVD以外的其他格式)
- 大小小于700 MB
那有可能吗?已经挣扎了三天,没有任何令人满意的结果,甚至没有获得12 GB的文件(似乎很多-3 GB /分钟)。
我试图为1280x720 25fps视频找到最合适的无损视频格式。视频有4分钟。声音将达到320 kbps mp3,这没什么大不了的。理想条件:
那有可能吗?已经挣扎了三天,没有任何令人满意的结果,甚至没有获得12 GB的文件(似乎很多-3 GB /分钟)。
Answers:
我所知道的最好的,数学上无损的最佳格式是huffyuv,但这会产生非常大的文件,并且兼容性不佳。记录下来,ffmpeg可以做到:
ffmpeg -i input -c:v huffyuv -c:a libmp3lame -b:a 320k output.avi
开源h.264编码器X264具有无损模式。它可以放在MP4容器中,并且应该与最近几年制造的大多数硬件兼容。第一个命令将提供快速的编码速度,但是文件很大;第二个命令将花费更长的时间,但是该文件的大小应约为快速编码的文件的大小的一半(尽管它仍然会很大):
ffmpeg -i input -c:v libx264 -crf 0 -preset ultrafast -c:a libmp3lame -b:a 320k output.mp4
ffmpeg -i input -c:v libx264 -crf 0 -preset veryslow -c:a libmp3lame -b:a 320k output.mp4
如果那没有给您足够小的文件,则通常将18的crf视为“视觉无损”:
ffmpeg -i input -c:v libx264 -crf 18 -preset veryfast -c:a libmp3lame -b:a 320k output.mp4
我通常建议使用x264进行编码的非常快的预设,以我的经验,它提供了最佳的速度/大小权衡(在超快和非常快之间,文件大小会有很大的下降,比这还要慢,并且增量更大)。一般建议是使用您可以处理的最慢的预设,这些预设为:超快,超快,非常快,更快,更快,中等,慢,慢,非常慢。
有关更详细的x264编码指南,请参见此处。
veryfast
将x264作为有损的好方法。 medium
是一个很好的中间立场,但我通常使用veryslow
任何东西的最终编码。还huffyuv
甚至不是非常快,我不会推荐它比其他的兼容性什么。
这些天我喜欢webm:
ffmpeg -i input.avi -c:v libvpx-vp9 -lossless 1 output.webm
为了使用多核处理器更快地进行转换,我读到建议不要使用比真正核心少的线程。因此,使用8核,您可以指定7个线程,如下所示:
ffmpeg -i input.avi -c:v libvpx-vp9 -threads 7 -lossless 1 output.webm
要与DVD播放器完全兼容,您需要使用MPEG-2格式,容器,限制和编解码器。我猜想,“现代播放器”是指“ mp4”兼容性,它基本上是mp4文件播放器-H.264,MPEG-4,AVC => libx264
了解更多:https : //de.wikipedia.org/wiki
/H.264
看看https://trac.ffmpeg.org/wiki/Encode/H.264,特别是有关“配置文件”和“级别”的部分,以确保兼容性
使用-profile:v high -level 4.0
应该做到这一点
避免使用有损编解码器对音频轨道进行重新编码-任何mp3格式都有损,甚至320kbps。
使用-c:a copy
代替。
到目前为止,它对我来说做得很好。没有同步问题。
音频流未绑定到关键帧。精确的切割是可能的。
如果您的音轨是以44kHz的采样率录制的,请使用max。256kbps
如果需要满足某些先决条件,请仅将有损编解码器用于视频的最终编码。
我听说过一些音频同步问题,但看来主要问题是受保护的材料(!)。
我更喜欢这样的东西:
ffmpeg -i input -c:v libx264 -crf 5 -preset faster -profile:v high -level 4.0 -c:a copy output.mp4