« En attendant la PyConFr » du 18 février 2021

Je peux vous faire un retour d’expérience sur poetry - même si je sais pas si ça tiendra en 20 minutes. Je vous dis.

3 J'aime

Je peux parler des unilignes que j’ai fais sur HKIS (L'art de l'uniligne (ou presque)) mais je peux tenir un petit moment sur le sujet.
Je pense que je vais sélectionner les meilleurs pour prendre moins de temps.

2 J'aime

Je peux parler un peu de tox pour rebondir sur la présentation de la dernière fois ou de Hydra.

3 J'aime

Bonjour,

Je peux parler de comment j’utilise Python (stdlib, Pandas, jupyter + pycharm) pour préparer et post-traiter les résultats des essais en soufflerie. 10 à 15 minutes.

-ggg

4 J'aime

[EDIT]

Donc, si je résume :

  • Cookiecutter par @Jeffd (~10mn)
  • Hydra par @awecx (durée inconnue)
  • Oneliner par @HS-157 (durée inconnue)
  • Recherche alternative de pypi par @amirouche (15mn)
  • Poetry par @dmerej (20 minutes)
  • Traitement des résultats d’essai en soufflerie avec pandas/jupyter/pycharm par @dancergraham (20 minutes)
1 J'aime

Bon ben va pour poetry en 20 minutes alors :slight_smile:

L’atelier semble déjà bien chargé mais pour un prochain je pourrais si ça vous intéresse parler de GitHub - entwanne/aiorobot

C’est plus un joujou qu’autre chose : montrer comment j’ai réécrit une lib asynchrone implémentant un protocole BLE pour commander un robot éducatif.
Mais ça pourrait donner lieu à une présentation/démo avec un robot qui bouge et fait de la musique, voire quelque chose d’interactif.

2 J'aime

Bonjour à tous,

Le prochain atelier de type lighting-talk sera donc organisé ce jeudi 18 février à partir de 18h30 !

1 J'aime

Est-ce que l’enregistrement est disponible quelque part ?

L’enregistrement est ici : Le bar de l'AFPy

Il faudrait un volontaire pour le télécharger (numahell / bbb-retrieve-presentation · GitLab) puis le publier sur *tube et pyvideo, comme les conférences de la dernière PyConFr : PyVideo.org · Pourquoi j'ai traduit une partie de la doc de python et pourquoi je vais continuer. C’est quiqui s’y colle ?

1 J'aime

Je veux bien m’occuper de ça

1 J'aime

Par contre de ce que j’ai regardé du format côté BBB et du script que tu cites, on récupère un flux audio d’une part, les slides de présentation de l’autre (si utilisée), et un flux vidéo unique pour les partages d’écran.
À voir ensuite ce que l’on peut faire à partir de ça, et si on a les infos de temporisation pour reconstruire une vidéo complète (ou des vidéos, en isolant chaque présentation).

Il a l’air d’exister des postscripts que l’on peut utiliser pour reconstruire un fichier vidéo à partir de ces éléments (GitHub - tilmanmoser/bbb-video-download: A BigBlueButton recording postscript to provide video download), je vais voir ce que je peux faire localement.

Ou alors je considère qu’on a un truc suffisamment simple (un flux audio + un flux vidéo, pas de webcams ni de slides) pour faire ça manuellement avec openshot.

Du coup dans la video on voit le tableau blanc … :no_mouth:

On peut probablement remplacer ça par un logo AFPy en plein écran…

J’ai donc assemblé les 6 vidéos des conférences de février, maintenant je ne sais pas tellement quelle est la procédure à suivre pour les uploader.
Je peux ensuite préparer la PR pour les ajouter sur PyVideo.

Pour les intéressés, le code d'assemblage des vidéos.
ffmpeg -i webcams.webm -vn -y audio.ogg

# 6th
i=6
ffmpeg -i deskshare.webm -ss 01:57:44.1 -t 00:22:06 -c:v copy -c:a copy /tmp/desk$i.webm
ffmpeg -i audio.ogg -ss 01:57:44.1 -t 00:22:06 -c:v copy -c:a copy /tmp/audio$i.ogg
ffmpeg -i /tmp/desk$i.webm -i /tmp/audio$i.ogg -c copy -map 0:0 -map 1:0 pres$i.webm

