« En attendant la PyConFr » du 17 mars 2021

J’ai mis en ligne les trois présentations sur Youtube :

J’ai noté un léger décalage sur la deuxième entre la présentation et la webcam, mais rien de très grave.

Je vais m’occuper de la PR pyvideo.

Commandes ffmpeg d'extraction des vidéos
ffmpeg -i webcams.webm -vn -y audio.ogg

# 1st
# audio: 0:22:18 à 1:13:43 (d=0:51:25)
# partage d'écran: 0:23:19 à 1:13:43 (couper de 1:10:20 à 1:11:45) -> (d=0:47:01 + d=0:01:58)
i=1
ffmpeg -i audio.ogg -ss 0:22:18 -t 00:51:25 -c:v copy -c:a copy /tmp/audio$i.ogg
ffmpeg -i deskshare.webm -ss 0:23:19 -t 00:47:01 -c:v copy -c:a copy /tmp/desk$i-1.webm
ffmpeg -i deskshare.webm -ss 1:11:45 -t 00:01:58 -c:v copy -c:a copy /tmp/desk$i-2.webm
ffmpeg -loop 1 -i slide.png -t 00:01:01 -c:v libvpx -vf scale=1280:720,setsar=1:1 /tmp/slide$i-1.webm
ffmpeg -loop 1 -i slide.png -t 00:01:25 -c:v libvpx -vf scale=1280:720,setsar=1:1 /tmp/slide$i-2.webm
ffmpeg -i /tmp/slide$i-1.webm -i /tmp/desk$i-1.webm -i /tmp/slide$i-2.webm -i /tmp/desk$i-2.webm -filter_complex "[0:v:0][1:v:0][2:v:0][3:v:0]concat=n=4:v=1[outv]" -map "[outv]" /tmp/video$i.webm
ffmpeg -i /tmp/video$i.webm -i /tmp/audio$i.ogg -c copy -map 0:0 -map 1:0 pres$i.webm

# 2nd
# audio: 1:14:53 à 1:50:45 (d=0:35:52)
# partage d'écran: 1:14:53 à 1:50:45 (d=0:35:52)
i=2
ffmpeg -i audio.ogg -ss 01:14:53 -t 00:35:52 -c:v copy -c:a copy /tmp/audio$i.ogg
ffmpeg -i deskshare.webm -ss 01:14:53 -t 00:35:52 -c:v copy -c:a copy /tmp/desk$i.webm
ffmpeg -i webcams.webm -ss 01:14:53 -t 00:35:52 /tmp/webcam$i.webm # Don't copy to avoid losing first seconds
ffmpeg -i /tmp/webcam$i.webm -i /tmp/desk$i.webm -filter_complex "[0:v]scale=w=1280:h=720[a]; [a]crop=720:720[b]; [b][1:v]hstack=inputs=2[outv]" -map "[outv]" /tmp/video$i.webm
ffmpeg -i /tmp/video$i.webm -i /tmp/audio$i.ogg -c copy -map 0:0 -map 1:0 pres$i.webm

# 3rd
# audio: 1:51:25 à 2:00:10 (d=0:08:45)
# partage d'écran: 1:51:25 à 1:57:19 (d=0:05:54) et 1:58:23 à 1:59:35 (d=0:01:12)
i=3
ffmpeg -i audio.ogg -ss 01:51:25 -t 00:08:45 -c:v copy -c:a copy /tmp/audio$i.ogg
ffmpeg -i deskshare.webm -ss 01:51:25 -t 00:05:54 -c:v copy -c:a copy /tmp/desk$i-1.webm
ffmpeg -i deskshare.webm -ss 01:58:23 -t 00:01:12 -c:v copy -c:a copy /tmp/desk$i-2.webm
ffmpeg -loop 1 -i slide.png -t 00:01:04 -c:v libvpx -vf scale=1280:720,setsar=1:1 /tmp/slide$i-1.webm
ffmpeg -loop 1 -i slide.png -t 00:00:35 -c:v libvpx -vf scale=1280:720,setsar=1:1 /tmp/slide$i-2.webm
ffmpeg -i /tmp/desk$i-1.webm -i /tmp/slide$i-1.webm -i /tmp/desk$i-2.webm -i /tmp/slide$i-2.webm -filter_complex "[0:v:0][1:v:0][2:v:0][3:v:0]concat=n=4:v=1[outv]" -map "[outv]" /tmp/video$i.webm
ffmpeg -i /tmp/video$i.webm -i /tmp/audio$i.ogg -c copy -map 0:0 -map 1:0 pres$i.webm
2 « J'aime »