본문으로 바로가기

QtAV for Qt 6.x

category 블로그 (Blog)/개발로그 (Devlogs) 2024. 12. 26. 09:44

아래 github에 Qt6 + ffmpeg 4.4.5 + MSYS2 내에서 빌드 가능한 버전을 올려두었음..

https://github.com/ihmin/QtAV-MinGW64

 

이제.. 아래는 무시...

 

QtAV는 공식적으로 Qt 5.x + ffmpeg 4.x 버전을 지원함.

물론 ffmpeg 5.x 버전으로 비공식 패치가 된 코드가 있긴 하지만.. 돌려본 결과 약간은 불안함.

 

Qt 6.x 버전으로 QtAV를 빌드하고자 한다면 QtAV의 소스 코드 수정은 불가피함..

수정 분량은 그리 많지 않을 것으로 예상..

즉.. Qt 6.x + ffmpeg 4.x 버전을 사용해 보기로 하고 작업을 함.

먼저 ffmpeg 4.5.6 소스를 받고 아래의 configure 옵션을 빌드함..

$ ./configure --prefix=/c/temp/ffmpeg-4.4.5_win64 --enable-shared --build-suffix="-4.4.5"
install prefix            /c/temp/ffmpeg-4.4.5_win64
source path               .
C compiler                gcc
C library                 mingw64
ARCH                      x86 (generic)
build suffix              -4.4.5
big-endian                no
runtime cpu detection     yes
standalone assembly       yes
x86 assembler             yasm
MMX enabled               yes
MMXEXT enabled            yes
3DNow! enabled            yes
3DNow! extended enabled   yes
SSE enabled               yes
SSSE3 enabled             yes
AESNI enabled             yes
AVX enabled               yes
AVX2 enabled              yes
AVX-512 enabled           yes
XOP enabled               yes
FMA3 enabled              yes
FMA4 enabled              yes
i686 features enabled     yes
CMOV is fast              yes
EBX available             yes
EBP available             yes
debug symbols             yes
strip symbols             yes
optimize for size         no
optimizations             yes
static                    no
shared                    yes
postprocessing support    no
network support           yes
threading support         w32threads
safe bitstream reader     yes
texi2html enabled         no
perl enabled              yes
pod2man enabled           yes
makeinfo enabled          yes
makeinfo supports HTML    yes

External libraries:
bzlib                   mediafoundation         zlib
iconv                   schannel
lzma                    sdl2

External libraries providing hardware acceleration:
cuda_llvm               dxva2
d3d11va                 vaapi

Libraries:
avcodec                 avformat                swscale
avdevice                avutil
avfilter                swresample

Programs:
ffmpeg                  ffplay                  ffprobe

