Plataformes de publicació i distribució - PAC1

9
PAC 1 Plataformes de publicació i distribució Jaume Reig Carrascosa, març de 2015

description

PAC 1 de l'assignatura plataformes de publicació i distribució de la UOC.

Transcript of Plataformes de publicació i distribució - PAC1

  • PAC 1

    Plataformes de publicaci i distribuci

    Jaume Reig Carrascosa, mar de 2015

  • 2Exercici 1: codificaci per DVDDes del clip original volem generar una cpia que pugui ser emmagatzemada en un suport digital compatible amb un reproductor DVD domstic. Aquest procs usualment s realitza en dues parts: la primera s codificar el material en MPEG-2 i desprs inserir-lo dins duna estructura de dades amb una aplicaci de DVD Authoring. Noms realitzarem el primer pas, ja que bona part dels reproductors poden llegir DVDs sense estructura.

    NOTA: en tots els exercicis no prendrem en compte ludio, irrellevant comparat amb les variacions de compressi del vdeo .

    En el nostre cas, per, tenim dos problemes previs: per una part el clip original s HD, i per altra est creat a 24 fotogrames/segon. Cal passar-lo prviament a un format europeu SD de 720x576 pxels i a 25 fotogrames/segon (sense canviar el coder), i desprs transcodificar-lo a MPEG-2.

    1. Per a realitzar aquest conversi cal que executem la segent lnia de comandes des del ffmpeg.

    ffmpeg -i big_buck_bunny_clip.avi -acodec copy -f vob -vcodec mpeg2video -b:v 512k -aspect 16:9 -s 720x576 -r 25 bunny.mpg

    Descarrega tots els arxius de treball

  • 3Clip generat:bunny.mpg

    2. Comenta que signifiquen els parmetres de la crida anterior.

    -i big_buck_bunny_clip.avi s el nom darxiu dentrada.

    -acodec copy Fem cpia de la codificaci de ludio dentrada.

    -f vob -vcodec mpeg2video Fora un output de vdeo establint un cdec mpeg2

    -b:v 512k El bitrate/mitj de vdeo de sortida, establint un bitrate variable (VBR)

    -aspect 16:9 Indica la relaci daspecte del vdeo de sortida.

    -s 720x576 Indica la resoluci del vdeo de sortida en amplada x alada.

    -r 25 Indica el fps del vdeo de sortida

    bunny.mpg Nom de larxiu de vdeo de sortida

    3. Compara el vdeo resultant amb el vdeo original.

    La primera cosa que podem veure comparant els dos xml dels (vdeos original i transformat), s ls dun determinat cdec. En el cas de loriginal mpeg4, i el transformat mpeg2, tal com li hem indicat en la comanda del ffmpeg. Aix lgicament afectar juntament amb la mida resultant al pes de cada vdeo. Tamb podem veure com efectivament segons la comanda ha canviat de 24 fps el original a 25 fps el transformat (r_frame_rate).

    Com a mesures comparatives objectives podem dir que loriginal est en full HD amb unes dimensions de 1920x1080 i el transformat amb 720x576 i per tant noms per dimensions ja redum el pes total del vdeo. Loriginal pesa uns 28,9Mb i el transformat 3,5Mb amb un factor de compressi duns 8,25.

    Pel que fa al bitrate, t uns 0,96 MB/s i el transformat 0,07 MB/s i per tant loriginal necessita una tasa de transferncia ms alta per reproduir-se sense talls. Una altra cosa que hem de pensar s que loriginal t un bitrate constant (CBR) (ja que els .avi no admet flux variable) i el .mpg s bitrate variable (VBR).

    Pel que fa ludio, t prcticament els mateixos valors en els 2 vdeos i la compressi en la qualitat daudici en termes subjectius s prcticament imperceptible.

    Pel que fa a les valoracions subjectives de la qualitat dels 2 vdeos, es veu una qualitat superior en loriginal en resoluci. El vdeo transformat es veu molt pixelat en alguns punts fruit de la compressi i dun baix bitrate. En els moviments s difcil apreciar diferncies significatives, per en alguns detalls trobo els moviments ms fluids en loriginal i una mica ms a cops en el transformat. (s quasi imperceptible)

  • 44. Ffmpeg ofereix una comanda predeterminada per a convertir un vdeo en format DVD amb valors per defecte. Executa aquesta comanda i compara el resultat amb el vdeo anterior i comenta les diferncies.

    A primer cop dull i des dun punt de vista subjectiu, es nota que el vdeo en format DVD t molta ms qualitat (ja no t el pixelat que tenia lanterior vdeo).

    Des dun punt de vista objectiu larxiu resultant DVD, a part dincloure una srie d informacions que no tenia lanterior (com tot el tag on sinclouen informacions referents a opcions de DVD), les variacions ms importants sn el pes total de larxiu i un bitrate ms gran, que fa que la quantitat de transferncia de dades sigui ms gran i el vdeo de ms qualitat com tamb un pes total major. La mida del vdeo continua sent la mateixa (720x576), els fps tamb els mateixos 25, el cdec mpeg2 i per tant lnic que ha canviat com hem dit abans sn pes total i bitrate .

    video mpg = size=3676160 bit_rate=1046742 (bitrate total udio+vdeo)

    vdeo DVD = size=15495168 bit_rate=4407462 (bitrate total udio+vdeo)

  • 5Clip generat:bunny_dvd.mpg

    Arxius xml:format-bunny.xml

    format-bunny_dvd.xml

    Exercici 2: juguem amb el GOPA la codificaci realitzada a lapartat 1.1 el ffmpeg ha generat un vdeo amb un GOP M=12 N=12. Aix ho podem saber executant la comanda:

    ffprobe -show_ frames -pretty bunny.mpg > frametype.txt

    Aquesta crida genera un fitxer de text amb les caracterstiques de cada frame del vdeo.

    Si obrim el fitxer f rametype.txt i analitzem el seu contingut veurem que cont diferents etiquetes [FRAME]. Per a saber la mida del GOP hem de buscar el [FRAME] que contingui letiqueta media_type=video i buscar el valor de letiqueta pict_type . Podrem comprovar que el primer frame s del tipus I.

    Si mirem els tipus de pict_type que hi ha entre 2 frames I veurem que ens surt la estructura de GOP IPPPPPPPPPPP , per tant tenim un GOP M=1 N=12..

    1. Ara volem generar un vdeo amb GOP M= 3 N=9. Per a aconseguir-ho executem la comanda:

    ffmpeg -i big_buck_bunny_clip.avi -acodec copy -f vob -vcodec mpeg2video -g 9 -bf 2 -aspect 16:9 -s 720x576 -r 25 bunnyM3N9.mpg

    Clip generat:bunnyM3N9.mpg

  • 62. Que signifiquen els parmetres -g 9 -bf 2 de la comanda anterior?

    3. Compara el vdeo generat amb el vdeo resultant de la codificaci de lapartat 1.1

    4. Genera diferents vdeos variant els parmetres del GOP i compara els diferents resultats obtinguts. Quines conclusions es poden extreure?

    -g 9 - s la distancia entre dos imatges tipus I

    -bf 2 - El nombre dimatges tipus B que hi ha entre dos imatges tipus P o I

    Arxius xml:format-bunny.xml

    format-bunny_M3N9.xml

    Arxius frametype.txt:frametype-bunny.txt

    frametype-bunnyM3N9.txt

    El vdeo generat est una mica menys comprimit en concret: size=3823616 per size=3676160 de lapartat 1.1 i tamb un bitrate una mica ms alt. Malgrat tot es pot observar que visualment t menys qualitat que el primer. (per exemple en el primer canvi de pla, es poden observar com les flors estan des del principi pixelades, en canvi en el primer vdeo es van pxelant progressivament). Aix s degut al GOP, ja que loriginal no t quadres tipus B, amb un GOP M=1 N=12. El segon amb un GOP M=3 N=9, encara que t quadres sencers tipus I menys distants entre si, t 2 quadres B seguits per 1 P, pel que se sumen ms els errors de predicci.

    Arxius:bunnyM1N25.mpg - (3,02MB) - GOP M1 N25

    bunnyM1N12.mpg - (3,31 MB) - GOP M1 N12

    bunnyM1N4.mpg - (4,63MB) - GOP M1 N4

    bunnyM3N9.mpg - (3,64MB ) - GOP M3 N9

    bunny.mpg - (3,50 MB) - GOP M1 N12

    Com a primera conclusi podem dir que com ms allunyats estan entre si els quadres tipus I, menys pes total darxiu (ms compressi) (hi ha menys imatges senceres).

    Si comparem larxiu de lapartat 1.1 amb larxiu bunnyM1N4.mpg veurem que t ms qualitat el primer tot i que t menys pes. En principi podrem pensar que tenint els quadres tipus I ms propers hauria de tindre ms qualitat, per al tindre quadres tipus B estem sumant ms els errors per aix (els quadres tipus B sn els que comprimeixen ms, per tamb sumen ms errors, ja que calculen el moviment del quadre a partir dels lanteriors i posteriors tipus P o I).

  • 71. Primer codificarem el vdeo amb un bitrate constant de 800 kbits/s, Per a realitzar aquesta conversi podem executar la segent comanda de ffmpeg:

    2. Ara codifiquem un altre cop el vdeo, per amb el bitrate variable a 400 kbits/s .

    3. Hi ha alguna variaci important de compressi entre els 2 clips generats? I de qualitat visual? Perqu?

    Exercici 3: codificaci per mbilEn aquest cas lobjectiu s realitzar una versi que pugui ser visualitzada en un smartphone de pantalla 480 270 pxels. Per aquest entorn s habitual la codificaci MPEG-4 (H264/AAC).

    ffmpeg -i big_buck_bunny_clip.avi -c:v libx264 -b:v 800k -c:a aac -strict-2 -s 480x270 bunnyCBR.mp4

    ffmpeg -i big_buck_bunny_clip.avi -c:v libx264 -q:v 400k -c:a aac -strict -2 -s 480x270 bunnyVBR.mp4

    Clip generat:bunnyCBR.mp4

    Clip generat:bunnyVBR.mp4

    Si hi ha una important compressi entre els 2 clips, en concret el primer pesa 3,12 Mb i el segon 1,42 Mb, una relaci de compressi de ms de 2:1, amb una qualitat dimatge visual similar. La causa daquesta reducci s que en el segon hem establert un bitrate variable a la meitat (400k vs 800k del primer) . Tamb val a dir que el bitrate variable s ms eficient en moltes situacions, ja que assigna una tasa de bits ms alta en les zones ms complicades i menys bits en les ms fcils (pe: plans on hi ha poc moviment), pel que reduiex la mida de larxiu i optimitza la qualitat. Pel que fa al CBR pot donar lloc a assignar ms bits dels necessaris en zones determinades i per tant fa que augmenti el tamany darxiu innecessariament en algunes ocasions.

  • 84. Tornem a codificar el fitxer mantenint bitrate variable a 400kbits/s , per aquest fixem la mida del GOP a 40. Quin efecte visual provoca la prdua de llibertat de la mida? I la compressi del fitxer? Perqu?

    ffmpeg -i big_buck_bunny_clip.avi -c:v libx264 -q:v 400k -c:a aac -strict -2 -g 40 -s 480x270 bunnyVBR_GOP40.mp4

    Comparant els dos vdeos resultants hi ha diferncies molt subtils pel que fa al moviment fora dificils dapreciar a simple vista. Per exemple, posant els dos vdeos sincronitzats en una mateix pantalla, podem veure com el primer (bunnyVBR.mp4), t en certs frames uns moviments diferents als del GOP40.

    Clip generat:bunnyVBR_GOP40.mp4

    Si hi ha una diferncia de pes total i de compressi entre ells dos. El primer pesa 1,43 MB (VBR) i del GOP 40 1,68 MB , que es poden explicar per dos motius:

    El primer que el BunnyVBR.mp4 t molts menys quadres tipus I que el bunnyVBR_GOP40.mp4.

    El segon motiu, a causa de lestructura tancada del GOP40 afegeix un quadre P de ms abans del segent quadre I, i els quadres tipus P com a norma general comprimeixen menys que els tipus B.

    VBR: IBBBPBBBPBBB Total quadres I= 7 (s un GOP obert)

    VBR_GOP40: IBBBPBBBPPBBB Total quadres I=21 (s un GOP tancat)

    Podem observar com en un mateix frame en els 2 vdeos la poma que cau est ms aprop de la papallona el del GOP40

  • 95. Ara codifiquem el fitxer mantenint bitrate variable a 400kbits/s, per fixem la mida del GOP a 10. Que ha passat amb la qualitat visual del fitxer i la compressi? Perqu?

    ffmpeg -i big_buck_bunny_clip.avi -c:v libx264 -q:v 400k c:a aac -strict-2 -g 10 -s 480x270 bunnyVBR_GOP10.mp4

    Clip generat:bunnyVBR_GOP10.mp4

    Podem veure si ens fixem reproduint frame a frame per exemple la part final del vdeo (GOP10) com la poma quant rebota t ms moviments intermitjos, fruit de tenir molt ms quadres tipus I, que la resta de

    vdeos.

    En aquest cas passa el mateix que en lexercici anterior, on es inpercepcitible visualment per el clip resultant t una mica ms de fluidesa en els moviments. Pel que fa a la compressi al tenir ms quadres tipus I fa que comprimeixi menys, donant un pes total de 2,41 MB front els 1,68 de lanterior GOP40.