Maior compactação possível para arquivos de vídeo grandes usando o FFmpeg

0

Fui fascinado por uma cópia de "The Emoji Movie" sendo compactado para 45 megabytes e fiquei imaginando como seria conseguir essa compressão para filmes muito grandes. É claro que, se alguma fração da qualidade puder ser mantida, isso seria ótimo, mas quero obter uma compactação minúscula para um arquivo grande.

    
por user938339 28.08.2018 / 18:53

1 resposta

2

Eu corri MediaInfo no seu vídeo e aqui está o que ele disse:

General
Complete name                            : C:\...\c3lwe9.mp4
Format                                   : MPEG-4
Format profile                           : Base Media / Version 2
Codec ID                                 : mp42 (isom/iso2/avc1/mp41)
File size                                : 45.0 MiB
Duration                                 : 1h 26mn
Overall bit rate                         : 72.9 Kbps
Movie name                               : The.Emoji.Movie.2017.720p.BRRip.850MB.MkvCage
Encoded date                             : UTC 2018-02-16 12:32:47
Tagged date                              : UTC 2018-02-16 12:32:47
Writing application                      : HandBrake 1.0.7 2017040900

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : Main@L4
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 4 frames
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 1h 26mn
Bit rate                                 : 38.1 Kbps
Width                                    : 300 pixels
Height                                   : 128 pixels
Display aspect ratio                     : 2.35:1
Frame rate mode                          : Constant
Frame rate                               : 12.000 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.083
Stream size                              : 23.5 MiB (52%)
Writing library                          : x264 core 148 r2708 86b7198
Encoding settings                        : cabac=1 / ref=2 / deblock=1:0:0 / analyse=0x1:0x111 / me=hex / subme=6 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=4 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=1 / keyint=120 / keyint_min=12 / scenecut=40 / intra_refresh=0 / rc_lookahead=30 / rc=crf / mbtree=1 / crf=34.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=20000 / vbv_bufsize=25000 / crf_max=0.0 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=1:1.00
Encoded date                             : UTC 2018-02-16 12:32:47
Tagged date                              : UTC 2018-02-16 12:32:47
Color range                              : Limited
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709

Audio
ID                                       : 2
Format                                   : MPEG Audio
Format version                           : Version 1
Format profile                           : Layer 3
Mode                                     : Joint stereo
Mode extension                           : MS Stereo
Codec ID                                 : 6B
Duration                                 : 1h 26mn
Bit rate mode                            : Constant
Bit rate                                 : 32.0 Kbps
Channel(s)                               : 2 channels
Sampling rate                            : 48.0 KHz
Compression mode                         : Lossy
Stream size                              : 19.8 MiB (44%)
Title                                    : Stereo / Stereo
Language                                 : English
Default                                  : Yes
Alternate group                          : 1
Encoded date                             : UTC 2018-02-16 12:32:47
Tagged date                              : UTC 2018-02-16 12:32:47

Observe que, do total de 45,0 MiB, o vídeo ocupa apenas 23,5 MiB e o áudio é 19,8 MiB. A falta de 1,7 MiB é provavelmente a sobrecarga do contêiner. Então, o vídeo é aproximadamente 52% do arquivo e o áudio é 44%!

Esta é a informação chave sobre o fluxo de vídeo:

Width                                    : 300 pixels
Height                                   : 128 pixels
Frame rate                               : 12.000 fps

300x128 pixels a 12 quadros por segundo, ou seja, 460.800 pixels por segundo. Um vídeo com qualidade FullHD provavelmente seria 1920x820 a 25 quadros por segundo, ou seja, 47.232.000 pixels por segundo. Assim, você pode obter a compactação de 85x apenas redimensionando o vídeo para um tamanho de carimbo de postagem e reduzindo a taxa de quadros. O fluxo de vídeo é de 23,5 MiB, então o original seria de cerca de 2 GiB - parece bastante razoável.

O áudio também tem uma taxa de bits extremamente baixa de 32 Kbps. Eu consideraria 128 Kbps aceitável, o que aumentaria seu tamanho 4 vezes, resultando em um fluxo de áudio ocupando cerca de 80 MB de espaço.

    
por 28.08.2018 / 19:21