Enabled decoders:
aac                     ffvhuff                 pfm
aac_fixed               ffwavesynth             pgm
aac_latm                fic                     pgmyuv
aasc                    fits                    pgssub
ac3                     flac                    pgx
ac3_fixed               flashsv                 photocd
acelp_kelvin            flashsv2                pictor
adpcm_4xm               flic                    pixlet
adpcm_adx               flv                     pjs
adpcm_afc               fmvc                    png
adpcm_agm               fourxm                  ppm
adpcm_aica              fraps                   prores
adpcm_argo              frwu                    prosumer
adpcm_ct                g2m                     psd
adpcm_dtk               g723_1                  ptx
adpcm_ea                g729                    qcelp
adpcm_ea_maxis_xa       gdv                     qdm2
adpcm_ea_r1             gif                     qdmc
adpcm_ea_r2             gremlin_dpcm            qdraw
adpcm_ea_r3             gsm                     qpeg
adpcm_ea_xas            gsm_ms                  qtrle
adpcm_g722              h261                    r10k
adpcm_g726              h263                    r210
adpcm_g726le            h263i                   ra_144
adpcm_ima_alp           h263p                   ra_288
adpcm_ima_amv           h264                    ralf
adpcm_ima_apc           hap                     rasc
adpcm_ima_apm           hca                     rawvideo
adpcm_ima_cunning       hcom                    realtext
adpcm_ima_dat4          hevc                    rl2
adpcm_ima_dk3           hnm4_video              roq
adpcm_ima_dk4           hq_hqa                  roq_dpcm
adpcm_ima_ea_eacs       hqx                     rpza
adpcm_ima_ea_sead       huffyuv                 rscc
adpcm_ima_iss           hymt                    rv10
adpcm_ima_moflex        iac                     rv20
adpcm_ima_mtf           idcin                   rv30
adpcm_ima_oki           idf                     rv40
adpcm_ima_qt            iff_ilbm                s302m
adpcm_ima_rad           ilbc                    sami
adpcm_ima_smjpeg        imc                     sanm
adpcm_ima_ssi           imm4                    sbc
adpcm_ima_wav           imm5                    scpr
adpcm_ima_ws            indeo2                  screenpresso
adpcm_ms                indeo3                  sdx2_dpcm
adpcm_mtaf              indeo4                  sga
adpcm_psx               indeo5                  sgi
adpcm_sbpro_2           interplay_acm           sgirle
adpcm_sbpro_3           interplay_dpcm          sheervideo
adpcm_sbpro_4           interplay_video         shorten
adpcm_swf               ipu                     simbiosis_imx
adpcm_thp               jacosub                 sipr
adpcm_thp_le            jpeg2000                siren
adpcm_vima              jpegls                  smackaud
adpcm_xa                jv                      smacker
adpcm_yamaha            kgv1                    smc
adpcm_zork              kmvc                    smvjpeg
agm                     lagarith                snow
aic                     loco                    sol_dpcm
alac                    lscr                    sonic
alias_pix               m101                    sp5x
als                     mace3                   speedhq
amrnb                   mace6                   srgc
amrwb                   magicyuv                srt
amv                     mdec                    ssa
anm                     metasound               stl
ansi                    microdvd                subrip
ape                     mimic                   subviewer
apng                    mjpeg                   subviewer1
aptx                    mjpegb                  sunrast
aptx_hd                 mlp                     svq1
arbc                    mmvideo                 svq3
argo                    mobiclip                tak
ass                     motionpixels            targa
asv1                    movtext                 targa_y216
asv2                    mp1                     tdsc
atrac1                  mp1float                text
atrac3                  mp2                     theora
atrac3al                mp2float                thp
atrac3p                 mp3                     tiertexseqvideo
atrac3pal               mp3adu                  tiff
atrac9                  mp3adufloat             tmv
aura                    mp3float                truehd
aura2                   mp3on4                  truemotion1
av1                     mp3on4float             truemotion2
avrn                    mpc7                    truemotion2rt
avrp                    mpc8                    truespeech
avs                     mpeg1video              tscc
avui                    mpeg2video              tscc2
ayuv                    mpeg4                   tta
bethsoftvid             mpegvideo               twinvq
bfi                     mpl2                    txd
bink                    msa1                    ulti
binkaudio_dct           mscc                    utvideo
binkaudio_rdft          msmpeg4v1               v210
bintext                 msmpeg4v2               v210x
bitpacked               msmpeg4v3               v308
bmp                     msp2                    v408
bmv_audio               msrle                   v410
bmv_video               mss1                    vb
brender_pix             mss2                    vble
c93                     msvideo1                vc1
cavs                    mszh                    vc1image
ccaption                mts2                    vcr1
cdgraphics              mv30                    vmdaudio
cdtoons                 mvc1                    vmdvideo
cdxl                    mvc2                    vmnc
cfhd                    mvdv                    vorbis
cinepak                 mvha                    vp3
clearvideo              mwsc                    vp4
cljr                    mxpeg                   vp5
cllc                    nellymoser              vp6
comfortnoise            notchlc                 vp6a
cook                    nuv                     vp6f
cpia                    on2avc                  vp7
cri                     opus                    vp8
cscd                    paf_audio               vp9
cyuv                    paf_video               vplayer
dca                     pam                     vqa
dds                     pbm                     wavpack
derf_dpcm               pcm_alaw                wcmv
dfa                     pcm_bluray              webp
dirac                   pcm_dvd                 webvtt
dnxhd                   pcm_f16le               wmalossless
dolby_e                 pcm_f24le               wmapro
dpx                     pcm_f32be               wmav1
dsd_lsbf                pcm_f32le               wmav2
dsd_lsbf_planar         pcm_f64be               wmavoice
dsd_msbf                pcm_f64le               wmv1
dsd_msbf_planar         pcm_lxf                 wmv2
dsicinaudio             pcm_mulaw               wmv3
dsicinvideo             pcm_s16be               wmv3image
dss_sp                  pcm_s16be_planar        wnv1
dst                     pcm_s16le               wrapped_avframe
dvaudio                 pcm_s16le_planar        ws_snd1
dvbsub                  pcm_s24be               xan_dpcm
dvdsub                  pcm_s24daud             xan_wc3
dvvideo                 pcm_s24le               xan_wc4
dxa                     pcm_s24le_planar        xbin
dxtory                  pcm_s32be               xbm
dxv                     pcm_s32le               xface
eac3                    pcm_s32le_planar        xl
eacmv                   pcm_s64be               xma1
eamad                   pcm_s64le               xma2
eatgq                   pcm_s8                  xpm
eatgv                   pcm_s8_planar           xsub
eatqi                   pcm_sga                 xwd
eightbps                pcm_u16be               y41p
eightsvx_exp            pcm_u16le               ylc
eightsvx_fib            pcm_u24be               yop
escape124               pcm_u24le               yuv4
escape130               pcm_u32be               zero12v
evrc                    pcm_u32le               zerocodec
exr                     pcm_u8                  zlib
fastaudio               pcm_vidc                zmbv
ffv1                    pcx

