Sébastien

Sébastien

Difficile d'expliquer synthétiquement dans mon titre. Cette commande part d'une video de départs (en général 24 ou 25 images par secondes) et à partir de cette video, ne va extrair UN image toutes les N secondes, puis les concatene. Chacune de ces images sera affichée N secondes.
Ici, N vaut 2 :

ffmpeg -i script-out.mp4 -an -vf "select='isnan(prev_selected_t)+gte(t-prev_selected_t,2)',setpts=0.20*PTS" output.mp4

Aujourd'hui un petit tuto rapide que je fait tourner sous linux. Je n'ai pas testé sur MacOS mais je ne vois pas pourquoi ca marcherait pas.

Constat : votre freebox est engorgée d'enregistrements, vous n'avez pas le temps de tout regarder et vous aimeriez copier vos enregistrements (en shell, ligne de commande) sur un disque dur (externe) rattaché à votre Linux. Il y a deux étapes à suivre :

  1. Créer un point de montage sur votre PC :
    - Créer un dossier dans votre home (je l'appelle ici Freebox)
    - Ce dossier sera votre point de montage de votre freebox. Pour ceci, affectez-lui la box : curlftpfs mafreebox.freebox.fr ~/Freebox
  2. Vous pouvez lancer le déplacement de fichiers
    mv -v ~/Freebox/Disque\ dur/Enregistrements/Arte*concert* /media/sebastien/VIDEO_8/

Notez juste que l'option -v est pour rendre verbeux le traitement, afin de savoir où en est le traitement.

C'est l'effet spécial par excellence à utiliser lorsque vous avez filmé avec votre téléphone dans le mauvais "mode" (vertical au lieu d'horizontal)

Ainsi, de part et d'autre de votre vidéo, dont vous aurez défini la taille dans cette commande, vous obtiendrez la même video mais floue.

ffmpeg -i outFINAL.mp4 -i outFINAL.mp4 -t 10 -filter_complex "[0:v]scale=-1:720[scaled_video];[1:v]scale=1280:720,boxblur=50[blur_image];[blur_image][scaled_video]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2[outv]" -c:v libx264 -aspect 1280/720 -map [outv] -c:a copy outFINAL2.mp4

 

ffmpeg -i Handi.mp4 -vcodec copy -f rawvideo -y /dev/null 2>&1 | tr ^M '\n' | awk '/^frame=/ {print $2}'|tail -n 1

ATTENTION : cette commande, comme vous le voyez, utiliser un npipe nommé (|) afin de rediriger des résultats vers la commande tr puis awk qui sont deux commandes Linux. Sur les anciennes versions de windows, elles ne marcheront que si elles ont préalablement été explicitement installées.

samedi, 20 juin 2020 18:30

Restons à l'heure des API tik-tok

Souhaitant rester "jeune" dans ma tête, je suis allé aujourd'hui faire un petit tour du côté de Tik Tok. Je ne vous présente pas ce service car moi-même je n'ai pas tout compris. A priori il vous permet de mettre en ligne des vidéos courtes, que vous pouvez retoucher de ce que j'ai vu, Mais n'ayant pas tout compris je ne voudrais pas raconter n'importe quoi.

En revanche, vous me connaissez, je suis allé faire un tour du côté des API de Tik-Tok. J'ai souhaité regarder ce que le service proposait. Et il n'y a pas pléthore en matière d'API !
Ce service vous propose la possibilité d'interroger, à partir de l'URL d'une vidéo que vous avez déjà posté sur Tik Tok, le service afin d'en obtenir un ensemble de données, dont un code html vous permettant de réintégrer votre vidéo sur un site web, et quelques autres informations que nous allons voir.
Je tiens aussi à souligner que, pour obtenir ces informations, vous n'avez pas besoin de vous authentifier. Cela signifie que n'importe quelle vidéo hébergée sur Tik-Tok, vous pouvez en extraire ou en récupérer tout ce qu'il faut pour l'importer sur une page web. Et dans le "tout ce qu'il faut", j'entends par là le type du média, le titre, l'URL de l'auteur, la taille en pourcentage, la taille et l'URL de la miniature, le code HTML bien entendu pour l'intégrer sur une page web, ainsi que les deux informations sur hébergeur de cette vidéo c'est-à-dire le service tiktok lui-même.
Pour obtenir l'ensemble de ces informations, vous n'avez qu'à concaténer votre URL de votre vidéo, à l'appel oembed suivant :
 
 
Le service vous retournera un Json avec toutes les informations nécessaires, qu'il vous suffira à parser pour en extraire les informations qui vous intéressent particulièrement.
Aujourd'hui, nous allons regarder de plus près une fonctionnalité qui pourrait être intéressante pour celles et ceux qui veulent suivre l'évolution d'une vidéo sur la plateforme Youtube. En effet, si vous utilisez YouTube en guise de recherche d'illustration vidéo, par exemple pour des articles de presse, vous n'êtes pas sans savoir que l'utilisateur ayant posté une vidéo, peut la supprimer. Et dans ce cas, elle n'apparaît plus dans votre article. Cet outil pourrait vous permettre de gérer un suivi des vidéos utilisées.
L'idée de ce petit tutoriel et de vous montrer comment savoir et comment faire pour suivre l'évolution d'une vidéo, mais surtout pour être informé de leurs suppressions (ou évidemment de la modification public/privé de chacune des vidéos que vous souhaitez suivre, le résultat étant le même).
Pour effectuer ce suivi, nous allons utiliser qui nous avons déjà vu il y a fort longtemps dans ce blog. Cet exemple n'est qu'une application de ce que l'on peut faire avec les API de YouTube.
En préambule, il faut connaître une information importante pour exploiter ce savoir-faire : lorsqu'une vidéo répond absente, avec l'API que je vais vous montrer, Google vous renvoie un nombre de résultat égal à 0 ou pas (0 symbolisant l'impossibilité de consulter en mode publique une vidéo). Il nous suffit donc de comparer le nombre de résultats obtenus sur l'ID passé en paramètres de l'API.
Dans mon exemple, je renvoie de la fonction vidéo existe, dans laquelle la référence de la vidéo est passé en paramètre, celui-ci étant issu du paramètre de l'URL, une valeur 0 ou 1,0 représentant une valeur, un représentant une valeur vrai. Je n'ai pas réussi à retourner un boulot en tant que tel. Il me semble qu'en PHP cela n'existe pas. À vérifier.
Quelle que soit la valeur retournée, vous pouvez à partir de cette fonction, tester si il y a vidéo que vous souhaitez existe réellement retourner un. Dans le cas contraire je vous savez que la vidéo n'existe pas, ou n'est pas accessible d'une manière public à vos utilisateurs.
 
<?php
function videoExiste($reference_video)
{
$T = array();
$temp = file_get_contents('https://www.googleapis.com/youtube/v3/videos?part=id%2C%20snippet%2C%20status&id='.$reference_video.'&key=VOTRE_CLEF_API');
$T= json_decode($temp, true);
if ($T["pageInfo"]["totalResults"] == 0)
{
return 0;
}
else
{
return 1;
}
}
echo videoExiste($_GET["id_video"]);
?>

 
mercredi, 17 juin 2020 20:14

Inverser le sens d'une video

Cette commande permet de prendre le film a l'envers : on par de la fin et on "remonte" le le film

ffmpeg -i Handi.mp4 -vf reverse Rhandi.mp4

  • -i : fichier en entrée
  • -vf : application du filtre reverse
  • Rhandi : fichier de sortie
lundi, 15 juin 2020 20:00

Détéction de "bord" pour "cropper"

Nous allons voir ici comment détecter les bords d'une image afin d'en extraire les bords.

Partons du principe que nous utilisont cette grande image (j'ai affiché les bords volontairement) :

casquette

 L'idée est d'obtenir une image "au plus proche" des bord de la casquette :

ffmpeg -loop 1 -i casquette.png -frames:v 3 -vf "negate,cropdetect=limit=0:round=0" -f null -

Ffmpeg vous retourne, en fin de ligne, les valeurs du crop : 1056:496:200:474

[Parsed_cropdetect_1 @ 0xed2ce0] x1:197 x2:1256 y1:472 y2:969 w:1056 h:496 x:200 y:474 pts:2 t:0.080000 crop=1056:496:200:474

Il ne vous reste plus que faire le crai cropping de votre fichier :

ffmpeg -i input.png crop=1056:496:200:472 output.png

dimanche, 14 juin 2020 11:24

Une freebox, mplayer et un peu de fun

J'ai découvert, enfin en cherchant un peu quand même, comment les heureux possesseurs d'une freebox peuvent acceder à la TV (attention, justes aux chaines du multiposte évidement, donc sans TF1, M6...) ... en ligne de commande sous linux. C'est vraiment pous se marrer !

Il nous faut mplayer, le player "associé" à FFMPEG (ça y est, on me resitue ?)

La commande est simple : on lance mplayer et mettant en paramètre la liste de lecture : http://mafreebox.freebox.fr/freeboxtv/playlist.m3u

La commande devient :  mplayer -playlist http://mafreebox.freebox.fr/freeboxtv/playlist.m3

Il faut juste savoir que pour naviguer dans les chaines, il faut utiliser > et <. Pour toutes les autres options, la documentation Ubuntu explique les autres paramètres

Et la, je peux vraiment le dire : have fun !

Ou la la, non non non non non ne partez pas ! Ce que je vais écrire ici correspond bien au titre de mon article. Alors un peu de folie et on y va.
Généralement, un flux RSS contient un ensemble d'articles souvent hétérogènes en fonction de l'auteur du fil. Par exemple, si nous prenons un flux du Magazine informatique clubic.com,  avec son fil RSS www.clubic.com/feed/news.rss, vous vous rendrez compte que dans ce long fil RSS, l'auteur y integre une grosse partie des derniers articles du magazine.
Alors pour les geeks, qui ont le temps de tout lire, cela peut-être intéressant. Mais pas pour moi ! Une bonne idée serait de pouvoir sélectionner au sein de ce flux RSS, des thématiques sur des mots-clés qui m'intéressent.
Pour effectuer ce tri, je vais utiliser mon adresse Gmail,
Dans un premier temps, je vais  m'abonner via l'excellent Blogtrottr, à l'envoi par mail de chaque article du fil RSS dans une boîte aux lettres Gmail. Je vais donc recevoir tous les articles du flux du site Clubic
Selection de la fréquence de reception des mails
Dans un deuxième temps, à l'aide des règles de messagerie de Gmail, je vais trier les mails reçus à chaque réception de mail, réglage effectuable dans blogtrottr, sur des mots clés.

Capture décran 2020 06 13 à 10.45.35
 
Cette partie est très fastidieuse je le conçois, longue dans le temps j'en ai conscience, mais nécessaire au bon filtrage de vos données reçues.
Ainsi, je vais avoir la possibilité d'interroger autant de fil RSS que de labels que j'ai créés. 
Désormais, passons à l'iterrogation de flux RS issus de GMail. Pour interroger un fil RSS de Gmail. Attention toutefois, les fils RSS (bien qu'il faille connaitres leurs URL) son publics sans authentification dans leurs URL.
Afin de pouvoir lire votre flux RSS thématiques que vous avez créés, rendez-vous à l'adresse http://www.gmail.com/mail/atom/{votre label gmail}
Si vous creez autant de regles que de filtres nécessaires (sur le titre, le contenu....), vous aurez monté des filtres de tris sur les RSS 
 
 
Page 1 sur 33