Calculer la durée totale des vidéos d'un dossier, bash, linux

Calculer la durée totale des vidéos d’un dossier

Dans le cadre d’une formation en ligne, j’ai cherché à connaître la durée totale des fichiers vidéos qui étaient contenus dans un dossier.

Il est toujours intéressant de donner le nombre d’heures de vidéos sur une fiche produit par exemple, pour que le client puisse avoir une idée avant d’acheter.

Pour ce faire, nous avons plusieurs options: ffmpeg d’une part ou alors mediainfo.

J’ai lancé un petit apt install factice sur le serveur : installer ffmpeg revient à installer 110 nouveaux paquets, soit 600 Mo. En comparaison, mediainfo ne requiert que 3 paquets, soit 2.3 Mo.

Nous utiliserons donc mediainfo pour nos tests.

Calculer la durée de chaque fichier

Voici comment calculer la durée de chaque fichier, en format lisible par tous:

 mediainfo --Output="General;%Duration/String%" *.mp4
38 min 6 sCode language: JavaScript (javascript)

Voici comment calculer la durée de chaque fichier, mais cette fois au format timecode (xx:xx:xx.xx) :

 mediainfo --Output="General;%Duration/String3%" *.mp4
00:38:06.12Code language: JavaScript (javascript)

Ces deux commandes nous donnent la durée de chaque fichier MP4 présent dans le répertoire.

Nous allons maintenant voir comment les additionner pour obtenir la durée totale des enregistrements du dossier.

Calculer la durée totale des fichiers d’un dossier

Nous allons utiliser la dernière commande, celle qui nous donne les durées au format timecode, et allons ajouter toutes ces durées pour obtenir la durée totale des enregistrements présents dans notre dossier.

Voici la commande:

mediainfo '--Output=Video;%Duration%\n' *.mp4 | awk '{ sum += $1 } END { secs=sum/1000; h=int(secs/3600);m=int((secs-h*3600)/60);s=int(secs-h*3600-m*60); printf("%02d:%02d:%02d\n",h,m,s) }'Code language: JavaScript (javascript)

Résultat:

21:03:48Code language: CSS (css)

Nous avons donc un peu plus de 21 heures d’enregistrements pour notre cours en ligne :)

NAS Synology : regarder les vidéos du NAS directement sur la Freebox en DLN photo

NAS Synology : regarder les vidéos du NAS directement sur la Freebox en DLNA

J’utilise mon NAS Synology tous les jours et l’une des fonctions que j’affectionne particulièrement est de pouvoir regarder des vidéos directement sur la télévision, en passant par la Freebox.

NAS Synology : regarder les vidéos du NAS directement sur la Freebox en DLN photo

Il existe plusieurs manières de regarder les vidéos stockées sur le NAS sur la télévision : depuis la Freebox, depuis un navigateur avec VideoStation ou depuis votre mobile avec l’application DS Video.

Lire des vidéos avec fichiers de sous-titres depuis la Freebox

Il suffit de se rendre dans le menu Freebox > Disques et de sélectionner votre NAS, qui s’appelle par défaut “DiskStation” chez Synology.

La Freebox affiche la liste des fichiers vidéos, films, séries tels qu’ils sont sur le NAS, ainsi que les fichiers de sous-titres au format .SRT s’ils sont présents sur le NAS, si vous avez suivi le tutoriel NAS Synology : lire des vidéos avec des fichiers de sous-titres en DLNA sur la Freebox.

Si le fichier de sous-titre porte le même nom que le fichier vidéo auquel il se rattache, alors la Freebox le chargera automatiquement. Vous pouvez alors le désactiver en appuyant sur la touche Menu verte de la télécommande Free.

C’est la méthode que j’utilise au quotidien mais il faut avoir prévu de télécharger les bons sous-titres, s’être assuré que le nom ne diffère pas et les avoir mis dans le même répertoire que le fichier vidéo… cela demande un peu de manutention avant de pouvoir se caler dans le canapé.

Lire des vidéos avec sous-titres chargés à la volée depuis le NAS

Une seconde solution consiste à lancer le fichier depuis le webdamin du Synology : démarrez l’application VideoStation et sélectionnez le fichier à lire.

Allumez ensuite votre télévision et le Freebox Player pour qu’il soit détecté par l’application VideoStation.

Si vous cliquez sur la petite icône Réglages du lecteur vidéo, il est possible de charger des sous-titres à la volée dans la section Sous-Titres :

