Está en la página 1de 9

PAC 1

Plataformes de publicaci i
distribuci

Jaume Reig Carrascosa, mar de 2015

Descarrega tots els arxius de treball

Exercici 1: codificaci per DVD


Des 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

Clip 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
-r 25

Indica la resoluci del vdeo de sortida en amplada x alada.

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)

4. 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 <disposition> 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)

Clip generat:
bunny_dvd.mpg

Arxius xml:
format-bunny.xml
format-bunny_dvd.xml

Exercici 2: juguem amb el GOP


A 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

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


-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

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

Arxius xml:
format-bunny.xml
format-bunny_M3N9.xml
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 frametype.txt:
frametype-bunny.txt
frametype-bunnyM3N9.txt
4. Genera diferents vdeos variant els parmetres del GOP i compara els diferents
resultats obtinguts. Quines conclusions es poden extreure?

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).

Exercici 3: codificaci per mbil


En 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).
1. Primer codificarem el vdeo amb un bitrate constant de 800 kbits/s, Per a realitzar
aquesta conversi podem executar la segent comanda de ffmpeg:
ffmpeg -i big_buck_bunny_clip.avi -c:v libx264 -b:v 800k -c:a aac -strict
-2 -s 480x270 bunnyCBR.mp4

Clip generat:
bunnyCBR.mp4

2. Ara codifiquem un altre cop el vdeo, per amb el bitrate variable a 400 kbits/s .
ffmpeg -i big_buck_bunny_clip.avi -c:v libx264 -q:v 400k -c:a aac -strict
-2 -s 480x270 bunnyVBR.mp4

Clip generat:
bunnyVBR.mp4

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


qualitat visual? Perqu?
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.

4. 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

Clip generat:
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.

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

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)

5. 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
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.

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.

También podría gustarte