Enabled encoders:
a64multi                h264_vaapi              pgmyuv
a64multi5               hevc_mf                 png
aac                     hevc_vaapi              ppm
aac_mf                  huffyuv                 prores
ac3                     jpeg2000                prores_aw
ac3_fixed               jpegls                  prores_ks
ac3_mf                  ljpeg                   qtrle
adpcm_adx               magicyuv                r10k
adpcm_argo              mjpeg                   r210
adpcm_g722              mjpeg_vaapi             ra_144
adpcm_g726              mlp                     rawvideo
adpcm_g726le            movtext                 roq
adpcm_ima_alp           mp2                     roq_dpcm
adpcm_ima_amv           mp2fixed                rpza
adpcm_ima_apm           mp3_mf                  rv10
adpcm_ima_qt            mpeg1video              rv20
adpcm_ima_ssi           mpeg2_vaapi             s302m
adpcm_ima_wav           mpeg2video              sbc
adpcm_ms                mpeg4                   sgi
adpcm_swf               msmpeg4v2               snow
adpcm_yamaha            msmpeg4v3               sonic
alac                    msvideo1                sonic_ls
alias_pix               nellymoser              speedhq
amv                     opus                    srt
apng                    pam                     ssa
aptx                    pbm                     subrip
aptx_hd                 pcm_alaw                sunrast
ass                     pcm_dvd                 svq1
asv1                    pcm_f32be               targa
asv2                    pcm_f32le               text
avrp                    pcm_f64be               tiff
avui                    pcm_f64le               truehd
ayuv                    pcm_mulaw               tta
bmp                     pcm_s16be               ttml
cfhd                    pcm_s16be_planar        utvideo
cinepak                 pcm_s16le               v210
cljr                    pcm_s16le_planar        v308
comfortnoise            pcm_s24be               v408
dca                     pcm_s24daud             v410
dnxhd                   pcm_s24le               vc2
dpx                     pcm_s24le_planar        vorbis
dvbsub                  pcm_s32be               vp8_vaapi
dvdsub                  pcm_s32le               vp9_vaapi
dvvideo                 pcm_s32le_planar        wavpack
eac3                    pcm_s64be               webvtt
exr                     pcm_s64le               wmav1
ffv1                    pcm_s8                  wmav2
ffvhuff                 pcm_s8_planar           wmv1
fits                    pcm_u16be               wmv2
flac                    pcm_u16le               wrapped_avframe
flashsv                 pcm_u24be               xbm
flashsv2                pcm_u24le               xface
flv                     pcm_u32be               xsub
g723_1                  pcm_u32le               xwd
gif                     pcm_u8                  y41p
h261                    pcm_vidc                yuv4
h263                    pcx                     zlib
h263p                   pfm                     zmbv
h264_mf                 pgm