# 5th
i=5
ffmpeg -i deskshare.webm -ss 01:32:28.83 -t 00:21:12 -c:v copy -c:a copy /tmp/desk$i.webm
ffmpeg -i audio.ogg -ss 01:32:28.83 -t 00:23:42 -c:v copy -c:a copy /tmp/audio$i.ogg
ffmpeg -loop 1 -i slide-1.png -t 00:02:30 -c:v libvpx -vf scale=1280:720 /tmp/slide$i.webm
ffmpeg -i /tmp/desk$i.webm -i /tmp/slide$i.webm -filter_complex "[0:v:0][1:v:0]concat=n=2: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

# 4th
i=4
ffmpeg -i deskshare.webm -ss 01:13:04.73 -t 00:14:27 -c:v copy -c:a copy /tmp/desk$i.webm
ffmpeg -i audio.ogg -ss 01:13:04.73 -t 00:18:52 -c:v copy -c:a copy /tmp/audio$i.ogg
ffmpeg -loop 1 -i slide-1.png -t 00:04:25 -c:v libvpx -vf scale=1280:720 /tmp/slide$i.webm
ffmpeg -i /tmp/desk$i.webm -i /tmp/slide$i.webm -filter_complex "[0:v:0][1:v:0]concat=n=2: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

# 3rd
i=3
ffmpeg -i deskshare.webm -ss 00:41:28 -t 00:23:38 -c:v copy -c:a copy /tmp/desk$i.webm
ffmpeg -i audio.ogg -ss 00:41:28 -t 00:30:58 -c:v copy -c:a copy /tmp/audio$i.ogg
ffmpeg -loop 1 -i slide-1.png -t 00:07:20 -c:v libvpx -vf scale=1280:720 /tmp/slide$i.webm
ffmpeg -i /tmp/desk$i.webm -i /tmp/slide$i.webm -filter_complex "[0:v:0][1:v:0]concat=n=2: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
i=2
ffmpeg -i deskshare.webm -ss 00:22:03.63 -t 00:15:57 -c:v copy -c:a copy /tmp/desk$i.webm
ffmpeg -i audio.ogg -ss 00:22:03.63 -t 00:19:00 -c:v copy -c:a copy /tmp/audio$i.ogg
ffmpeg -loop 1 -i slide-1.png -t 00:03:03 -c:v libvpx -vf scale=1280:720 /tmp/slide$i.webm
ffmpeg -i /tmp/desk$i.webm -i /tmp/slide$i.webm -filter_complex "[0:v:0][1:v:0]concat=n=2: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

# 1st
i=1
ffmpeg -i deskshare.webm -ss 00:08:22 -t 00:08:46 -c:v copy -c:a copy /tmp/desk$i.webm
ffmpeg -i audio.ogg -ss 00:08:22 -t 00:12:59 -c:v copy -c:a copy /tmp/audio$i.ogg
ffmpeg -loop 1 -i slide-1.png -t 00:04:13 -c:v libvpx -vf scale=1280:720 /tmp/slide$i.webm
ffmpeg -i /tmp/desk$i.webm -i /tmp/slide$i.webm -filter_complex "[0:v:0][1:v:0]concat=n=2: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

Je crois que c’est @pilou qui s’en est occupé pour la PyCon Fr, tu peux nous en dire plus Pilou ? :slight_smile:

Les vidéos de la PyCon Fr 2019 ont été envoyées sur:

@mdk m’avait donné l’accès au serveur de l’AFPy et partagé via passbolt les identifiants du compte YouTube.

Si un compte afpy est créé sur l’instance peertube précédemment utilisée, je ferai une demande de changement de propriétaire des vidéos de la PyCon FR 2019 (et la PR pour mettre à jour les liens sur pyvideo si le changement de propriétaire implique un changement d’URL) :slight_smile:

Les conférences sont en ligne sur Youtube : En attendant la PyConFr (2020-2021) - YouTube

4 J'aime

Les conférences sont en ligne sur PeerTube et sont disponibles sur le serveur de l’AFPy.
J’ai proposé une mise à jour de la PR sur le dépôt pyvideo afin de mettre à jour les liens.

La création d’un compte AFPy officiel sur une instance PeerTube qui reste à déterminer est suspendue au choix de l’instance par @mdk et @HS-157.

4 J'aime