我有一部 11GB 的 MKV 格式的高质量黑白老电影。
我的目的是保留原件并创建较小的版本,因为在各种设备上观看时需要复制到 USB 闪存驱动器等,所以出于实际原因...
这就是为什么我主要感兴趣的不是保持相同的质量,而是尽快将尺寸从 11GB 减少到大约 3GB-4GB(大约 3 倍)。
如何用 Handbrake 做到这一点?
值得一提的是,我使用的是 Linux,但更喜欢在终端中使用 Handbrake 而不是 ffmpeg 之类的程序,因为我喜欢以 Handbrake 显示的方式查看进度信息,也因为我想测试这个程序并学习如何根据我的需要调整它的使用。
输出格式对我来说并不重要。该文件具有以下属性:
Format : Matroska
Format version : Version 2
File size : 11.0 GiB
Duration : 1 h 49 min
Overall bit rate mode : Variable
Overall bit rate : 14.5 Mb/s
Encoded date : UTC 2017-09-12 21:14:03
Writing application : mkvmerge v15.0.0 ('Duel with the Devil') 64-bit
Writing library : libebml v1.3.5 + libmatroska v1.4.5
Cover : Yes
Attachments : cover.jpg
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 1 h 49 min
Bit rate mode : Variable
Bit rate : 14.3 Mb/s
Maximum bit rate : 15.0 Mb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.287
Stream size : 10.9 GiB (98%)
Writing library : x264 core 148 r2623 d5b2374
Encoding settings : cabac=1 / ref=4 / deblock=1:-1:-1 / analyse=0x3:0x133 / me=umh / subme=9 / psy=1 / psy_rd=1.00:0.15 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-3 / threads=34 / lookahead_threads=5 / sliced_threads=0 / nr=150 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=8 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=120 / keyint_min=61 / scenecut=0 / intra_refresh=0 / rc_lookahead=120 / rc=crf / mbtree=1 / crf=18.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=15000 / vbv_bufsize=31250 / crf_max=0.0 / nal_hrd=vbr / filler=0 / ip_ratio=1.40 / aq=3:1.00
Language : English
Default : Yes
Forced : No
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
Audio
ID : 2
Format : E-AC-3
Format/Info : Enhanced Audio Coding 3
Codec ID : A_EAC3
Duration : 1 h 49 min
Bit rate mode : Constant
Bit rate : 224 kb/s
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 kHz
Frame rate : 187.500 FPS (256 SPF)
Compression mode : Lossy
Stream size : 175 MiB (2%)
Language : English
Service kind : Complete Main
Default : Yes
Forced : No
答案1
我最近使用这些预设设置将一些经典的 MKV 格式黑白文件转换为 480p MP4 文件。
这是我的笔记和预设设置。
现在 480p 似乎很小,有些人可能会认为它“很差劲”。但这些设置可以很好地将大型 1080pm 黑白视频的文件大小缩小到更小的程度。
大多数经典黑白电影中的动作场面都较少。
之所以有效,是因为老式黑白电影没有太多镜头动作。即使是动作最丰富的黑白电影,其动作也远不及大多数现代全彩色电影的令人头晕目眩的图像盛宴。因此,压缩效果自然会更好。
经典的黑白电影颗粒感比较强。
老式黑白电影中唯一真正重要的因素是:它们颗粒感极强。颗粒感如此强烈,以至于如果您尝试从 1080p 视频源导出 HQ 视频,则大部分压缩时间都将花在尝试保留颗粒感上。通过将尺寸缩小到 480p,无需使用颗粒检测算法即可有效去除颗粒感。
x264压缩是黑白影片的最佳压缩格式。
此外,输出的 MP4 是 x264 格式。如今许多视频都使用 x265 压缩。这是一种很好的视频压缩格式,但前提是源视频是彩色的。x265 压缩获得的图像数据越多,压缩效果就越好。但黑白视频的颜色数据比全彩色视频少。我尝试在黑白视频中使用 x265,结果视频的文件大小实际上可能比源视频更大。
音频压缩。
这里要小心,在执行此操作时,您可能需要仔细检查要转换的音频以及转换方式。我的设置尝试处理此问题,但在某些情况下,我有包含多个音轨的 MKV 文件,其中一些文件没有转换,而只是被复制到新文件中。在某些情况下,这些额外的音频文件占文件大小的 30% 到 40%。
综上所述,以下是我的 Handbrake 针对 HQ 480p 黑白超越视频输出的预设:
{
"PresetList" : [
{
"AlignAVStart" : true,
"AudioCopyMask" : [
"copy:aac",
"copy:ac3"
],
"AudioEncoderFallback" : "ca_aac",
"AudioLanguageList" : [
],
"AudioList" : [
{
"AudioBitrate" : 160,
"AudioCompressionLevel" : -1,
"AudioDitherMethod" : "auto",
"AudioEncoder" : "ca_aac",
"AudioMixdown" : "stereo",
"AudioNormalizeMixLevel" : false,
"AudioSamplerate" : "auto",
"AudioTrackDRCSlider" : 0,
"AudioTrackGainSlider" : 0,
"AudioTrackQuality" : -1,
"AudioTrackQualityEnable" : false
},
{
"AudioBitrate" : 640,
"AudioCompressionLevel" : -1,
"AudioDitherMethod" : "auto",
"AudioEncoder" : "copy:ac3",
"AudioMixdown" : "5point1",
"AudioNormalizeMixLevel" : false,
"AudioSamplerate" : "auto",
"AudioTrackDRCSlider" : 0,
"AudioTrackGainSlider" : 0,
"AudioTrackQuality" : -1,
"AudioTrackQualityEnable" : false
}
],
"AudioSecondaryEncoderMode" : true,
"AudioTrackSelectionBehavior" : "first",
"ChapterMarkers" : false,
"ChildrenArray" : [
],
"Default" : false,
"FileFormat" : "av_mp4",
"Folder" : false,
"FolderOpen" : false,
"InlineParameterSets" : false,
"Mp4HttpOptimize" : false,
"Mp4iPodCompatible" : false,
"PictureAutoCrop" : true,
"PictureBottomCrop" : 0,
"PictureChromaSmoothCustom" : "",
"PictureChromaSmoothPreset" : "off",
"PictureChromaSmoothTune" : "none",
"PictureCombDetectCustom" : "",
"PictureCombDetectPreset" : "off",
"PictureDARWidth" : 0,
"PictureDeblockCustom" : "strength=strong:thresh=20:blocksize=8",
"PictureDeblockPreset" : "off",
"PictureDeblockTune" : "medium",
"PictureDeinterlaceCustom" : "",
"PictureDeinterlaceFilter" : "off",
"PictureDeinterlacePreset" : "default",
"PictureDenoiseCustom" : "",
"PictureDenoiseFilter" : "off",
"PictureDenoisePreset" : "light",
"PictureDenoiseTune" : "none",
"PictureDetelecine" : "off",
"PictureDetelecineCustom" : "",
"PictureForceHeight" : 0,
"PictureForceWidth" : 0,
"PictureHeight" : 480,
"PictureItuPAR" : false,
"PictureKeepRatio" : true,
"PictureLeftCrop" : 0,
"PictureLooseCrop" : false,
"PictureModulus" : 2,
"PicturePAR" : "auto",
"PicturePARHeight" : 9,
"PicturePARWidth" : 4,
"PictureRightCrop" : 0,
"PictureRotate" : "angle=0:hflip=0",
"PictureSharpenCustom" : "",
"PictureSharpenFilter" : "off",
"PictureSharpenPreset" : "medium",
"PictureSharpenTune" : "none",
"PictureTopCrop" : 0,
"PictureWidth" : 1472,
"PresetDescription" : "",
"PresetName" : "HQ 480 B&W",
"SubtitleAddCC" : false,
"SubtitleAddForeignAudioSearch" : true,
"SubtitleAddForeignAudioSubtitle" : false,
"SubtitleBurnBDSub" : true,
"SubtitleBurnBehavior" : "foreign",
"SubtitleBurnDVDSub" : true,
"SubtitleLanguageList" : [
],
"SubtitleTrackSelectionBehavior" : "none",
"Type" : 1,
"UsesPictureFilters" : true,
"UsesPictureSettings" : 1,
"VideoAvgBitrate" : 4500,
"VideoColorMatrixCodeOverride" : 0,
"VideoEncoder" : "x264",
"VideoFramerate" : "auto",
"VideoFramerateMode" : "vfr",
"VideoGrayScale" : true,
"VideoLevel" : "3.1",
"VideoOptionExtra" : "",
"VideoPreset" : "slow",
"VideoProfile" : "high",
"VideoQSVAsyncDepth" : 4,
"VideoQSVDecode" : false,
"VideoQualitySlider" : 25,
"VideoQualityType" : 2,
"VideoScaler" : "swscale",
"VideoTune" : "",
"VideoTurboTwoPass" : false,
"VideoTwoPass" : true,
"x264Option" : "",
"x264UseAdvancedOptions" : false
}
],
"VersionMajor" : 42,
"VersionMicro" : 0,
"VersionMinor" : 0
}
答案2
我的想法是保存 1 分钟的源电影,然后在该 1 分钟的文件上测试不同的预设(包括 Giacomo1968 的预设):这是一种快速找到最可取的方法,然后再开始花费数小时处理 11 GB 的文件。
感谢其他人回答来自@Giacomo1968,我知道旧的黑白电影不需要 x265 编解码器,因此我决定使用 x264 mp4 编解码器。
我主要关心的问题之一是速度,我选择了预设常规 - 非常快的 720p(将帧速率更改为“作为源”,保留默认的 RF 23)
这给了我想要的东西:一个 2.9 GB(从 11 GB 下降)的文件,比特率为 3.5(从 15 GB 下降)。
我还使用 1 分钟文件测试了另一个答案中的预设:时间更长(可能是两倍),比特率低两倍,尺寸小 7%。
我会标记预设常规 - 非常快的 720p作为此处的解决方案,因为它可以提供所需的尺寸,速度更快,比特率更高。图像质量也好得多,非常接近原始图像。
在同一预设内可以通过降低 RF 来提高输出的质量、大小和比特率(通过增加 RF 来降低输出的质量、大小和比特率)具有相同的处理速度。
我一直遵守规则这里关于使用哪种 RF:
Recommended constant quality settings (RF values) for H.264 (x264) and H.265 (x265) encoders:
• 480p/576p Standard Definition video: RF 18 - 22 is a suggested range.
• 720p High Definition video: RF 19 - 23 is a suggested range.
• 1080p Full High Definition video: RF 20- 24 is a suggested range.
• 2.7k/4k Ultra High Definition video: RF 22 - 28 is a suggested range.
不遵守这些规则会导致意外/不合逻辑的结果(输出大于输入、质量低下)。