Enabled hwaccels:
av1_d3d11va             hevc_dxva2              vc1_vaapi
av1_d3d11va2            hevc_vaapi              vp8_vaapi
av1_dxva2               mjpeg_vaapi             vp9_d3d11va
av1_vaapi               mpeg2_d3d11va           vp9_d3d11va2
h263_vaapi              mpeg2_d3d11va2          vp9_dxva2
h264_d3d11va            mpeg2_dxva2             vp9_vaapi
h264_d3d11va2           mpeg2_vaapi             wmv3_d3d11va
h264_dxva2              mpeg4_vaapi             wmv3_d3d11va2
h264_vaapi              vc1_d3d11va             wmv3_dxva2
hevc_d3d11va            vc1_d3d11va2            wmv3_vaapi
hevc_d3d11va2           vc1_dxva2

Enabled parsers:
aac                     dvd_nav                 opus
aac_latm                dvdsub                  png
ac3                     flac                    pnm
adx                     g723_1                  rv30
av1                     g729                    rv40
avs2                    gif                     sbc
avs3                    gsm                     sipr
bmp                     h261                    tak
cavsvideo               h263                    vc1
cook                    h264                    vorbis
cri                     hevc                    vp3
dca                     ipu                     vp8
dirac                   jpeg2000                vp9
dnxhd                   mjpeg                   webp
dolby_e                 mlp                     xbm
dpx                     mpeg4video              xma
dvaudio                 mpegaudio
dvbsub                  mpegvideo

Enabled demuxers:
aa                      ico                     pcm_mulaw
aac                     idcin                   pcm_s16be
aax                     idf                     pcm_s16le
ac3                     iff                     pcm_s24be
ace                     ifv                     pcm_s24le
acm                     ilbc                    pcm_s32be
act                     image2                  pcm_s32le
adf                     image2_alias_pix        pcm_s8
adp                     image2_brender_pix      pcm_u16be
ads                     image2pipe              pcm_u16le
adx                     image_bmp_pipe          pcm_u24be
aea                     image_cri_pipe          pcm_u24le
afc                     image_dds_pipe          pcm_u32be
aiff                    image_dpx_pipe          pcm_u32le
aix                     image_exr_pipe          pcm_u8
alp                     image_gif_pipe          pcm_vidc
amr                     image_j2k_pipe          pjs
amrnb                   image_jpeg_pipe         pmp
amrwb                   image_jpegls_pipe       pp_bnk
anm                     image_pam_pipe          pva
apc                     image_pbm_pipe          pvf
ape                     image_pcx_pipe          qcp
apm                     image_pgm_pipe          r3d
apng                    image_pgmyuv_pipe       rawvideo
aptx                    image_pgx_pipe          realtext
aptx_hd                 image_photocd_pipe      redspark
aqtitle                 image_pictor_pipe       rl2
argo_asf                image_png_pipe          rm
argo_brp                image_ppm_pipe          roq
asf                     image_psd_pipe          rpl
asf_o                   image_qdraw_pipe        rsd
ass                     image_sgi_pipe          rso
ast                     image_sunrast_pipe      rtp
au                      image_svg_pipe          rtsp
av1                     image_tiff_pipe         s337m
avi                     image_webp_pipe         sami
avr                     image_xbm_pipe          sap
avs                     image_xpm_pipe          sbc
avs2                    image_xwd_pipe          sbg
avs3                    ingenient               scc
bethsoftvid             ipmovie                 sdp
bfi                     ipu                     sdr2
bfstm                   ircam                   sds
bink                    iss                     sdx
binka                   iv8                     segafilm
bintext                 ivf                     ser
bit                     ivr                     sga
bmv                     jacosub                 shorten
boa                     jv                      siff
brstm                   kux                     simbiosis_imx
c93                     kvag                    sln
caf                     live_flv                smacker
cavsvideo               lmlm4                   smjpeg
cdg                     loas                    smush
cdxl                    lrc                     sol
cine                    luodat                  sox
codec2                  lvf                     spdif
codec2raw               lxf                     srt
concat                  m4v                     stl
data                    matroska                str
daud                    mca                     subviewer
dcstr                   mcc                     subviewer1
derf                    mgsts                   sup
dfa                     microdvd                svag
dhav                    mjpeg                   svs
dirac                   mjpeg_2000              swf
dnxhd                   mlp                     tak
dsf                     mlv                     tedcaptions
dsicin                  mm                      thp
dss                     mmf                     threedostr
dts                     mods                    tiertexseq
dtshd                   moflex                  tmv
dv                      mov                     truehd
dvbsub                  mp3                     tta
dvbtxt                  mpc                     tty
dxa                     mpc8                    txd
ea                      mpegps                  ty
ea_cdata                mpegts                  v210
eac3                    mpegtsraw               v210x
epaf                    mpegvideo               vag
ffmetadata              mpjpeg                  vc1
filmstrip               mpl2                    vc1t
fits                    mpsub                   vividas
flac                    msf                     vivo
flic                    msnwc_tcp               vmd
flv                     msp                     vobsub
fourxm                  mtaf                    voc
frm                     mtv                     vpk
fsb                     musx                    vplayer
fwse                    mv                      vqf
g722                    mvi                     w64
g723_1                  mxf                     wav
g726                    mxg                     wc3
g726le                  nc                      webm_dash_manifest
g729                    nistsphere              webvtt
gdv                     nsp                     wsaud
genh                    nsv                     wsd
gif                     nut                     wsvqa
gsm                     nuv                     wtv
gxf                     obu                     wv
h261                    ogg                     wve
h263                    oma                     xa
h264                    paf                     xbin
hca                     pcm_alaw                xmv
hcom                    pcm_f32be               xvag
hevc                    pcm_f32le               xwma
hls                     pcm_f64be               yop
hnm                     pcm_f64le               yuv4mpegpipe

