Le blog de Jean David TECHER, un Réunionnais à Saint-Priest/Lyon

Aller au contenu | Aller au menu | Aller à la recherche


< 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 >

vendredi 7 octobre 2011

FFmpeg/Dialog:: Barre de progression de conversion vidéo sous Shell grâce à Dialog

Pour les habitués de FFmpeg, avoir une petit barre de progression vidéo, c'est toujours plus intéressant et plus ergonomique que les informations de conversion renvoyées par FFmpeg. J'ai donc tenté de voir s'il existait des solutions à ce sujet.

J'avais voulu le faire en testant le projet http://ffmpegprogress.sourceforge.net.. Manque de bol ca n'a pas marché sur mon serveur.

Finalement je me suis résigné à pouvoir le faire depuis dialog. Comme mon but est d'avoir une petite barre de progression pour la conversion, j'ai finalement trouvé une petite astuce à http://ftp.traduc.org/doc-vf/gazette-linux/html/2004/101/lg101-P.html. En effet, sur cette page une astuce est proposée pour simuler une bar de progression.

Du coup, je me suis fait un petit script shell en recourant donc à dialog et à l'astuce proposée .

1. Pré-requis

  • Il faut installer dialog
    apt-get install dialog
  • avoir Ffmpeg déjà installé

2. Exemple





3. Le script shell utilisé

Voici le script
FFMPEG_PATH="/opt/multimedia-testing-4/bin/ffmpeg";
FFMPEG_INPUT="/www/test/0.1-Beta/janadefi-daywith03.wmv";
FFMPEG_OUTPUT="/www/test/0.1-Beta/janadefi-daywith03.mp4";
FFMPEG_ARGUMENTS="-acodec libaacplus -ac 2 -ar 44100 -ab 64k -vcodec libx264 -crf 22  -threads 0 -b 550k -qmin 10 -qmax 30 -threads 0 -y";


FFMPEG_LOG="/tmp/ffmpeg_$$.log";
TIME_LOG="/tmp/ffmpeg_times_$$.log";

${FFMPEG_PATH} -i ${FFMPEG_INPUT} ${FFMPEG_ARGUMENTS} ${FFMPEG_OUTPUT} > ${FFMPEG_LOG} 2>&1 &

sleep 4;

Duration=$(grep Duration ${FFMPEG_LOG} | awk '{print$2}'|awk -F ":" '{printf("%d",$1*60+$2*60+$3);}')

Pourcentage=0;

(
while [ ${Pourcentage} -lt 100 ]
do
	grep 'time=' ${FFMPEG_LOG} > ${TIME_LOG}; 

	sed -i "s:.*time=::g;s: .*::g" ${TIME_LOG};

	OnTime=$(awk -F ":" '{printf("%d",$1*60+$2*60+$3);}' ${TIME_LOG});

	Pourcentage=$(awk -v OnTime=${OnTime} -v Duration=${Duration} '{printf("%d\n",OnTime/Duration*100);}' ${TIME_LOG});

	echo "${Pourcentage}"
	echo "XXX"
	echo "Informations\n\n* Input [${FFMPEG_INPUT}]\n  Duration = ${Duration} secondes\n  Size = $(du -hs ${FFMPEG_INPUT} | awk '{print$1}')\n\n* Output [${FFMPEG_OUTPUT}]\n  Duration = ${OnTime} secondes\n  Size = $(du -hs ${FFMPEG_OUTPUT} | awk '{print$1}')"
	echo "XXX"

	sleep 1;
done
) |
/usr/bin/dialog --title "FFMPEG Conversion" --gauge "Progress Bar FFmpeg" 20 90 0
Remarques concernant une éventuelle adaptation du script
  1. La variable FFMPEG_PATH est à adapter à votre path vers votre FFmpeg;
  2. sleep 4 a été mis afin de marquer une courte pause le temps que FFmpeg se lance pour effectuer les premières secondes de conversion;
  3. Pour gtkdialog, les valeurs 20 90 0 sont à adapter aux dimensions de votre fenêtre de terminal.

lundi 3 octobre 2011

Mug personalisé d'un DBA PostgreSQL

1. Photos du mug

Un mug pour attaquer comme il faut la journée quand on sirote le premier café du matin au boulot (le premier d'une longue série), notamment quand on a des bases à reloader ou des réplications à faire. Au lieu de me contenter d'un simple mug avec les logos de PostgreSQL et de Slony donnant l'allure d'un mug corporate et hyper-classique, deux photos supplémentaires de Jana Defi renforcent la pertinence de la personnalisation.

Mug: Côté gauche

Mug: Vu du mileu

Mug: Côté droit

2. Choix des photos?

  1. PostgreSQL au centre car c'est ce qui m'a permis de perser professionnellement depuis 2003! Slony car c'est sur quoi je travaille aujourd'hui.
  2. Les deux photos de Jana Defi:
    • Cliché artistique prise par un photgraphe professionnel, dénotant une petite touche artistique pour me rappeler que même au niveau professionnel, je peux suis très rigoureux dans mon travail et tentent de livrer un travail de qualité. Expérience accumulée au cours de plusieurs années (...)
    • Photos sombres qui ne dévoilent pas tout car comme tout bon DBA qui se respecte, j'ai aussi mes recettes de cuisine (tuning etc...) que je ne dévoile pas forcément.
That's all.

Jana Defi: Mugs personnalisés

Je sais que depuis bien longtemps que Jana Defi sait retirer du mileu du Web depuis bien longtemps. Histoire de fêter mes dix ans en France métropolitaine, j'ai décidé de casser la tirelire, histoire de me faire un peu plaisir et de m'offrir 3 mugs à l'effigie de la belle Jana. Et donc je n'ai pas résisté à l'idée de m'offrir 3 petits mugs. Donc j'ai passé commande, il y a 15 jours de celà. Sur zazzle.com, ils m'ont un peu casser les couilles avec leurs questions à la con! Du coup, j'ai passé commande directement depuis zazzle.fr et c'est passé nickel.

Arrivé à la maison sur les coups de 19h00-19h30, le colis est arrivé aujourd'hui. Je sais pas comment le facteur s'y est pris mais la boîte faisait pile-poil les dimensions de ma boîte aux lettres


Le colis avant déballement
Et hop, les 3 mugs en question

Les 3 mugs en question
Voici en détail le premier

1er mug: Côté droit

1er mug: Côté gauche
Et le second mug

2nd mug: Côté gauche

2nd mug: Vu du mileu

2nd mug: Côté droit

Je suis comme ça! Depuis avril 2006, c'est ma petit muse à moi. Cinq dans e fidélité: toujours la même en fond d'écran sur tous mes ordinateurs. Là au moins, je l'aurais et la verrais au petit matin en sirotant mon café .

Elle a eu son heure de gloire. Au lieu de tenter de perser vue la rude concurrence qui existe sur le Web, elle s'est retirée pour des raisons qui lui sont personnels. Et je trouve qu'elle a bien fait

Slony: Primary Keys for Slony-I

Requête obligatoire pour checker les tables qui n'ont pas de clé primaire avant d'effectuer un create set ou subscribe set
SELECT tablename 
FROM pg_tables 
WHERE tablename NOT IN 
 (SELECT r.relname
 FROM pg_class r, pg_constraint c
 WHERE r.oid = c.conrelid
 AND c.contype = 'p'
 )
AND schemaname = '?????;
Source: http://www.kennygorman.com/wordpress/?p=241