Synology : regarder les vidéos du NAS sur la Freebox photo

Il ne vous reste plus qu’à sélectionner la destination vidéo vers laquelle envoyer la vidéo en flux DLNA dans la section Source. Ici, nous choisissons Freebox Player en DLNA:

Synology : regarder les vidéos du NAS sur la Freebox photo 1

Il suffit de cliquer sur le bouton lecture et la vidéo sera directement projetée sur la télévision par le biais du Freebox Player.

Lire vidéos et sous-titres depuis l’application mobile DS Video

Je vous ai gardé le meilleur pour la fin : vous pouvez lancer les vidéos du Synology et activer les sous-titres à la volée depuis l’application mobile DS Video, à installer sur votre téléphone portable.

DS Video est une application gratuite, à télécharger : DS Video pour Android (Play Store) ou alors DS Video pour iPhone (AppStore).

Synology : regarder les vidéos du NAS sur la Freebox photo 2

C’est le meilleur des deux mondes : plus besoin de courir sur l’ordinateur pour lancer la vidéo. Il suffit de :

  1. lancer DS Video,
  2. se connecter au Synology avec votre compte habituel,
  3. ne pas activer HTTPS (très important),
  4. choisir la vidéo à lire,
  5. régler les options : sous-titres, sortie vidéo vers le Freebox Player.

Et profiter ! Plus besoin de quitter le canapé cette fois ;-)

Linux : récupérer des vidéos depuis votre terminal avec MovGrab photo

Linux : récupérer des vidéos depuis votre terminal avec MovGrab

Movgrab est un outil en ligne de commande écrit en C (sans dépendances) qui permet de récupérer facilement des vidéos sur des sites comme YouTube, DailyMotion, Vimeo, Blip.tv, Liveleak, Guardian…

Il permet de choisir les flux disponibles sur les pages vidéo, supporte les proxies, peut reprendre des téléchargements… c’est une application très utile.

Liste des sites supportés par movgrab

Movgrab fonctionne avec:

  • YouTube
  • Metacafe
  • Dailymotion
  • Vimeo
  • Break.com
  • eHow
  • 5min.com
  • vbox7
  • blip.tv
  • Ted
  • MyVideo
  • ClipShack
  • MyTopClip
  • RedBalcony
  • Mobando
  • Yale University
  • Princeton University
  • Reuters
  • LiveLeak
  • Academic Earth
  • Photobucket
  • VideoEmo
  • VideosFacebook
  • Aljazeera
  • Mefeedia
  • IViewTube
  • Washington Post
  • CBS News
  • Euro News
  • MetaTube
  • MotionFeeds
  • Escapist
  • Guardian
  • RedOrbit
  • Sciive
  • Izlese
  • uctv.tv
  • royalsociety.tv
  • British Academy
  • Kitp
  • Dotsub
  • Astronomy.com
  • Teachertube.com
  • Discovery
  • Bloomberg.com

Lire la suite

Télécharger les vidéos d'Arte+7 (replay) photo

Le guide complet pour télécharger les vidéos d’Arte+7 en replay

Avez-vous déjà été captivé par une émission sur Arte+7, mais contrarié de ne pas pouvoir la télécharger pour la regarder plus tard ? Vous n’êtes pas seul!

Beaucoup de téléspectateurs rencontrent des difficultés à télécharger des vidéos depuis Arte+7, un service de replay populaire qui propose un contenu riche et varié, car l’adresse du fichier vidéo n’est pas visible en clair et n’est pas détectée par toutes les extensions de capture de flux vidéo des navigateurs.

Heureusement, il existe une méthode simple et efficace pour télécharger vos émissions préférées sans avoir besoin de logiciels tiers complexes. Dans cet article, nous allons explorer cette méthode étape par étape.

Comprendre le défi du téléchargement sur Arte+7

Avant de plonger dans la solution, comprenons d’abord pourquoi le téléchargement de vidéos depuis Arte+7 peut sembler compliqué.

Le site d’Arte+7 utilise une technologie de streaming avancée qui rend l’adresse du fichier vidéo invisible. Cela signifie que les extensions de capture de flux vidéo courantes peuvent ne pas fonctionner comme elles le feraient sur d’autres sites.

J’ai longtemps essayé de télécharger les vidéos en regardant le code source pour identifier les flux, et ensuite utiliser des logiciels dédiés pour les télécharger… sans succès, alors qu’il existe une méthode bien plus simple et efficace.

Lire la suite

