ffmpeg를 사용하여 최소 품질 손실로 비디오를 1080p에서 720p로 변환


45

고품질 영화 : 60fps의 1080p로 쌓습니다. 연주하는 동안 문제가 지연됩니다.

ffmpeg를 사용하여 720p로 변환하려고했습니다.

ffmpeg -i MyMovie.mkv -r 60 -s hd720 MyMovie_720p.mkv

그러나 비트 전송률이 32.3Mbps에서 2.8Mbps로 감소했기 때문에 상당한 품질 손실이 있습니다. 비디오 스트림에 올바른 비트 전송률을 지정하고 다른 모든 스트림을 그대로 복사하려면 어떻게해야합니까?

입력 파일 미디어 정보 :

ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4.2
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 4 frames
Codec ID                                 : V_MPEG4/ISO/AVC
Duration                                 : 2h 58mn
Bit rate                                 : 32.3 Mbps
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Frame rate                               : 59.940 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.260
Stream size                              : 40.2 GiB (92%)
Writing library                          : x264 core 116 r2019 9cc407d
Encoding settings                        : cabac=1 / ref=4 / deblock=1:-2:-1 / analyse=0x3:0x113 / me=umh / subme=10 / psy=1 / psy_rd=0.80:0.20 / mixed_ref=1 / me_range=32 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-3 / threads=6 / sliced_threads=0 / nr=0 / decimate=0 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=6 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=0 / crf=14.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=50000 / vbv_bufsize=62500 / crf_max=0.0 / nal_hrd=none / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:0.60
Language                                 : English
Default                                  : Yes
Forced                                   : No
Matrix coefficients 

                 : BT.709-5, BT.1361, IEC 61966-2-4 709, SMPTE RP177

답변:


93

다음은 최고 품질의 비디오를 제공하는 예입니다 (결과 파일 크기에 대해서는 말하지 않습니다). 이 비디오는 모든 장치 또는 플레이어에서 재생되지 않을 수 있습니다.

ffmpeg -i MyMovie.mkv -vf scale=-1:720 -c:v libx264 -crf 0 -preset veryslow -c:a copy MyMovie_720p.mkv

"시각적으로 무손실"품질을 얻으려면 다음을 사용할 수 있습니다.

ffmpeg -i MyMovie.mkv -vf scale=-1:720 -c:v libx264 -crf 18 -preset veryslow -c:a copy MyMovie_720p.mkv

이제 우리가 여기있는 것을 보자.

규모의 비디오 필터는 비디오 크기를 조절을위한 것입니다. 이 예에서는 높이 인 하나의 크기 만 설정 -1하고 다른 치수에 사용 합니다. ffmpeg는 종횡비를 유지하면서 올바른 값을 자동으로 다시 계산합니다.

-crf옵션으로 품질 관리 :

양자화 기 스케일의 범위는 0-51입니다. 여기서 0은 무손실, 23은 기본값이며 51은 최악입니다. 값이 낮을수록 품질이 좋고 주관적으로 제정 한 범위는 18-28입니다. 시각적으로 무손실이거나 거의 18이라고 생각하십시오. 입력과 동일하거나 거의 같아야하지만 기술적으로 무손실은 아닙니다.

이 범위는 지수이므로 CRF 값 +6을 늘리면 비트 전송률의 약 절반이되며 -6은 비트 전송률의 약 2 배가됩니다. 일반적인 사용법은 여전히 ​​수용 가능한 품질을 제공하는 최고 CRF 값을 선택하는 것입니다. 출력이 좋아 보인다면 더 높은 값을 시도하고 나빠 보인다면 더 낮은 값을 선택하십시오.

자세한 내용은 x264 인코딩 안내서를 참조하십시오 .

-preset옵션을 사용하여 비디오 인코딩 속도와 압축 효율성 간의 균형을 제어하십시오 . 그것들은 초고속, 초고속, 매우 빠름, 빠름, 빠름, 중간, 느림, 느림, 매우 느림 입니다. 기본값은 보통 입니다. veryslow의 옵션 제공 (동일한 품질에 대한 작은 파일 크기의 결과로) 최적의 압축 효율하지만 매우 느립니다 - 이름이 말하는 것처럼.

오디오는 변경없이 입력 파일에서 출력 파일로 직접 스트림 복사 됩니다.


2
LordNeckbeard-편집 해 주셔서 감사합니다. 모든 세부 정보를 입력 할 시간이 충분하지 않았습니다.
Nikola Dimitrijevic

1
예를 들어 높이를 너비가 아닌 720으로 설정합니다.
chovy

이것을 거꾸로 할 수 있습니까 video.stackexchange.com/questions/20439/…
William

2
변환하지 않고 자막을 mkv로 복사하려면을 추가하면 -scodec copy됩니다.
캐스퍼

2
나는 1280 즉하지에 폭을 설정해야 720 얻을 생각 -vf scale=-1:720하지만 -vf scale=1280:-1.
cdlvcdlv

0

다른 크기로 스케일링하려는 경우 FFMPEG 스케일링 크기에 일부 제한이 있습니다. 각 높이를 허용하지 않습니다. 다음은 치수에 대한 권장 권장 사항 목록입니다.

픽셀 단위의 너비와 높이가 16의 배수 일 때 비디오 코덱의 성능이 향상됩니다. 인코딩 설정에서 너비와 높이를 사용할 수 있지만 최적화되지 않은 크기는 이미지 품질이 떨어지고 프레임 속도가 느려질 수 있습니다. 최상의 이미지 품질과 재생을 위해서는 비디오의 너비와 높이 크기가 16의 배수 여야합니다. 다음으로 가장 좋은 선택은 8의 배수이고 그 후에는 4의 배수입니다.

Recommended width and height for videos with 16:9 aspect ratios:

Best Choice:     2nd Best:        3rd Best:
Multiples of 16  Multiples of 8   Multiples of 4
1920 x 1080      1792 x 1008      1856 x 1044
1280 x 720       1152 x 648       1216 x 684
1024 x 576        896 x 504       1088 x 612
 768 x 432        640 x 360        960 x 540
 512 x 288        384 x 216        832 x 468
 256 x 144        128 x 72         704 x 396
                                   576 x 324
                                   448 x 252
                                   320 x 180
                                   192 x 108
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.