ffmpeg -i v.3gp -acodec copy -vf "movie=w.png [logo]; [in][logo] overlay=10:main_h-overlay_h-10 [out]" nv.3gp
Funciona bien, pero quiero filigrana solo los primeros 30 segundos. Alguna idea?ffmpeg marca de agua primeros 30 segundos
ffmpeg -i v.3gp -acodec copy -vf "movie=w.png [logo]; [in][logo] overlay=10:main_h-overlay_h-10 [out]" nv.3gp
Funciona bien, pero quiero filigrana solo los primeros 30 segundos. Alguna idea?ffmpeg marca de agua primeros 30 segundos
Puede cortar los primeros 30 segundos, aplicarle marca de agua, luego unirlo con la parte restante.
Puede convertir el logotipo en un video de 30 segundos con codec png y canal alfa, y aplicar el video como superposición.
La duración del video del logotipo debe especificarse a través del número de fotogramas a la velocidad de fotograma del video principal (en su caso, v.3pg). Por ejemplo, para video principal de 30 fps ejecutado:
ffmpeg.exe -loop 1 -i w.png -vframes 901 -vf "fade=out:899:1:alpha=1"
-vcodec png -pix_fmt rgba w.mov
El logotipo debe desaparecer; de lo contrario, no desaparecerá. A continuación, utilice el video logotipo como superposición en otro video:
ffmpeg -i v.3gp -acodec copy -vf "movie=w.mov [logo]; [in][logo]
overlay=10:main_h-overlay_h-10 [out]" nv.3gp
Como alternativa, en lugar de terminar abruptamente, el logotipo se puede desvaneció gradualmente, por ejemplo, dentro de 30 cuadros utilizando -vf "fade=out:870:30:alpha=1"
.
valor no válido '1' para 'loop' opción – ncs
Y no desaparece ffmpeg -i w. png -vframes 901 -vf "fade = out: 870: 30: alpha = 1" -vcodec png -pix_fmt rgba logo.mov ffmpeg -i v.3gp -acodec copy -vf "movie = logo.mov [logo]; [in] [logo] overlay = 10: main_h-overlay_h-10 [out] "nv.3gp – ncs
Extraño. ¿Estás usando un ffmpeg más antiguo? Pruebe '-loop-input' luego, u obtenga la última –
overlay
filtro admite edición de línea de tiempo; simplemente puede leer desde un archivo PNG y luego overlay=enable='lte(t,30)':...
esto funciona bastante bien. – kev
@kev Qué comentario tan tibio. Me encanta. –
Darse cuenta de que es tarde, pero como estaba viendo un problema similar, pude resolver este. que se desvanece con 0,5 segundos desde el inicio, y luego se desvanece a cabo a 30 seg
ffmpeg \
-i v.3gp \
-loop 1 -i w.png \
-acodec copy \
-filter_complex \
"[1:v] fade=in:st=0:d=0.5,fade=out:st=30:d=0.5 [logo]; [0:v][logo] overlay=10:main_h-overlay_h-10" \
nv.3gp
¿Cómo se evita el ciclo de codificación interminable? (causado por -loop 1)? Cuando en el otro lado utilizo eof_action = pass [out1] en el filtro complejo y lo asigno a la salida, la salida no tiene audio en funcionamiento. ¿Alguna idea? – fiveDust
@fiveDust Prueba el '-shortest 'argumento (ver [documentación de opciones avanzadas] (https://ffmpeg.org/ffmpeg.html#Advanced-options)). – Tag
espero existe mejor manera – ncs