Freebox : lire une vidéo avec un fichier de sous-titres en DLNA depuis un NAS Synology photo

Synology : lire des vidéos avec des fichiers de sous-titres en DLNA sur la Freebox

Lorsque l’on possède un NAS, on apprécie de pouvoir bénéficier de toutes ses fonctionnalités.

Or, outre les fonctions de sauvegardes, de téléchargement et téléversement des données, il est aussi très agréable de pouvoir lire de la musique ou des vidéos (stockées sur le NAS) directement sur une télévision.

Ce tutoriel s’adresse à celles et ceux qui possèdent une Freebox et un NAS Synology.

Nous allons voir comment configurer le Synology afin que les sous-titres soient détectés et lus par notre Freebox, automatiquement au lancement de notre vidéo.

Synology : installation du Media Server

Sur le Synology, il faut installer le paquet Media Server. Pour cela, il suffit de se rendre dans Main Menu > Package Center >Multimedia > Media Server > Install.

Vous devriez avoir quelque chose comme ceci:

Freebox : lire une vidéo avec un fichier de sous-titres en DLNA depuis un NAS Synology photo

Synology : configuration du DLNA

Ensuite, il faut configurer le DLNA. Rendez-vous dans Main Menu > Media Server > DMA Compatibility où plusieurs réglages sont à effectuer:

Freebox : lire une vidéo avec un fichier de sous-titres en DLNA depuis un NAS Synology photo 1

On commence par cocher l’option “Enable customized MIME types. Voici la liste dont je dispose :

avi=video/x-ms-video,wav=audio/x-wav,m4v=video/mp4,mp4=video/mp4,mkv=video/x-msvideo,srt=plain/text,sub=plain/text

Ensuite, il faut cocher l’option “restrict access to Media Server for newly detected UPnP/DLNA devices”.

Lire la suite

Télécharger automatiquement les sous-titres d'un film ou d'une série avec VLC photo 2

Télécharger automatiquement les sous-titres d’un film ou d’une série avec VLC

logo-vlc

Si vous avez l’habitude de regarder des films ou des séries en version originale (VO) sur votre ordinateur avec VLC, voici une petite astuce qui devrait grandement vous faciliter la tâche…

En effet, qui n’a jamais rêvé de pouvoir récupérer les bons sous-titres avec le bon timing de la bonne langue qui correspond au bon fichier vidéo?

Et bien sachez que cela est possible en trois clics avec VLC. Suivez le guide !

Pré-requis : une version de VLC à jour

Tout d’abord, vous devez disposer d’une version de VLC récente, c’est-à-dire VLC 2.2.1+. Inutile d’essayer avec VLC 2.1.x qui est livrée avec Ubuntu 14.04 LTS, le module VLSub ne fonctionne pas avec cette version.

Pour les besoins de cet article et des captures d’écran, j’ai donc utilisé la version portable de VLC.

Mettez donc VLC à jour !

Charger à la volée les sous-titres d’une vidéo dans VLC

VLC permet maintenant de charger les sous-titres d’une vidéo en cours de lecture, sans les télécharger sur l’ordinateur.

Fini le temps où vous deviez rechercher le fichier de sous-titre, le télécharger, le dézipper puis le renommer pour qu’il soit détecté automatiquement par le lecteur.

Maintenant, tout se fait en quelques clics :

1. ouvrez votre fichier vidéo avec VLC et appuyez sur le bouton Lecture.

Télécharger automatiquement les sous-titres d'un film ou d'une série avec VLC photo 4

ouvrez le menu View > Download Subtitles:

Télécharger automatiquement les sous-titres d'un film ou d'une série avec VLC photo 1

Si vous avez un Mac, on trouve le menu dans VLC > Extensions > VLsub :

Télécharger automatiquement les sous-titres d'un film ou d'une série avec VLC photo

3. choisissez la langue des sous-titres voulue et cliquez sur le bouton “Search by hash”

4. VLC donne une liste des résultats, il vous suffit de sélectionner un sous-titre et cliquer sur le bouton “Download selection”:

Télécharger automatiquement les sous-titres d'un film ou d'une série avec VLC photo 3

4. VLC affiche le message “success : subtitles loaded” en vert en bas de la fenêtre

5. fermez la fenêtre VLSub et regardez votre film ou épisode sous-titré!

Télécharger automatiquement les sous-titres d'un film ou d'une série avec VLC photo 2