Enabled muxers:
a64                     hds                     pcm_s32be
ac3                     hevc                    pcm_s32le
adts                    hls                     pcm_s8
adx                     ico                     pcm_u16be
aiff                    ilbc                    pcm_u16le
alp                     image2                  pcm_u24be
amr                     image2pipe              pcm_u24le
amv                     ipod                    pcm_u32be
apm                     ircam                   pcm_u32le
apng                    ismv                    pcm_u8
aptx                    ivf                     pcm_vidc
aptx_hd                 jacosub                 psp
argo_asf                kvag                    rawvideo
asf                     latm                    rm
asf_stream              lrc                     roq
ass                     m4v                     rso
ast                     matroska                rtp
au                      matroska_audio          rtp_mpegts
avi                     md5                     rtsp
avm2                    microdvd                sap
avs2                    mjpeg                   sbc
bit                     mkvtimestamp_v2         scc
caf                     mlp                     segafilm
cavsvideo               mmf                     segment
codec2                  mov                     singlejpeg
codec2raw               mp2                     smjpeg
crc                     mp3                     smoothstreaming
dash                    mp4                     sox
data                    mpeg1system             spdif
daud                    mpeg1vcd                spx
dirac                   mpeg1video              srt
dnxhd                   mpeg2dvd                stream_segment
dts                     mpeg2svcd               streamhash
dv                      mpeg2video              sup
eac3                    mpeg2vob                swf
f4v                     mpegts                  tee
ffmetadata              mpjpeg                  tg2
fifo                    mxf                     tgp
fifo_test               mxf_d10                 truehd
filmstrip               mxf_opatom              tta
fits                    null                    ttml
flac                    nut                     uncodedframecrc
flv                     oga                     vc1
framecrc                ogg                     vc1t
framehash               ogv                     voc
framemd5                oma                     w64
g722                    opus                    wav
g723_1                  pcm_alaw                webm
g726                    pcm_f32be               webm_chunk
g726le                  pcm_f32le               webm_dash_manifest
gif                     pcm_f64be               webp
gsm                     pcm_f64le               webvtt
gxf                     pcm_mulaw               wtv
h261                    pcm_s16be               wv
h263                    pcm_s16le               yuv4mpegpipe
h264                    pcm_s24be
hash                    pcm_s24le

