Questão avconv - Filtro de texto não funciona


Vou adicionar um texto a um segmento de vídeo usando -vf mas isso não funciona. Aqui está o que eu tentei

avconv -ss 00:00:20 -i input.mp4 -t 00:00:10 -vcodec copy -acodec copy \
  -vf "drawtext=fontfile='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf':text='hello world':x=0:y=0:fontsize=24:fontcolor=black" output.mp4

Mas o texto não aparece. Eu sei disso -t argumento deve aparecer depois -i ou a duração não será definida. Eu me pergunto se eu perdi -vf nesse caso. Alguém me diria como fazer isso?

P.S. Eu instalo com apt-get install ffmpeg. Informações de software:

avconv version 0.8.9-6:0.8.9-0ubuntu0.13.04.1, Copyright (c) 2000-2013 the Libav developers
  built on Nov  9 2013 19:09:48 with gcc 4.7.3

4
2018-03-19 02:16


origem




Respostas:


No caso, queremos adicionar texto ao nosso vídeo usando o drawtext filtro não podemos fazer uso do copy codec de vídeo.

Adicionar texto a um vídeo mudará os dados do vídeo. Portanto, temos que recodificar o fluxo de vídeo usando qualquer codec que não seja copy.


3
2018-03-19 09:12



Se eu remover -vcodec avconv irá reportar um erro "codificador 'aac' é experimental e pode produzir resultados ruins. Adicione '-strict experimental' se você quiser usá-lo." Há algum erro que cometi durante a instalação? - neuront
Sua fonte pode ser codificada pela aac ... você pode escolher qualquer vcodec ou acodec suportado para recodificar ou usar -target opção para alguns padrões. Vejo libav.org/avconv.html#Codec-AVOptions - Takkat
Na verdade eu não tinha libavcodec-extra-53 instalado. Depois de um apt-get agora está tudo bem. - neuront


O seguinte comando funcionou para mim:

avconv -i input.mp4 -vf "drawtext=fontfile='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf':text='hello world':x=0:y=0:fontsize=24:fontcolor=black" output.mp4

testado nesta amostra mp4 Arquivo.


1
2018-03-19 09:44