Créer un MP4 pour un player Flash avec streaming

23 04 2011

Si vous utilisez un player Flash pour lire des vidéos stockées sur votre site web (comme par exemple avec DewTube), voici un script à utiliser en ligne de commande pour Linux (testé sous Ubuntu 10.10) qui permet de préparer une vidéo au format MP4 avec tout le nécessaire pour qu’elle puisse être lue en streaming.

Prérequis

Il va vous falloir les paquetages suivants :

  • x264, pour l’encodage du flux vidéo,
  • faac, pour l’encodage du flux audio,
  • ffmpeg, pour le multiplexage et l’ajout des informations nécessaires au streaming (avec l’utilitaire qt-faststart).

Un petit tour dans Synaptic et l’affaire est dans le sac.

Le script a été conçu pour se satisfaire des versions fournies en standard dans les paquetages d’Ubuntu et ne nécessite donc pas la recompilation de ffmpeg pour lui ajouter le support du x264.

Un des avantages de x264 par rapport à une autre solution c’est qu’il est capable d’utiliser plusieurs cœurs/processeurs pour encoder la vidéo.

Le script

Il est plutôt simple à utiliser : toflashmp4 <video en entrée>

Le script va encoder la vidéo au format MP4 et remplacer l’extension de la vidéo par mp4.

L’encodage vidéo est la partie qui prend le plus de temps. L’encodage audio, le multiplexage, l’ajout des informations pour les streaming sont rapides.

Sa conception est des plus simples : il s’agit d’un enchaînement de commandes qui est interrompu dès qu’une des commandes renvoie un code d’erreur. Cela permet sa modification pour l’adapter à des besoins spécifiques (options, paramètres particuliers, etc.)

#!/bin/bash

# Définition des variables
source="$1"
intermediairevideo="/tmp/$$-intermediairevideo.mp4"
intermediaireaudio="/tmp/$$-intermediaireaudio.m4a"
intermediaireaudiovideo="/tmp/$$-intermediaireaudiovideo.mp4"
destination="${source%.*}.mp4"

# Teste le résultat de la dernière commande et arrête le script s’il y a eu
# un problème. Les fichiers temporaires sont également nettoyés
function finsiprobleme {
  if [ $? -ne 0 ]
  then
    echo "Erreur !!!"
    rm "$intermediairevideo" "$intermediaireaudio" "$intermediaireaudiovideo" 2> /dev/null
    exit 1
  else
    echo "OK"
  fi
}

# Encode en MPEG-4 le flux vidéo de la source
echo -n "→ Encodage en MPEG-4 du flux vidéo de la source... "
x264 -o "$intermediairevideo" "$source" 2> /dev/null
finsiprobleme

# Encode en FAAC le flux audio de la source
echo -n "→ Encodage en FAAC du flux audio de la source... "
ffmpeg -i "$source" -acodec pcm_s16le -f wav - 2> /dev/null | faac -o "$intermediaireaudio" - 2> /dev/null
finsiprobleme

# Multiplexe les flux audio et vidéo
echo -n "→ Multiplexage des flux audio et vidéo... "
ffmpeg -i "$intermediairevideo" -vcodec copy -i "$intermediaireaudio" -acodec copy "$intermediaireaudiovideo" 2> /dev/null
finsiprobleme

# Ajoute les informations de streaming et produit la vidéo finale
echo -n "→ Ajout des informations pour le streaming... "
qt-faststart "$intermediaireaudiovideo" "$destination" > /dev/null 2> /dev/null
finsiprobleme

# Nettoie les fichiers intermédiaires
echo -n "→ Nettoyage des fichiers intermédiaires... "
rm "$intermediairevideo" "$intermediaireaudio" "$intermediaireaudiovideo" 2> /dev/null
finsiprobleme

# Fin
echo "La vidéo a été convertie !"




Rendu sous Cinelerra (encodage)

15 12 2010

Sous Cinelerra, une fois le montage réalisé, il faut générer la vidéo. L’idéal est de générer un master duquel on déclinera les différentes versions dont on a besoin (web, DVD, HD etc.).

Et c’est là que la galère commence…

Lire le reste de cette entrée »





Sony α55, vidéos MTS et Cinelerra

12 12 2010

Heureux possesseur d’un α55, j’ai eu des petits soucis pour pouvoir utiliser les vidéos qu’il produit sous Cinelerra (Ubuntu/Linux). Après quelques prises de tête, voici le résultat de mes recherches.

Lire le reste de cette entrée »





Comment faire un bon score à Plock ?

14 11 2009

Plock est un jeu Flash accessible via FaceBook. Le but est de supprimer le plus possible de blocs de couleur identique en une minute. Il n’y a pas vraiment de temp accordé à la stratégie, seuls des réflexes et un œil de lynx vous seront d’un grand secours. Et pour les daltoniens, c’est pas évident puisque tout est basé sur la couleur.

Pour vous faire une petite idée, voici à quoi ressemble l’aire de jeu :

L’aire de jeu de Plock

L’aire de jeu de Plock

À partir de ça, comment faire un bon score ?

Lire le reste de cette entrée »





Encoder une vidéo pour l’ARPP

23 06 2009

L’ARPP est l’Autorité de Régulation Professionnelle de la Publicité, anciennement BVP, Bureau de Vérification de la Publicité. Si vous devez transmettre une publicité pour une diffusion sur une chaîne nationale (par exemple France 3), vous devez fournir la vidéo dans un format très précis.

Voici comment le générer sous Ubuntu (Linux).

Lire le reste de cette entrée »





Strange low gust enregistre

17 05 2009

Le groupe Strange low gust (metal, fusion, hardcore) a entamé sa première phase d’enregistrement.

Lire le reste de cette entrée »





Génération des fichiers *.toc pour Cinelerra

14 05 2009

Si vous utilisez Cinelerra pour monter des vidéos HD, ce script va vous intéresser.

Lire le reste de cette entrée »