Enabled protocols:
async                   http                    rtmpt
cache                   httpproxy               rtmpts
concat                  https                   rtp
crypto                  icecast                 srtp
data                    md5                     subfile
ffrtmphttp              mmsh                    tcp
file                    mmst                    tee
ftp                     pipe                    tls
gopher                  prompeg                 udp
gophers                 rtmp                    udplite
hls                     rtmps

Enabled filters:
abench                  curves                  overlay
abitscope               datascope               pad
acompressor             dblur                   pal100bars
acontrast               dcshift                 pal75bars
acopy                   dctdnoiz                palettegen
acrossfade              deband                  paletteuse
acrossover              deblock                 pan
acrusher                decimate                perms
acue                    deconvolve              photosensitivity
addroi                  dedot                   pixdesctest
adeclick                deesser                 pixscope
adeclip                 deflate                 premultiply
adelay                  deflicker               prewitt
adenorm                 deinterlace_vaapi       procamp_vaapi
aderivative             dejudder                pseudocolor
adrawgraph              denoise_vaapi           psnr
aecho                   derain                  qp
aemphasis               deshake                 random
aeval                   despill                 readeia608
aevalsrc                detelecine              readvitc
aexciter                dilation                realtime
afade                   displace                remap
afftdn                  dnn_processing          removegrain
afftfilt                doubleweave             removelogo
afifo                   drawbox                 replaygain
afir                    drawgraph               reverse
afirsrc                 drawgrid                rgbashift
aformat                 drmeter                 rgbtestsrc
afreqshift              dynaudnorm              roberts
agate                   earwax                  rotate
agraphmonitor           ebur128                 scale
ahistogram              edgedetect              scale2ref
aiir                    elbg                    scale_vaapi
aintegral               entropy                 scdet
ainterleave             epx                     scroll
alimiter                equalizer               select
allpass                 erosion                 selectivecolor
allrgb                  estdif                  sendcmd
allyuv                  exposure                separatefields
aloop                   extractplanes           setdar
alphaextract            extrastereo             setfield
alphamerge              fade                    setparams
amerge                  fftdnoiz                setpts
ametadata               fftfilt                 setrange
amix                    field                   setsar
amovie                  fieldhint               settb
amplify                 fieldmatch              sharpness_vaapi
amultiply               fieldorder              shear
anequalizer             fifo                    showcqt
anlmdn                  fillborders             showfreqs
anlms                   firequalizer            showinfo
anoisesrc               flanger                 showpalette
anull                   floodfill               showspatial
anullsink               format                  showspectrum
anullsrc                fps                     showspectrumpic
apad                    framepack               showvolume
aperms                  framerate               showwaves
aphasemeter             framestep               showwavespic
aphaser                 freezedetect            shuffleframes
aphaseshift             freezeframes            shufflepixels
apulsator               gblur                   shuffleplanes
arealtime               geq                     sidechaincompress
aresample               gradfun                 sidechaingate
areverse                gradients               sidedata
arnndn                  graphmonitor            sierpinski
aselect                 greyedge                signalstats
asendcmd                haas                    silencedetect
asetnsamples            haldclut                silenceremove
asetpts                 haldclutsrc             sinc
asetrate                hdcd                    sine
asettb                  headphone               smptebars
ashowinfo               hflip                   smptehdbars
asidedata               highpass                sobel
asoftclip               highshelf               spectrumsynth
asplit                  hilbert                 speechnorm
astats                  histogram               split
astreamselect           hqx                     sr
asubboost               hstack                  ssim
asubcut                 hue                     stereotools
asupercut               hwdownload              stereowiden
asuperpass              hwmap                   streamselect
asuperstop              hwupload                superequalizer
atadenoise              hysteresis              surround
atempo                  identity                swaprect
atrim                   idet                    swapuv
avectorscope            il                      tblend
avgblur                 inflate                 telecine
axcorrelate             interleave              testsrc
bandpass                join                    testsrc2
bandreject              kirsch                  thistogram
bass                    lagfun                  threshold
bbox                    lenscorrection          thumbnail
bench                   life                    tile
bilateral               limiter                 tlut2
biquad                  loop                    tmedian
bitplanenoise           loudnorm                tmidequalizer
blackdetect             lowpass                 tmix
blend                   lowshelf                tonemap
bm3d                    lumakey                 tonemap_vaapi
bwdif                   lut                     tpad
cas                     lut1d                   transpose
cellauto                lut2                    transpose_vaapi
channelmap              lut3d                   treble
channelsplit            lutrgb                  tremolo
chorus                  lutyuv                  trim
chromahold              mandelbrot              unpremultiply
chromakey               maskedclamp             unsharp
chromanr                maskedmax               untile
chromashift             maskedmerge             v360
ciescope                maskedmin               vectorscope
codecview               maskedthreshold         vflip
color                   maskfun                 vfrdet
colorbalance            mcompand                vibrance
colorchannelmixer       median                  vibrato
colorcontrast           mergeplanes             vif
colorcorrect            mestimate               vignette
colorhold               metadata                vmafmotion
colorize                midequalizer            volume
colorkey                minterpolate            volumedetect
colorlevels             mix                     vstack
colorspace              monochrome              w3fdif
colortemperature        movie                   waveform
compand                 msad                    weave
compensationdelay       negate                  xbr
concat                  nlmeans                 xfade
convolution             noformat                xmedian
convolve                noise                   xstack
copy                    normalize               yadif
crop                    null                    yaepblur
crossfeed               nullsink                yuvtestsrc
crystalizer             nullsrc                 zoompan
cue                     oscilloscope

