La commande:
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:10 [out]" outputvideo.flv
produit la vidéo avec l'image "watermarklogo.png" dans le coin en haut à gauche. Appeler cette commande d'un autre programme devrait être assez simple.
Briser ce bas peu à peu pour le comprendre:
ffmpeg
est le programme que vous allez utiliser pour ajouter le filigrane.
-i
est utilisé pour spécifier les fichiers d'entrée.
inputvideo.avi
est votre fichier d'entrée spécifié par -i
.
-vf
est utilisé pour spécifier le filtre vidéo. Dans ce cas, c'est tout dans les citations.
movie=watermarklogo.png
va charger le fichier que vous voulez utiliser comme filigrane. Ici, nous chargeons le fichier en tant que source vidéo (en utilisant movie
), que le fichier soit ou non une vidéo. Dans ce cas, c'est une image.
[watermark]
identifie le fichier que vous venez de charger. Cette étiquette sera utilisée dans le reste du code.
[in]
et [out]
se réfèrent au flux d'entrée et au flux de sortie de la vidéo.
overlay
est utilisé juste après l'étiquette [watermark]
afin qu'il s'y réfère. Dans ce cas simple, nous plaçons le overlay
au 10:10
. Cela signifie que le filigrane sera décalé de 10 pixels par rapport au haut et à gauche. Si vous vouliez en bas à droite vous utiliseriez overlay=main_w-overlay_w-10:main_h-overlay_h-10
où main_w
est la largeur du flux d'entrée, overlay_h
est la hauteur du fichier de superposition, et ainsi de suite.
Enfin, outputvideo.flv
est clairement le fichier que vous souhaitez enregistrer les résultats.
Informations complémentaires:
Je trouve ces informations par the site Dmitry had mentioned dans les commentaires. Alex a mentionné que cette page pourrait être trop complexe pour quelqu'un qui est nouveau dans de telles choses.Cependant, je n'ai jamais rien fait de tel et en quelques minutes j'ai eu les résultats que je crois être recherchés.
Note: J'ai eu un moment de trouble quand je recevais l'erreur:
error while opening encoder for output stream #0.1
Si vous avez le même problème que vous avez probablement besoin de régler manuellement la fréquence d'échantillonnage en utilisant le paramètre -Ar (par exemple -ar 22050).
L'exemple de code peut être facilement modifié pour appliquer un filtre arbitraire. Quel est le problème? Pour des exemples d'utilisation de filtres de superposition et de films, voir [Comment filigraner une vidéo en utilisant FFmpeg] (http://www.idude.net/index.php/how-to-watermark-a-video-using-ffmpeg). –
Le problème avec l'exemple est qu'il est surchargé (2 filtres, graphique de filtre, etc.). Pour quelqu'un qui est nouveau et veut savoir comment appliquer un AVFilter, c'est déroutant, car il ne précise pas ce qui est absolument nécessaire pour commencer. –