Como fazer com que -vf “movie =…” aponte para outra pasta no FFmpeg

2

Estou tentando marcar um vídeo com outro vídeo colocado em uma pasta diferente.

O vídeo de origem [video.mov] é colocado em uma pasta como

x:\test1\

O vídeo de sobreposição [overlay.mov] é colocado em

x:\test2\

Estou usando este comando:

ffmpeg.exe -y -i x:\test1\video.mov -vf "movie=x:\test2\overlay.mov [watermark]; [in][watermark] overlay=0:0 [out]" x:\test3\video_overlay.mov

Mas estou recebendo um erro dizendo

Missing key or no key/value separator found after key 'test2overlay.mov'

Ao colocar todos os arquivos na mesma pasta e usando isto:

ffmpeg.exe -y -i video.mov -vf "movie=overlay.mov [watermark]; [in][watermark] overlay=0:0 [out]" video_overlay.mov

tudo funciona bem.

Então, como obtenho o filtro de vídeo para carregar o arquivo de sobreposição de uma pasta diferente no Windows?

    
por evilheinz 21.03.2013 / 01:13

3 respostas

2

Livre-se do filtro movie source e use -filter_complex (usado para filtrar com várias entradas) em vez de -vf (usado para filtragem com uma entrada). Agora, você pode simplesmente listar suas entradas como de costume e, em seguida, informar a cada um de seus filtros com quais entradas deseja trabalhar.

Como você só tem duas entradas, basta fazer:

ffmpeg.exe -i x:\test1\video.mov -i x:\test2\overlay.mov -filter_complex overlay x:\test3\video_overlay.mov

Isso seria o mesmo que:

ffmpeg.exe -i x:\test1\video.mov -i x:\test2\overlay.mov -filter_complex "[0:0][1:0]overlay[out]" x:\test3\video_overlay.mov

Obtenha uma compilação ffmpeg recente se a sua não suportar -filter_complex em Zeranoe FFmpeg Builds e veja o FFmpeg Filters Documentation para mais informações.

    
por 21.03.2013 / 02:14
0

Como mencionado no tíquete # 2166 , é necessário fazer uma dupla fuga do cólon:

movie=x\:/test1/video.mov
    
por 21.04.2015 / 21:05
-1

Embora a solução da @ LordNeckbeard seja a que eu usaria pessoalmente (porque acho mais legível), o problema pode ser com essas barras invertidas. Tente usar movie=x:/test2/overlay.mov .

O FFmpeg é desenvolvido principalmente para sistemas * nix, onde \ é usado como um caractere de escape em vez de um separador; e além disso, os filtros / filtros de filtro do ffmpeg são um caso especial, portanto, precisam ser citados.

    
por 21.03.2013 / 11:27