Notez que vous pouvez également rechercher par nom, numéro de saison ou numéro d’épisode.

Lire la suite

Lire un CD ou DVD de DivX avec la Freebox Revolution photo

Lire un CD ou DVD de DivX avec la Freebox

J’ai tenté de lire un DVD contenant des DivX hier sur ma Freebox Revolution. J’insère le disque dans le lecteur bluray, appuie sur Lecture et me retrouve avec un message d’erreur :

Impossible de lire le DVD

Pas cool ! En cherchant un peu, j’ai trouvé la solution à ce problème.

Lire un CD ou DVD sur la Freebox Revolution

Mettez le disque dans la fente du lecteur.

Mettez la Freebox sous tension.

Naviguez dans Bluray > Insérer le disque pour insérer le disque.

Attendez que l’option Lire le disque soit disponible mais ne cliquez pas dessus (important!).

Allez dans le menu à droite, Mes Disques, et sélectionnez le lecteur DVD.

Le contenu du disque DVD s’affiche, vous n’avez plus qu’à lancer votre fichier.

Je trouve cette fonctionnalité de la Freebox peu intuitive. Il faut vraiment veiller à bien respecter l’étape 4.

Webm, MPEG4, mp4, banner

Linux: convertir une video MPEG4 (mp4) au format Webm

Aujourd’hui, si veut publier une vidéo sur Internet qui soit lisible sur quasiment toutes les plateformes nativement, il peut être très intéressant d’utiliser le format WebM (proposé pour HTML5).

WebM est un format multimédia ouvert basé sur un conteneur dérivé de Matroska, qui regroupe des flux vidéos encodés en VP8 et des flux audios encodés en Vorbis1. Ce format fait partie des formats vidéos proposés pour la balise video de HTML5.

Après avoir encodé nos vidéos H.264 (MP4) avec qt-faststart pour la lecture progressive, nous allons désormais proposer deux formats de vidéo lorsque nous intégrerons nos propres vidéos : le MP4 (format propriétaire) et le WebM (format libéré) pour un accès universel sur toutes les plateformes.

Encoder une seule vidéo MP4 en WebM

Il suffit d’utiliser avconv comme ceci :

avconv -i example.mp4 example.webmCode language: CSS (css)

ce qui nous donne comme résultat :

avconv version 0.8.6-4:0.8.6-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers
  built on Apr  2 2013 17:02:36 with gcc 4.6.3
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'example.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp42avc1
    creation_time   : 2013-09-24 10:52:45
  Duration: 00:43:27.39, start: 0.000000, bitrate: 294 kb/s
    Stream #0.0(eng): Video: h264 (Main), yuv420p, 320x240, 217 kb/s, 14.97 fps, 14.97 tbr, 2500 tbn, 5k tbc
    Metadata:
      creation_time   : 2013-09-24 11:23:01
    Stream #0.1(eng): Audio: aac, 32000 Hz, stereo, s16, 73 kb/s
    Metadata:
      creation_time   : 2013-09-24 11:23:01
[buffer @ 0x183ec80] w:320 h:240 pixfmt:yuv420p
[libvpx @ 0x183a4c0] v1.0.0
Output #0, webm, to 'example.webm':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp42avc1
    creation_time   : 2013-09-24 10:52:45
    encoder         : Lavf53.21.1
    Stream #0.0(eng): Video: libvpx, yuv420p, 320x240, q=-1--1, 200 kb/s, 1k tbn, 14.97 tbc
    Metadata:
      creation_time   : 2013-09-24 11:23:01
    Stream #0.1(eng): Audio: libvorbis, 32000 Hz, stereo, s16
    Metadata:
      creation_time   : 2013-09-24 11:23:01
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libvpx)
  Stream #0:1 -> #0:1 (aac -> libvorbis)
Press ctrl-c to stop encoding
frame=39032 fps= 39 q=0.0 Lsize=   86385kB time=2607.34 bitrate= 271.4kbits/s    
video:63500kB audio:21841kB global headers:4kB muxing overhead 1.217530%Code language: PHP (php)

Cela prend un peu de temps suivant la taille du fichier mais c’est assez simple.

Encoder toutes les vidéos d’un dossier en Webm

Allez, plus efficace : voyons maintenant comment nous pouvons traiter tout un lot de fichiers. Nous allons encoder tous les fichiers MP4 d’un dossier pour faire des fichiers WebM.

Tout d’abord, on exporte la liste des fichiers à traiter dans un fichier nommé list :

