2017-09-27 3 views
0

J'utilise ce qui suit pour générer une vidéo côte à côte.Utilisation de ffmpeg pour superposer une ligne noire ou ajouter une bordure à deux vidéos côte à côte

ffmpeg -i left.mp4 -i right.mp4 -filter_complex "[0:v]setpts=PTS-STARTPTS, pad=iw*2:ih[bg]; [1:v]setpts=PTS-STARTPTS[fg]; [bg][fg]overlay=w" -y final.mp4 

Il ressemble à ceci.

http://www.mo-de.net/d/partnerAcrobatics.mp4

Je voudrais placer une ligne verticale noire en haut à droite au milieu ou ajouter une bordure noire à la vidéo à gauche. Si j'ajoute une bordure à la vidéo de gauche, je souhaite conserver la dimension de somme originale des vidéos originales. Cette solution nécessiterait de soustraire la largeur de la bordure de la largeur des vidéos de gauche. Je vais prendre l'une ou l'autre solution.

Merci

+0

Cette question semble être hors sujet car il ne s'agit pas de programmation ou de développement. Voir [Quels sujets puis-je poser à ce sujet?] (Http://stackoverflow.com/help/on-topic) dans le centre d'aide. Peut-être [Super User] (http://superuser.com/) ou [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/) serait un meilleur endroit à demander. – jww

Répondre

0

Utilisez

ffmpeg -i left.mp4 -i right.mp4 -filter_complex "[0:v]setpts=PTS-STARTPTS,crop=iw-10:ih:0:0, pad=2*(iw+10):ih[bg]; [1:v]setpts=PTS-STARTPTS[fg]; [bg][fg]overlay=w" -y final.mp4 
0

Solution | Résolu: Si les deux vidéos n'ont pas d'audio, utilisez ceci.

ffmpeg -i left.mp4 -i right.mp4 -filter_complex "[0:v]crop=639:720, pad=640:720:0:0:black[tmp0]; [1:v]crop=639:720, pad=640:720:1:0:black[tmp1]; [tmp0][tmp1]hstack[v] " -map [v] -y o.mp4 

Si les deux vidéos contiennent de l'audio, utilisez les éléments suivants.

ffmpeg -i c2.mov -i c1.mov -filter_complex "[0:v]crop=1279:720, pad=1280:720:0:0:black[tmp0]; [1:v]crop=1279:720, pad=1280:720:1:0:black[tmp1]; [tmp0][tmp1]hstack[v];[0:a][1:a]amerge=inputs=2[a]" -map [v] -map [a] -ac 2 -y o.mp4 

Les deux vidéos doivent avoir la même hauteur. J'ai utilisé recadrage pour supprimer un pixel de la largeur de la vidéo sur la droite. C'était à l'origine 1280 pixels. J'ai rembourré le film de gauche en déclarant une nouvelle taille de la toile de 1280 pixels. Cela a déplacé le film vers la gauche laissant un pixel d'espace sur la droite qui est colorée "noir".

Le film de droite que j'ai rembourré et déplacé vers la droite, exposant la bordure noire sur la gauche. Je l'ai fait pour les deux vidéos afin que l'effet reste centré si les vidéos ont les mêmes dimensions. Stack Overflow est un site de questions de programmation et de développement.