什么是 Micro-720p 翻录方法?我想使用 ffmpeg 和 libx264 从 720p 翻录。
示例 m720p 视频信息(我不知道源视频):
General
Complete name : D:\m720p.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 596 MiB
Duration : 1h 16mn
Overall bit rate mode : Variable
Overall bit rate : 1 096 Kbps
Encoded date : UTC 2013-02-05 23:44:15
Tagged date : UTC 2013-02-05 23:44:15
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : Yes
Format settings, ReFrames : 9 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 1h 16mn
Bit rate : 1 003 Kbps
Maximum bit rate : 3 982 Kbps
Width : 1 280 pixels
Height : 688 pixels
Display aspect ratio : 1.85:1
Frame rate mode : Constant
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.048
Stream size : 542 MiB (91%)
Writing library : x264 core 129 r2230 1cffe9f
Encoding settings : cabac=1 / ref=9 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=6 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=8 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=1003 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00
Encoded date : UTC 2013-02-05 23:44:15
Tagged date : UTC 2013-02-05 23:44:24
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 1h 16mn
Bit rate mode : Variable
Bit rate : 96.0 Kbps
Maximum bit rate : 130 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy
Stream size : 52.2 MiB (9%)
Language : English
Encoded date : UTC 2013-02-05 23:44:22
Tagged date : UTC 2013-02-05 23:44:24
答案1
Slhck 说得对,Micro-720p 是一些盗版电影团队的发行类型。
据我所知,这些团队正在使用一些 x264 编码设置曲调来以可接受的质量存档低比特率。您可以从此行了解他们使用的内容
Encoding settings : cabac=1 / ref=9 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=6 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=8 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=1003 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00
低比特率最重要的设置是:ref=9 subme=7 bframes=8
并且可以通过 -tune film|animation|grain 来改变 deblock
顺便说一句,如果你想用 ffmpeg 将音频转码为 aac,你应该使用 lib_fdkaac,这是一个比 libfaac 好得多的编解码器。只需尝试使用 lib_fdcaac 获取/编译一个新的 ffmpeg 即可。
您可以尝试一些极端的设置
ffmpeg -i 720p.mkv \
-c:v libx264 -crf 22 -preset slower -x264opts subme=11:ref=16:bframes=16 -tune film \
-c:a libfdk_aac -ac 2 -flags +qscale -global_quality 2 -afterburner 1 \
m720p.mp4
我知道这会产生相当好的效果,但是视频比特率大约为 1400~1600 Kbps。
答案2
我想我最终找到了这个词的出处——它是一个盗版电影发行类型。它描述的是一部 720p 的电影(因此,调整大小为 1280⨉720 像素),但比特率低于您通常需要的比特率。
这其实并不是什么难事。根据这些指导原则计算,720p 蓝光翻录的通常比特率约为 4.5 MBit/s。我找到的场景指南还使用 4 MBit/s 进行 x264 编码。因此,为了获得“微型”或“迷你”720p 翻录,您需要指定较低的比特率。
你可以做这样的事情:
ffmpeg -i in.mp4 -c:v libx264 -b:v 1M -c:a libfaac -q:a 100 out.mp4
不幸的是,x264 中默认的恒定比特率编码模式在质量方面被认为相当糟糕。如果有时间,理想情况下,您应该进行两次编码。以下是 1 MBit/s 的示例:
ffmpeg -y -i in.mp4 -c:v libx264 -preset slow -b:v 1M -pass 1 -an -f mp4 /dev/null
ffmpeg -i in.mp4 -c:v libx264 -preset slow -b:v 1M -pass 2 -c:a libfaac -q:a 100 out.mp4
您可以将预设从 更改slow
为ultraslow
,或将预设从 更改为medium
、fast
、ultrafast
。选择较慢的预设可获得更好的压缩效果,但代价是需要等待更长时间。更好的压缩意味着在文件大小相同的情况下,视频看起来会更好。
请注意,如果您的原始文件已经包含有效的 MP4 音频流(通常是 AAC 或 MP3 音频),那么您可以跳过该-c:a libfaac -q:a 100
部分并简单地复制比特流-c:a copy
。