Ffmpeg drawtext no topo do vídeo escalado, independentemente do tamanho da imagem

1

Eu estou fazendo um vídeo a partir de uma única imagem usando o ffmpeg e desenho texto na parte superior do vídeo.

Como posso drawtext sobrepor o tamanho do vídeo dimensionado em vez da escala da imagem?

Agora, quando adiciono um texto, o X e o Y começam no canto superior esquerdo da imagem, não no próprio vídeo dimensionado. A imagem tem dimensões menores que a escala de vídeo, portanto, preciso desenhar o texto, independentemente do tamanho da imagem. Se o texto ficar fora da escala da imagem, ele será cortado, embora a borda preta não preenchida do vídeo dimensionado restante ainda esteja lá.

Este é o comando que estou usando.

ffmpeg -loop 1 -r 1 -i image.jpg -b:v 1M -vf "scale=320:240, drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf: text='Test Text': x=200: y=100: fontsize=30: [email protected]: box=1: [email protected]" -t 20 output.mp4
    
por Henry The Least 14.08.2014 / 22:41

1 resposta

0

Se a imagem for a única fonte de vídeo, o vídeo é apenas a imagem e a " sobreposição do canto superior esquerdo do vídeo " significa o mesmo que " sobreposição do canto superior esquerdo da imagem ". Então você está fazendo isso corretamente.

A borda preta que você mencionou é não parte do vídeo. Ele é inserido por alguns players de mídia ao abrir vídeos muito estreitos, porque o painel de controle do media player é mais largo do que o vídeo. Por exemplo, o VLC media player tem controles / barra de menu bastante amplos e preenche o vídeo com grandes bordas. Mas o Windows Media Player não exibe nenhuma borda preta, pois seus controles cabem na largura de vídeo de 320p.

    
por 16.08.2014 / 11:40

Tags