ls -1 *.mp4 | sed -e 's:\.[^./]*$::' > listCode language: PHP (php)

La commande sed nous permet ici de récupérer la liste des fichiers tout en omettant l’extension des fichiers.

Ensuite, on lance une boucle qui convertit chaque fichier au format WebM :

for i in `cat list`; do avconv -i "$i".mp4 "$i".webm ; doneCode language: JavaScript (javascript)

Et voilà! Simple et efficace.

WordPress : récupérer la liste emails des membres et commentateurs photo

WordPress : retourner et exécuter un shortcode dans une fonction

Wordpress icon

Pour les besoins du Centre de Kriya Yoga France, j’ai écrit une fonction qui doit afficher une vidéo automatiquement.

Or je voulais juste renvoyer un shortcode vidéo qui prendrait en charge toute la partie code du lecteur vidéo.

On ne peut pas juste renvoyer la valeur, il faut utiliser la fonction do_shortcode() de WordPress.

Cas 1 : exécuter un shortcode dans une fonction

La solution réside dans l’utilisation de la fonction do_shortcode(). Voici un petit exemple :

<?php
/*
|-----------------------------------------------------------------------
| Sky Show Video by Matt - www.skyminds.net
|-----------------------------------------------------------------------
|
| Returns shortcode to be executed in WordPress.
|
*/
function sky_show_video($content) {
   // do stuff
   // return video
   return do_shortcode("[video src='$vid_url' width='600' height='480' type='video/mp4' preload='true']");
}Code language: HTML, XML (xml)

Cet exemple exécute le shortcode [video].

Lire la suite

Encoder une vidéo H.264 : utiliser qt-faststart pour la lecture progressive photo

Encoder une vidéo H.264 : utiliser qt-faststart pour la lecture progressive

Dernièrement, j’ai eu l’occasion de jouer avec l’intégration d’un lecteur vidéo en HTML5 pour jouer des vidéos encodées en H.264 (format .MP4) pour un client.

Il se trouve qu’aucune vidéo ne se lançait directement : le lecteur chargeait le fichier entièrement (plus de 60 Mo) avant de daigner jouer la vidéo.

h264-logo

La solution est toute simple : de la même manière que l’on peut créer un fichier JPG progressif (qui se charge de haut en bas, sans attendre le chargement total du fichier), il est possible de commencer à lire une vidéo sans que cette dernière soit totalement chargée, grâce à qt-faststart.

qt-faststart

qt-faststart  est un outil inclus avec FFmpeg qui ré-arrange un fichier H.264 de manière à ce que le “moov atom” soit devant les données, ce qui facilite la lecture sans attendre le chargement complet.

Si votre fichier MP4 est déjà créé, lancez la commande ainsi :

qt-faststart source_file.mp4 destination_file.mp4Code language: CSS (css)

Si vous souhaitez créer un fichier avec l’option faststart nativement, lancez l’encodage FFmpeg avec l’option :

-movflags +faststart 

Et voilà! Les vidéos streament proprement, avec une lecture progressive, sans attendre que le fichier complet soit téléchargé.

Encoder une vidéo dans un autre format avec WinFF photo 1

Encoder une vidéo dans un autre format avec WinFF

video converter icon

J’ai eu l’occasion de jouer avec Windows Movie Maker au collège dernièrement : on peut faire un montage photos/vidéos/musiques en quelques dizaines de minutes et le résultat est convaincant.

Par contre le format WMV… pas top pour l’intégration sur un site web.

Sur internet, force est de constater que c’est Flash qui prédomine dans la vidéo (en attendant l’hypothétique support d’HTML5 par tous les navigateurs dans quelques années).

Du coup, vous êtes peut-être amenés à encoder vos vidéos dans d’autres formats.

Lire la suite

mms

Ubuntu : capturer un flux MMS avec MiMMS

mms Pour l’article concernant le voyage en Angleterre 2010, j’ai eu à récupérer le reportage sur le site de l’émission “13h15 le samedi”. Étant donné qu’on ne connait pas vraiment le temps de rétention de ces émissions (qui disparaitront très certainement du site), il est bon de pouvoir en télécharger une copie.

Les flux MMS (Microsoft Media Server), un format de streaming propriétaire créé par Microsoft, n’ont rien à voir avec le Flash Video (FLV) que l’on trouve sur Youtube ou Dailymotion : on ne peut pas le sauvegarder facilement depuis son navigateur, il faut le capturer !

Lire la suite