Enabled bsfs:
aac_adtstoasc           hapqa_extract           pcm_rechunk
av1_frame_merge         hevc_metadata           prores_metadata
av1_frame_split         hevc_mp4toannexb        remove_extradata
av1_metadata            imx_dump_header         setts
chomp                   mjpeg2jpeg              text2movsub
dca_core                mjpega_dump_header      trace_headers
dump_extradata          mov2textsub             truehd_core
eac3_core               mp3_header_decompress   vp9_metadata
extract_extradata       mpeg2_metadata          vp9_raw_reorder
filter_units            mpeg4_unpack_bframes    vp9_superframe
h264_metadata           noise                   vp9_superframe_split
h264_mp4toannexb        null
h264_redundant_pps      opus_metadata

Enabled indevs:
dshow                   lavfi
gdigrab                 vfwcap

Enabled outdevs:
sdl2

License: LGPL version 2.1 or later

아래는 빌드 결과..

ffmpeg-4.4.5_win64.7z
8.20MB

 

다음 직접 Qt 6.x 버전으로 코팅된 QtAV 코드를 아래에서 올려둠.

(MinGW 64에서 수정 및 테스트된 코드 이므로.. VC++ 에서는 동작 보장을 못함.)

 

현재 QML과 OpenGL 랜더러 백앤드 포팅은 빼두었음.

(QML은 관심 대상 밖이고 OpenGL 렌더러 백앤드 대신 Direct 2D 렌더러 백앤드를 사용하도록 포팅됨.

시간 날때 OpenGL 백앤드도 수정 필요.. ㅠ)

QtAV-master.7z
1.95MB

 

다음 빌드된 ffmpeg 4.4.5 버전의 패스를 아래 환경변수에 추가

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/c/temp/ffmpeg-4.4.5_win64/lib/pkgconfig

 

다음 QtAV의 CMake configure 시에 다른 건 기본으로 두고 아래 두 개를 변경

아래는 Generate 결과

이제 make를 수행..

빌드가 완료되면.. 빌드된 폴더 내에 아래의 파일들이 생성됨..

 

bin 폴더

lib폴더

헤더 파일은..

src의 QtAV 폴더와 widgets의 QtAVWidgets 폴더를 복사해서 사용하면 됨.

 

아래는 개발 중인 프로그램 내 테스트 화면..