Como jogar vídeo Watermark na forma de ordem usando o FFMPEG

0

Eu quero reproduzir um vídeo de marca d'água um a um no vídeo de saída usando o ffmpeg.
Abaixo do comando, configure 4 vídeos como marca d'água na imagem e crie saída de vídeo, mas a reprodução de vídeo de marca d'água é paralela.

String [] cmd = {"- i", "/ armazenamento / emulado / 0 / Download / trasprent_bg.png", "- i", videourl_1.mp4, "- i", videourl_2.mp4, "- i ", videourl_3.mp4," - i ", videourl_4.mp4," - i ", image_collage.png," --complex_de_completo "," [1: v] scale = 500: 500, crop = 266: 266 [tfg]; [2: v] escala = 500: 500, crop = 266: 266 [bfg]; [3: v] escala = 500: 500, crop = 266: 266 [threefg]; [4: v] escala = 500: 500 , crop = 266: 266 [fourfg]; [5: v] scale = -1: -1 [colage]; [0: v] [tfg] overlay = 2: 2 [o1]; [o1] [bfg] overlay = 272: 2 [o2]; [o2] [trêsfg] overlay = 2: 272 [o3]; [o3] [quatrofg] overlay = 272: 272 [o4]; [o4] [colage] overlay = 0: 0 " , "- an", "videoCrop37.mp4"};

Por favor me ajude.

    
por p.jadhav 13.07.2018 / 06:56

1 resposta

0

Você precisa alterar os timestamps para os outros vídeos.

String[] cmd={"-loop","1","-i","/storage/emulated/0/Download/trasprent_bg.png","-i",videourl_1.mp4,"-i",videourl_2.mp4,"-i",videourl_3.mp4,"-i",videourl_4.mp4,"-i",image_collage.png,"-filter_complex","[1:v]scale=500:500,crop=266:266[tfg];[2:v]scale=500:500,crop=266:266,setpts=PTS+X/TB[bfg];[3:v]scale=500:500,crop=266:266,setpts=PTS+Y/TB[threefg];[4:v]scale=500:500,crop=266:266,setpts=PTS+Z/TB[fourfg];[5:v]scale=-1:-1[colage];[0:v][tfg]overlay=2:2:eof_action=pass[o1];[o1][bfg]overlay=272:2:eof_action=pass[o2];[o2][threefg]overlay=2:272:eof_action=pass[o3];[o3][fourfg]overlay=272:272:eof_action=pass:shortest=1[o4];[o4][colage]overlay=0:0","-an","videoCrop37.mp4"};

Para o 2º, 3º e 4º vídeos, foi adicionado setpts=PTS+T/TB filtro, onde T é o atraso em segundos para a hora de início do vídeo. Se a duração dos 4 vídeos for 6,3,11,5 segundos, então X = 6, Y = 9 (6 + 3) e Z = 20 (6 + 3 + 11).

    
por 13.07.2018 / 07:56