FFMPEG: NÃO adicionar marca d'água ao vídeo

2

Eu segui diligentemente

FFMPEG: como adicionar marca d'água ao vídeo? Marca d'água do FFmpeg

mas sob o linux (Ubuntu 13.04 64bit) o comando para WATERMARK

  • fluxo de arquivos de vídeo
  • marca d'água png

parece que NÃO está funcionando .

Ainda mais estranhamente, os erros relatados de ffmpeg e avconv são diferentes (ver códigos, vesion e erros abaixo)

Mas a sintaxe parece correta para mim. Alguma idéia?

Por favor, note que o -filter_complex (não mais disponível) foi substituído em recortado com -vf

$ ffmpeg -i ariel.mov -i logostilo7.png -vf "[0:v][1:v]overlay=x=10:y=main_h-overlay_h-10[outv]" -map "[outv]"  out.mp4
ffmpeg version 0.8.6-6:0.8.6-1ubuntu2, Copyright (c) 2000-2013 the Libav developers
[h264 @ 0x1ce9d60] max_analyze_duration reached
[h264 @ 0x1ce9d60] Estimating duration from bitrate, this may be inaccurate
Input #0, h264, from 'ariel.mov':
  Duration: N/A, bitrate: N/A
    Stream #0.0: Video: h264 (Main), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1200k tbn, 50 tbc
Input #1, image2, from 'logostilo7.png':
  Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
    Stream #1.0: Video: png, bgra, 479x339, 25 tbr, 25 tbn, 25 tbc
File 'out.mp4' already exists. Overwrite ? [y/N] y
[buffer @ 0x1cebcc0] w:1920 h:1080 pixfmt:yuv420p
Output pad "default" for the filter "src" of type "buffer" not connected to any destination
Error opening filters!

avconv

$ avconv -i ariel.mov -i logostilo7.png -vf "[0:v][1:v]overlay=x=10:y=main_h-overlay_h-10[outv]" -map "[outv]"  out.mp4
avconv version 0.8.6-6:0.8.6-1ubuntu2, Copyright (c) 2000-2013 the Libav developers
  built on Mar 30 2013 22:20:06 with gcc 4.7.2
[h264 @ 0x19f2d40] max_analyze_duration reached
[h264 @ 0x19f2d40] Estimating duration from bitrate, this may be inaccurate
Input #0, h264, from 'ariel.mov':
  Duration: N/A, bitrate: N/A
    Stream #0.0: Video: h264 (Main), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1200k tbn, 50 tbc
Input #1, image2, from 'logostilo7.png':
  Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
    Stream #1.0: Video: png, bgra, 479x339, 25 tbr, 25 tbn, 25 tbc
[h264 @ 0x19f2d40] Invalid stream specifier: [outv].
Stream map '[outv]' matches no streams.

Alguma ideia de quais alterações podem ter ocorrido nos comandos de sobreposição do ffmpeg?

Mais estranhamente , o código que parece FIX o problema é completamente diferente:

ffmpeg -i ariel.mov   -vf "movie=logostilo7.png [logo]; [in][logo] overlay=10:main_h-overlay_h-10 [out]" out.mov

Isso significa que o modo de marca d'água "OLD" acabou?

    
por Giuliano69 19.10.2013 / 11:58

1 resposta

2

Seu ffmpeg não é o "real" do FFmpeg, mas um bonito desatualizado e com nome incorreto do Repositórios do Ubuntu. Tem incontáveis bugs não corrigidos e não suporta tantos recursos quanto as versões ffmpeg 1.0 (talvez mesmo 0.9) e acima.

Portanto, -filter_complex não foi removido, muito pelo contrário: sua compilação não tem isso. Você precisa da opção filter_complex para gráficos de filtro com várias entradas e saídas.

Além disso, -vf é uma abreviação de -filter:v . Se sua versão não reconhece -filter:v , também é muito antiga.

Faça o download de uma versão estática recente ou compile o ffmpeg por conta própria. Então, os exemplos que você viu nas outras perguntas devem estar funcionando bem. Você pode encontrar compilações estáticas para todos os principais sistemas operacionais na página de download e guias de compilação aqui , incluindo guias específicos para o Ubuntu.

    
por 19.10.2013 / 14:26