Como converter um filme 16: 9 para uma versão letterbox 4: 3?

11

Suponha que você tenha um arquivo de filme de formato wide com relação de aspecto 16: 9 e deseja criar uma versão ideal para reproduzir em um dispositivo 4: 3. Como você não quer recortar nenhuma imagem ou distorcer a imagem, você quer criar uma versão letterbox.

Ou seja, você quer um filme 4: 3 com barras pretas na parte superior e inferior em torno do retângulo da imagem em movimento, que tem dimensões reais de 16: 9.

Você pode nos dizer como fazer isso no Windows ou no Linux, usando ferramentas gratuitas de linha de comando ou GUI?

    
por dggoldst 20.08.2009 / 14:57

6 respostas

7

Isso pode ser feito no ffmpeg. Antes de começar, leia este excelente recurso para entender a matemática: link

Primeiro, calcule os valores de preenchimento superior e inferior.

long=width of original,
skinny=height of orginal
totalPadding = .75*long - skinny
top padding = bottom padding = totalPadding / 2

OBSERVAÇÃO: se os preenchimentos superior e inferior não forem números EVEN, force-os de forma que soquem ao total do padding (por exemplo, não 47 e 53, mas 48 e 52 para obter 100)

Em segundo lugar, adicione barras letterbox e garanta que o outfile seja reconhecido como 4x3. Suponha que seus preenchimentos tenham 58 pixels para a parte superior e a inferior

ffmpeg -i Infile.avi -padtop 58 -padbottom 58 -padcolor 000000 -aspect 4:3 Outfile_letterbox.mpg
    
por 25.08.2009 / 15:26
11

Novas versões do ffmpeg depreciam as opções "padtop" e "padbottom". Para fazer isso com a nova versão, use a mesma lógica básica acima. No meu caso, meu vídeo original era 720x404, mas eu queria codificar 720x480 - preenchendo a parte superior e inferior. Então por cima:

(480-404) / 2 = 38

i.e. Pad 38 pixels para a parte superior e inferior. O comando "pad" quer o tamanho do vídeo que você está codificando e até onde você quer mover o original. Então:

-vf pad=720:480:0:38

observe que a resolução de saída precisa ser escrita como 720: 480 e não 720x480

    
por 07.05.2013 / 20:04
2

Faça o download e instale Avisynth . Abra o bloco de notas, coloque o seguinte:

AviSource("c:\movies\somemovie.avi")
BicubicResize(720,266,0,0.5)
AddBorders(0, 106, 0, 108)

Salve como mymovie.avs e coloque isso no seu codificador.

Você pode ter que ajustar o redimensionamento e as bordas, mas geralmente você pode ver o que está acontecendo aqui. Além disso, se o seu vídeo não for carregado com o AviSource, substitua-o pelo DirectShowSource.

    
por 20.08.2009 / 15:17
1

Por "ideal", estou supondo que o seu dispositivo de reprodução está esticando vídeos?

A situação ideal é não adicionar barras pretas ao vídeo, mas exibir o vídeo com barras pretas - recodificar um vídeo para adicionar barras não apenas quebra a regra de "codificar uma vez", mas TAMBÉM diminui o volume total qualidade por bit adicionando informações extras e inúteis.

Você pode explicar melhor o problema que está tentando resolver?

    
por 20.08.2009 / 15:01
0

O Windows Movie Maker tem essa função: link

    
por 20.08.2009 / 15:14
0

Um programa gratuito de código aberto chamado DeVeDe for Linux (e Windows port também) cuida disso automaticamente e bem link

    
por 09.09.2009 / 16:42