FFMpeg não codificará ao Webm ao adicionar uma marca d'água usando -vf

0

Estou adicionando com sucesso uma sobreposição com x264 e -vf com este comando:

TRABALHANDO x264 ENCODE COM A MARCA D'ÁGUA:

ffmpeg -i /private/youtube/$i -acodec aac -ac 2 -strict experimental -vf 'movie=/user_ftp/1037/watermarks/w640X360.png [logo];[in][logo] overlay=0:0 [out]' -crf 24 -ab 160k -s 640x360 -vcodec libx264 -preset faster -profile:v baseline -level 30 -maxrate 1500k -bufsize 2200k -b:v 1200k -f mp4 -threads 0 -y  /user_ftp/1037/$i.mp4

No entanto, com meu codificador de duas páginas web e o mesmo código, o vídeo codifica, mas nenhuma marca d'água é colocada. O -vf não funciona ao codificar para o webm?

NÃO TRABALHANDO - CODIFICAÇÃO DE VÍDEO SEM MARCA D'ÁGUA:

Webm pass 1

ffmpeg -i /youtube/$mediaboxid/$i -codec:v libvpx -quality good -vf 'movie=/media/raid2/uploads/user_ftp/1037/watermarks/w400X224.png [logo];[in][logo] overlay=0:0 [out]' -filter:v scale=400:224 -cpu-used 0 -b:v 500k -qmin 10 -qmax 42 -maxrate:v 500k -bufsize:v 1000k -threads 0  -an -pass 1 -f webm -y /dev/null

Webm pass 2

ffmpeg -i /youtube/$mediaboxid/$i -codec:v libvpx -quality good -vf 'movie=/user_ftp/1037/watermarks/w640X360.png [logo];[in][logo] overlay=0:0 [out]' -filter:v scale=640x360 -cpu-used 0 -b:v 500k -qmin 10 -qmax 42 -maxrate:v 500k -bufsize:v 1000k -threads 0 -an -pass 2 -f webm -y /user_ftp/1037/$i.webm

Existe algum problema conhecido aqui com o webm especificamente?

    
por CRAIG 12.03.2013 / 21:26

1 resposta

2

Não deve haver problemas especiais com a codificação WebM. Como mencionado por LordNeckbeard, as linhas de comando do WebM têm as opções -vf e -filter:v , mas são a mesma coisa (duas maneiras diferentes de especificar o conjunto de filtros a serem aplicados ao vídeo). Você pode usar vários filtros de vídeo, mas especificá-los usando uma única opção -vf ou -filter:v .

Você deve usar -filter_complex em vez de -vf para filtragem envolvendo várias entradas: essa é a diferença entre simples e filtro-filtro complexo . Também é mais fácil entender porque você pode evitar o movie filtro de origem.

Se você quiser que o filtro scale seja aplicado ao resultado do overlay :

ffmpeg -i video.mp4 -i logo.png -filter_complex overlay,scale=640:-1 ... output

Se você quiser que o scale seja aplicado apenas à entrada original, e não ao overlay , basta mudar a localização dos filtros:

ffmpeg -i video.mp4 -i logo.png -filter_complex scale=640:-1,overlay ... output
    
por 13.03.2013 / 02:51