720p ~ 마이크로 720p

720p ~ 마이크로 720p

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

Micro-720p가 불법 복제 영화 팀의 출시 유형이라는 Slhck의 말이 맞습니다.

AFAIK, 해당 팀은 허용 가능한 품질로 낮은 비트 전송률을 보관하기 위해 일부 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에 의해 변경될 수 있습니다.

그런데, ffmpeg를 사용하여 오디오를 aac로 트랜스코딩하려면 libfaac보다 훨씬 더 나은 코덱인 lib_fdkaac를 사용해야 합니다. 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~1600Kbps입니다.

답변2

나는 결국 그 용어가 어디서 왔는지 알게 된 것 같아요.불법 복제 영화 개봉 유형. 720p 영화(따라서 1280⨉720픽셀로 크기 조정)를 설명하지만 일반적으로 필요한 것보다 비트 전송률이 낮습니다.

여기서는 정말 로켓 과학이 아닙니다. 해당 지침에 따라 계산하면 720p Blu-ray 추출의 일반적인 비트 전송률은 약 4.5MBit/s입니다. 하나내가 찾은 장면 가이드x264 인코딩에도 4MBit/s를 사용합니다. 따라서 "마이크로" 또는 "미니" 720p 추출을 얻으려면 더 낮은 비트 전송률을 지정해야 합니다.

~할 수 있었다다음과 같이 하십시오:

ffmpeg -i in.mp4 -c:v libx264 -b:v 1M -c:a libfaac -q:a 100 out.mp4

안타깝게도 x264의 기본 고정 비트 전송률 인코딩 모드는 품질 측면에서 상당히 나쁜 것으로 간주됩니다. 이상적으로는 시간이 있으면 2패스 인코딩을 수행하는 것이 좋습니다. 다음은 1MBit/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

프리셋을 에서 slowultraslow, 또는 반대 방향으로 medium, fast, 로 변경할 수 있습니다 ultrafast. 느린 사전 설정을 선택하면 더 오래 기다려야 하는 비용으로 더 나은 압축을 얻을 수 있습니다. 압축률이 향상된다는 것은 동일한 파일 크기에서 비디오가 더 좋아 보인다는 것을 의미합니다.

원본 파일에 MP4에 대한 유효한 오디오 스트림(일반적으로 AAC 또는 MP3 오디오)이 이미 포함되어 있는 경우 해당 -c:a libfaac -q:a 100부분을 건너뛰고 -c:a copy.

관련 정보