• Nenhum resultado encontrado

INTMU.Lab10. Nome: Nº Data:

N/A
N/A
Protected

Academic year: 2021

Share "INTMU.Lab10. Nome: Nº Data:"

Copied!
6
0
0

Texto

(1)

INTMU.Lab10

Nome:___________________________________ Nº___________ Data:__________

0.1

Instale o pacote FFmpeg.

Em Fedora Linux, esta instalação pode ser efetuada através do script inst_ffmpeg.sh disponibilizado.

0.2

Importe o arquivo de imagens disponibilizado em http://ave.dee.isep.ipp.pt/~jml/intmu/lab10/ wget http://ave.dee.isep.ipp.pt/~jml/intmu/lab10/frames_jpeg.tar Alternativamente, em situações de espaço de armazenamento reduzido é possível efetuar o trabalho com o arquivo frame_jpeg_small.tar que contém um subconjunto das imagens do arquivo original.

1.

Extraia as imagens para um directório jpeg: tar xvf frames_jpeg.tar ls jpeg/

Utilizando o utilitário ffplay, verifique que a apresentação sequencial destas imagens produz uma animação:

ffplay jpeg/frame%05d.jpeg

2.

Crie um novo directório com versões não comprimidas (ppm) das imagens. mogrify -format ppm jpeg/*.jpeg

mkdir ppm

mv jpeg/*.ppm ppm/

Verifique que a apresentação sequencial destas imagens continua a produzir uma animação. Avalie e registe o espaço em disco necessário para o armazenamento das imagens em ambos os formatos.

du -c -h jpeg du -c -h ppm

Determine a taxa de compressão atingida no formato JPEG.

PPM JPEG

Nº de imagens (NI) Espaço em disco (M)

(2)

3.

Verifique que a duração do filme está relacionada com a taxa de apresentação de imagens utilizada. Cronometre a duração de presentação para as taxas de apresentação de 15, 29.97 e 60 imagens por segundo:

time ffplay -framerate FR -autoexit jpeg/frame%05d.jpeg

Framerate (FR) [Hz] Duração (T) [s] NI/FR [s] Bitrate (B) [bps] 5 15 29.97 60 Verifique que T = NI/FR.

Determine e registe o bitrate (B=M/T) utilizado em cada reprodução. Verifique que o bitrate é proporcional ao framerate: B = FR * M/NI.

Nos exercícios seguinte utilize para duração nominal a obtida com FR=29.97 Hz, correspondente à taxa de amostragem temporal original.

4.

Crie um directório hjpeg com cópias das imagens originais. cp -r jpeg hjpeg

Reduza a taxa de mostragem espacial de cada uma destas novas imagens para 50%x50%. mogrify -resize 50% hjpeg/*.jpeg

ffplay -framerate 29.97 hjpeg/frame%05d.jpeg

Crie também um directório qjpeg com cópias das imagens originais escaladas para 25%x25% cp -r jpeg qjpeg

mogrify -resize 25% qjpeg/*.jpeg

ffplay -framerate 29.97 qjpeg/frame%05d.jpeg

Avalie e registe o espaço em disco (M) necessário para o armazenamento destas imagens, as taxas de compressão obtidas e o bitrate (B) exigido.

hjpeg (50%) qjpeg (25%)

Número de pixels (NCxNL) Espaço em disco (M) Taxa de compressão (C) Bitrate (B)

(3)

5.

Utilizando o utilitário composite do ImageMagick, crie a imagem dif9010.ppm, correspondente à diferença entre a imagem frame00090.ppm e a imagem frame00010.ppm.

cd ppm

convert frame00090.ppm frame00010.ppm -fx “(u-v+1)/2” dif9010.ppm display dif9010.ppm

Crie a imagem p00090.ppm como sendo a soma de dif9010.ppm com a imagem frame00010.ppm. convert frame00010.ppm dif9010.ppm -fx “(u+v+v-1)” p00090.ppm Compare a imagem resultante com a imagem frame00090.ppm.

display frame00090.ppm & display p00090.ppm &

compare frame00090.ppm p00090.ppm erro.ppm display erro.ppm

cd ..

6.

Crie um directório jpeg_gop com cópias das imagens originais reduzidas no directório qjpeg. cp -r qjpeg jpeg_gop

Prepare um script sub.sh para criar representações alternativas das imagens de número par, através da diferença para a imagem anterior.

diff_n.jpeg = frame_n.jpeg - frame_(n-1).jpeg n = 2, 4, 6, … #!/bin/bash

for i in {1..900..2}; do

printf -v fra “frame%05d.jpeg” $i

printf -v next “frame%05d.jpeg” $((i+1)) printf -v diff “diff%05d.jpeg” $((i+1)) echo “$next - $fra -> $diff”

... done

Aplique o seu script às imagens do directório jpeg_gop cd jpeg_gop

sh ../sub.sh cd ..

Elimine as imagens de número par.

(4)

Avalie e registe o espaço em disco necessário para o armazenamento deste conjunto de imagens e a taxa de compressão obtida.

du -c -h jpeg_gop jpeg_gop Nº de imagens Número de pixels (NCxNL) Espaço em disco (M) Taxa de compressão (C) Bitrate (B)

Prepare um script add.sh para recuperar as imagens pares a partir das diferenças calculadas e das imagens ímpares de referência.

frame_n.jpeg = frame_(n-1).jpeg + diff_n.jpeg n = 2, 4, 6, …

Aplique o script add.sh e verifique que recuperou um conjunto utilizável de imagens semelhante ao original.

ffplay jpeg_gop/frame%05d.jpeg

7.

Utilize o utilitário ffmpeg para criar um arquivo MPEG a partir das imagens originais. ffmpeg -i jpeg/frame%05d.jpeg comb1.mpeg

Nesta compressão, para além das técnicas de transformada DCT e da codificação das diferenças, foi também utilizada a técnica de codificação por vetores de movimento (motion vectors). Pode visualizar estes vetores com a opção +export_mvs do ffplay :

ffplay -flags2 +export_mvs comb1.mpeg -vf codecview=mv=pf+bf+bb Durante a visualização, pode utilizar a barra de espaços para parar (pause) a apresentação.

8.

Utilize o utilitário ffmpeg para criar arquivos MPEG com qualidade diversa, a partir das imagens originais.

ffmpeg -r 29.97 -i ppm/frame%05d.ppm comb2.mpeg Pode especificar directamente o bitrate pretendido, através da opção -b do ffmpeg.

ffmpeg -r 29.97 -i ppm/frame%05d.ppm -b 100k comb3.mpeg ffmpeg -r 29.97 -i ppm/frame%05d.ppm -b 8000k comb4.mpeg

Verifique que taxa de compressão é fortemente afetada pela variação da dimensão do GoP (Group of Pictures)

ffmpeg -r 29.97 -i ppm/frame%05d.ppm -g 3 comb5.mpeg ffmpeg -r 29.97 -i ppm/frame%05d.ppm -g 15 comb6.mpeg Experimente também variar a norma de codificação utilizada.

(5)

ffmpeg -r 29.97 -i ppm/frame%05d.ppm -qscale 0 -vcodec mpeg4 comb8.mpeg Registe a dimensão (M) dos arquivos obtidos, a taxa de compressão respetiva (C) e o bitrate exigido na tabela seguinte.

Arquivo Dimensão (M) Bitrate (B) Taxa de compressão (C) Duração (T) M/T

comb1.mpeg comb2.mpeg comb3.mpeg comb4.mpeg comb5.mpeg comb6.mpeg comb7.mpeg comb8.mpeg Verifique que B  M/T

9.

Utilize o utilitário ffmpeg para criar arquivos MPEG com framerates diversos,

ffmpeg -r 29.97 -i ppm/frame%05d.ppm comb11.mpeg ffmpeg -r 50 -i ppm/frame%05d.ppm comb12.mpeg ffmpeg -r 29.97 -i ppm/frame%05d.ppm -r 25 comb13.mpeg ffmpeg -r 29.97 -i ppm/frame%05d.ppm -r 20 comb14.mpeg ffmpeg -r 25 -i ppm/frame%05d.ppm -r 50 comb15.mpeg ffmpeg -r 50 -i ppm/frame%05d.ppm -r 25 comb16.mpeg

Registe na tabela seguinte a dimensão dos arquivos obtidos, a duração e o número de frames (NI).

Arquivo Dimensão (M) Duração (T) Frames (NI) Framerate (FR) comb11.mpeg comb12.mpeg comb13.mpeg comb14.mpeg comb15.mpeg comb16.mpeg

(6)

10.

Utilize o utilitário ffmpeg para extrair secções do arquivo MPEG: ffmpeg -i comb1.mpeg -ss 2 -t 1 comb21.mpeg ffmpeg -i comb1.mpeg -ss 1 -t 2 comb12.mpeg ffplay comb21.mpeg

ffplay comb12.mpeg

Verifique que os arquivos MPEG podem ser concatenados diretamente: cat comb21.mpeg comb12.mpeg >comb2112.mpeg ffplay comb2112.mpeg

11.

Utilize o utilitário ffmpeg para extrair frames de um arquivo MPEG:

ffmpeg -i comb3.mpeg -ss 1 -vframes 10 test%04d.jpeg ls test*.jpeg

display test0001.jpeg

12.

Para entregar este trabalho, submeta este documento preenchido através da atividade Lab10 dá área de INTMU do Moodle.

Referências

Documentos relacionados

Como irá trabalhar com JavaServer Faces voltado para um container compatível com a tecnologia Java EE 5, você deverá baixar a versão JSF 1.2, a utilizada nesse tutorial.. Ao baixar

O jacarandá (Dalbergia brasiliensis) mostrou crescimento em altura próximo à altura média entre as espécies ensaiadas (1,23m), destacando-se também como espécie alternativa para

(grifos nossos). b) Em observância ao princípio da impessoalidade, a Administração não pode atuar com vistas a prejudicar ou beneficiar pessoas determinadas, vez que é

No entanto, para aperfeiçoar uma equipe de trabalho comprometida com a qualidade e produtividade é necessário motivação, e, satisfação, através de incentivos e política de

É primeiramente no plano clínico que a noção de inconscien- te começa a se impor, antes que as dificuldades conceituais envolvi- das na sua formulação comecem a ser

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

E ele funciona como um elo entre o time e os torcedores, com calçada da fama, uma série de brincadeiras para crianças e até área para pegar autógrafos dos jogadores.. O local

A prova do ENADE/2011, aplicada aos estudantes da Área de Tecnologia em Redes de Computadores, com duração total de 4 horas, apresentou questões discursivas e de múltipla