Je vous laisse faire le montage et le tester en diffusion avec ffmpeg sur le serveur rtmp.enseeiht.fr

et en lecture avec ffplay ou vlc ou mkplayer

à bientot,

Pascal

PS: je vous invite à venir participer ici pour les aspects de conference et video:

https://groupes.renater.fr/wiki/constellation/public/index

PS:


Convertir en mp4

ffmpeg -i video.webm -vcodec libx264 -vprofile baseline -acodec aac -r 30 video.mp4


Pour couper une video (enlever 10s)

ffmpeg -i -ss 00:00:10 display.mp4 -vcodec libx264 -vprofile baseline -acodec aac -r 30 -to 00:20:05 display2.mp4

ffmpeg -i -ss 00:20:15 display.mp4 -vcodec libx264 -vprofile baseline -acodec aac -r 30 -to 00:25:00 display3.mp4

Puis concatener: display2.mp4 et display3.mp4


Concaténer plusieurs vidéos

Il m'arrive de faire des vidéos (avec le même appareil) ou avec SimpleScreenRecorder (donc au même format) et de vouloir les concaténer.

Voici la méthode utilisée. Créer un fichier texte avec tous les noms dans l'ordre des vidéos à concaténer :

Copier vers le presse-papierCode BASH :

vi fic.txt

Copier vers le presse-papierCode TEXT :

file ‘out-2016-06-16_17.49.16.ogg’ file ‘out-2016-06-16_18.04.20.ogg’ file ‘out-2016-06-16_18.12.01.ogg’

Ensuite, exécuter la commande suivante pour tout concaténer :

Copier vers le presse-papierCode BASH :

ffmpeg -f concat -i fic.txt -c copy out.ogg

Et le tour est joué !


Monter les 2 videos:

Attention, il faut faire le meme decoupage et concatenation pour le display et la webcam!


Tester mon montage (resolution, synchronisation images + son), poids -on doit etre entre 500 et 1000 kbit par s):

Je vous laisse la main pour tester: 1> un serveur rtmp.enseeiht.fr 2> les commandes ffmpeg, le programme de reference pour traiter

— Test sur le serveur: Lancement du lecteur: ffplay rtmp://rtmp.enseeiht.fr/live/ducasse

Diffusion mp4:

ffmpeg -re -i display.mp4 -i cam.mp4 \ -filter_complex “color=black:size=1920×1080 [background]; \ \ [0:v] scale=(iw *85/100):-2 [screen_scaled];\ [1:v] scale=iw*22/100:-2 [cam_scaled];\ \ [background][screen_scaled] overlay=shortest=0:(main_h-overlay_h)/2 [bg+left];\ [bg+left][cam_scaled] overlay=main_w-overlay_w:(main_h-overlay_h)/2 ” \ -vcodec libx264 -vprofile baseline -acodec aac -r 15 -f flv rtmp://rtmp.enseeiht.fr/live/ducasse

de meme, diffusion en webm: ffmpeg -re -i display.webm -i cam.webm \ -filter_complex “color=black:size=1920×1080 [background]; \ \ [0:v] scale=(iw *85/100):-2 [screen_scaled];\ [1:v] scale=iw*22/100:-2 [cam_scaled];\ \ [background][screen_scaled] overlay=shortest=0:(main_h-overlay_h)/2 [bg+left];\ [bg+left][cam_scaled] overlay=main_w-overlay_w:(main_h-overlay_h)/2 ” \ -vcodec libx264 -vprofile baseline -acodec aac -r 15 -f flv rtmp://rtmp.enseeiht.fr/live/ducasse

Voici ce que vous devez voir: frame= 177 fps= 14 q=-1.0 Lsize= 1077kB time=00:00:12.10 bitrate= 728.7kbits/s dup=0 drop=116 speed=0.951x

nb image/s: 10<fps<30 sous multiple de fps de l'image initiale (nous avons encoder à 30 fps)

300<bitrate<900


Si besoin, conversion des videos brutes pour les rendre plus legeres ou les reencoder pour regler des porblemes d(horodatage, d'encodage ————– reencodage à une resolution -s 1280×720 et 30 images par minutes ffmpeg -i paradigme.mp4 -s 1280×720 -vcodec libx264 -vprofile baseline -acodec aac -r 30 paradigme3.mp4 ffmpeg -i keynote.mp4 -s 1280×720 -vcodec libx264 -vprofile baseline -acodec aac -r 30 keynote3.mp4


Webm n'est pas un encodage, c'est une enveloppe vidéo…

Dans les fichiers, il y a plein d'erreur: pour tester un fichier video, il faut faire:

ffprobe -v debug <fichier> ffmpeg -v debug -i <fichier> …. ffplay -v debug <fichier>