Catégories
Gstreamer Open-source Systeme Video

Maintenir à jour FFMpeg et X.264 sous Ubuntu

Dans la série petits scripts permettant de gagner du temps, je vous présente ffmpeginstall.sh et ffmpegupdate.sh. Ils se basent sur un post du forum Ubuntu qui est régulièrement mis à jour à chaque version d’Ubuntu.

  1. ffmpeginstall.sh permet d’installer les dernières versions de FFMpeg (svn) et du codec X.264 (git) à partir des sources.
  2. ffmpegupdate.sh permet de mettre à jour ces deux logiciels à partir des sources.

Suivi des modifications:

  • 26/04/2010: Scripts version 0.1 (validé sous Ubuntu 9.10 et 10.04)

Récupération des scripts

On commence par récupérer les scripts:

[shell]

mkdir ~/src

cd ~/src

wget http://svn.nicolargo.com/ubuntupostinstall/trunk/ffmpeginstall.sh

wget http://svn.nicolargo.com/ubuntupostinstall/trunk/ffmpegupdate.sh

chmod a+ ffmpeg*.sh

[/shell]

Lancement des scripts

Pour une installation initiale:

[shell]

cd ~src

./ffmpeginstall.sh

[/shell]

Pour une mise à jour:

[shell]

cd ~src

./ffmpegupdate.sh

[/shell]

Le résultat

[shell]

ffmpeg -version
FFmpeg version SVN-r22965, Copyright (c) 2000-2010 the FFmpeg developers
built on Apr 26 2010 16:57:27 with gcc 4.4.3
configuration: –enable-gpl –enable-version3 –enable-nonfree –enable-postproc –enable-pthreads –enable-libfaac –enable-libfaad –enable-libmp3lame –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-libtheora –enable-libx264 –enable-libxvid –enable-x11grab

x264 –version
x264 0.94.1564 a927654
built on Apr 26 2010, gcc: 4.4.3

[/shell]

Et si je veux revenir avec les versions systèmes ?

Rien de plus simple, il suffit de saisir la commande suivante:

[shell]

sudo apt-get remove x264 ffmpeg build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libfaad-dev libmp3lame-dev libsdl1.2-dev libtheora-dev libx11-dev libxfixes-dev libxvidcore-dev zlib1g-dev

[/shell]

Je suis preneur de tout retour/amélioration sur ces scripts…

Catégories
Developpement Open-source

RabbitVCS, le TortoiseSVN pour Linux

Il y a peu de logiciels Windows que j’envie sous mon environnement Linux. TortoiseSVN en fait parti. C’est une petit logiciel libre qui ajoute à votre menu contextuel (bouton droit) toute une série d’actions pour gérer vos dépôts SVN. Je viens heureusement de tomber sur le projet RabbitVCS qui apporte exactement les mêmes fonctionnalités sous Linux.

TortoiseSVN vs RabbitVCS

Catégories
Open-source Web

Pino, un client twitter et identi.ca

J’utilise régulièrement mes comptes Twitter et Identi.ca pour diffuser des informations que je trouve pertinentes. En plus de l’indispensable plugin Firefox TwitterBar, j’aime Twitter et consulter mes twitts à partir d’un client « lourd », intégré à mon environnement GNU/Linux. Jusqu’à aujourd’hui j’utilisai Gwibber, qui avait l’énorme avantage d’être installé de base avec la distribution Ubuntu.

Cependant, je trouve le logiciel lourd à utiliser et pas forcement très stable dans ma configuration. J’ai donc décidé de donner sa chance à Pino, un nouveau projet du même acabit.

Installation de Pino

On commence par ajouter le dépôt PPA suivant pour disposer de la dernière version:

[shell]

sudo add-apt-repository ppa:vala-team/ppa
sudo add-apt-repository ppa:troorl/pino

[/shell]

Ensuite on met à jour la liste des dépôts et on installe le logiciel:

[shell]

sudo aptitude update

sudo aptitude install pino

[/shell]

Le logiciel peut alors être lancé par le menu Applications > Internet > Pino

Configuration de Pino pour Twitter & Identi.ca

Au premier lancement, Pino va vous demander les informations sur vos comptes Twitter et Identi.ca (il est bien sur possible de n’utiliser qu’un seul de ces services…).

Lien vers les comptes Twitter et Identi.ca

Utilisation de Pino

Affichage des messages:

Diffusion d’un nouveau message sur Twitter:

Conclusion

Après quelques jours d’utilisation, la sentence est sans appel, Pino est beaucoup plus rapide et stable  (alors qu’il n’est qu’en version 0.2.5) que Gwibber (aptitude remove gwibber). Je l’ai donc ajouté dans mon script post install Ubuntu :).

Catégories
Open-source Video

Compiler la dernière version de X.264 sous Ubuntu

Si vous avez besoin de la toute dernière version de X.264, l’encodeur libre H.264 du groupe de travail VideoLAN, voici une procédure « out-of-the-box ».

On commence par supprimer la version système si celle-ci existe, puis a installer quelques pré-requis:

[shell]
sudo aptitude purge gpac x264 libx264-dev
sudo apt-get install build-essential zlib1g-dev libglut-dev checkinstall
[/shell]

On compile GPAc (qui permet de gérer les fichiers au format .mp4):

[shell]
cd
wget http://superb-east.dl.sourceforge.net/sourceforge/gpac/gpac-0.4.5.tar.gz
wget http://voxel.dl.sourceforge.net/sourceforge/gpac/gpac_extra_libs-0.4.5.tar.gz

tar -zxf gpac-0.4.5.tar.gz
tar -zxf gpac_extra_libs-0.4.5.tar.gz
cd gpac_extra_libs
cp -r * ../gpac/extra_lib
cd ../gpac
chmod +x configure
./configure –disable-opengl –use-js=no –use-ft=no –use-jpeg=no –use-png=no –use-faad=no –use-mad=no –use-xvid=no –use-ffmpeg=no –use-ogg=no –use-vorbis=no –use-theora=no –use-openjpeg=no
make lib
make apps
sudo make install-lib
sudo make install
sudo rm -f /usr/lib/libgpac.so
sudo cp bin/gcc/libgpac.so /usr/lib
[/shell]

Puis on installe la dernière version (GIT) de X.264:

[shell]

cd
git clone git://git.videolan.org/x264.git
cd x264
./configure
make
sudo checkinstall –pkgname=x264 –pkgversion "1:0.svn`date +%Y%m%d`+`git rev-list HEAD -n 1 | head -c 7`" –backup=no –default
[/shell]

On teste pour voir si la version est bonne (release 1523 au moment de l’écriture de ce billet):

[shell]

x264 –help
x264 core:92 r1523 25ca5b0
Syntax: x264 [options] -o outfile infile [widthxheight]

[/shell]

Sources:

Catégories
Musique Open-source

Tester son installation audio Hi-Fi

J’aime la musique, elle m’accompagne tout au long de la journée. Quelle soit rock, pop, classique, électronique peut importe… tant que le son est bon ! Nous sommes à un tournant au niveau des supports de diffusion de la musique au grand public. Le bon vieux CD laisse petit à petit sa place aux fichiers informatiques. Au revoir support physique et bienvenue au monde dématérialisé ou les frontières en terme de qualité sont repoussées aux limites de nos oreilles.

Nous allons voir dans ce billet quels sont les impacts de cette petite révolution sur le rendu final en nous focalisant sur des logiciels et des formats libre.

Catégories
Reseau Web

Partager ses fichiers entre Linux, Mac, Windows, iPhone et Android

Je vais vous parler d’un service en ligne que beaucoup d’entre vous doivent connaitre et utiliser: Dropbox. Il permet de maintenir synchroniser un répertoire de votre disque dur entre plusieurs ordinateurs et ceci quelques soient leurs systèmes d’exploitations: GNU/Linux, Mac OS X, IPhone/Ipad, Android ou Windows (et bientôt Blackberry).

J’ai réalisé que c’était une des premières applications que j’installais sur mes nouvelles machines (le logiciel est intégré dans mon script de post installation Ubuntu). Après seulement 1 an d’utilisation, Dropbox est devenu avec Gmail et Google Reader un service en ligne dont j’aurai le plus grand mal de me séparer…

Installation de Dropbox

C’est simple, il faut d’abord créer gratuitement un compte qui vous donne droit à un espace de stockage de 2 Go (qu’il est ensuite possible d’augmenter moyenant finance, là est leur business model).  Ensuite lors de l’installation du logiciel Dropbox sur votre ordinateur, ce compte (login et password) vous sera demandé ainsi que le répertoire (que l’on appellera « la dropbox ») de votre disque dur à synchroniser (par défaut~/Dropbox).

Comment marche Dropbox ?

A partir de ce moment, tous les fichiers/répertoires de « la dropbox » seront synchronisés sur un serveur en ligne. On a donc dans un premier temps une simple fonction de sauvegarde de vos données (ce qui n’est déjà pas si mal).C’est en installant le logiciel Dropbox sur une deuxième machine que l’on bénéficie de la puissance de ce service.

En effet, toutes les données seront synchronisées par rapport au serveur. On se retrouve donc avec la même « dropbox » sur les deux machines. Il n’y a pas de limite au nombre de machines que l’on peut synchroniser.

Il est également possible de consulter et d’ajouter des fichier de votre Dropbox en ligne (via un simple navigateur Web).

Les +/- de Dropbox

Les + :

  • Grande simplicité d’installation
  • Utilisation transparente (on y pense plus et on a les données sur toutes ses machines…)
  • Espace de stockage de 2 Go gratuit sur le serveur
  • La fonction « Sync LAN » (active par défaut) permet de faire la synchronisation directement entre vos machines si elles sont connectées au même réseau local.
  • Possibilité de partager un répertoire avec d’autres personnes.

Les :

  • Le logiciel Dropbox n’est pas distribué sous licence « libre »
  • Vos données sont stockées sur un serveur, donc attention aux données sensibles/personnelles (rien ne vous empêche de chiffrer ces données).
  • L’offre payante est un chère à mon goût (environ 100€/an pour 50 Go, 200€/an pour 100 Go)
  • Pas d’assurance que le service de base restera gratuit… mais on a le même problème avec GMail ou Ubuntu One…

Pour vous inscrire et tester Dropbox, suivre ce lien !

Catégories
Open-source Systeme

Pense-bête: lignes de commandes

Voici un nouvel article que je vais faire évoluer dans le temps au fil de mes découvertes. Le but est d’y centraliser (avec un classement par thème) les lignes de commandes Unix utiles et que j’ai toujours beaucoup de mal à retenir (c’est l’âge mon bon monsieur).

Lecteurs, vous êtes libre d’enrichir cette base avec vos commentaires.

Fichiers & répertoires

Affiche la taille d’un répertoire en octets.

Syntaxe:

[shell]

du -sh /mon/path | awk ‘{print $1}’

[/shell]

Exemple:

[shell]

du -sh /usr/local/ |awk ‘{print $1}’

375M

[/shell]

Système

Ajoute un dépôt PPA sous Ubuntu (9.04 ou supérieur).

Syntaxe:

[shell]

sudo add-apt-repository ppa:nicolargo

[/shell]

Exemple:

[shell]
gpg: requête de la clé CEC06767 du serveur hkp keyserver.ubuntu.com
gpg: clé CEC06767: clé publique « Launchpad Nicolargo PPA » importée
gpg: Quantité totale traitée: 1
gpg:               importée: 1  (RSA: 1)
[/shell]

Réseau

Affiche les informations sur sa carte réseau.

Syntaxe:

[shell]

sudo mii-tool -v

[/shell]

Exemple:

[shell]

eth0: negotiated 100baseTx-FD flow-control, link ok
product info: vendor 00:50:43, model 11 rev 1
basic mode:   autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising:  100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
link partner: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control

[/shell]

Affiche son adresse IP publique.

Syntaxe:

[shell]

curl -s http://checkip.dyndns.org/ | grep -o "[[:digit:].]\+"

[/shell]

Exemple:

[shell]

89.122.166.229

[/shell]

Affiche les ports réseau en écoute sur sa machine.

Syntaxe:

[shell]

sudo lsof -Pni4 | grep LISTEN

[/shell]

Exemple:

[shell]

sshd        912  root    3u  IPv4    4255      0t0  TCP *:22 (LISTEN)
netserver  1355  root    4u  IPv4    5747      0t0  TCP *:12865 (LISTEN)
ntop       1456  ntop    1u  IPv4    6080      0t0  TCP *:3000 (LISTEN)
master     1549  root   12u  IPv4    6175      0t0  TCP *:25 (LISTEN)
cupsd      1644  root    6u  IPv4  649219      0t0  TCP 127.0.0.1:631 (LISTEN)
beam.smp   2256  labo   16u  IPv4   11238      0t0  TCP 127.0.0.1:44732 (LISTEN)
dropbox   15432  labo   19u  IPv4  227846      0t0  TCP *:17500 (LISTEN)

[/shell]

Tester sa connectivité réseau de bout en bout avec mtr (ping+traceroute).

Syntaxe:

[shell]

mtr www.google.fr

[/shell]

Exemple:

Audio/video

Encoder un VOB DVD vers un OGG Theora en qualité correcte.

Syntaxe:

[shell]
ffmpeg2theora -V 900 -x 540 –first-pass log input.vob -o output.ogv</code>  <code>; ffmpeg2theora -V 900 -x 540 –second-pass log input.vob -o output.ogv
[/shell]

Exemple:

A vous de sheller…

Catégories
Open-source Reseau Systeme

Installation d’un serveur NTP sous Ubuntu

Si vous disposez de plusieurs machines sur votre réseau, il peut, dans certains cas être intéressant de les synchroniser sur une date et une heure commune (par exemple pour de l’analyse de fichiers de log). Les systèmes d’exploitation modernes utilisent maintenant le protocole NTP pour se synchroniser via le réseau IP.

C’est quoi donc NTP ?

Le principe général est simple: on configure le client NTP pour aller demander à un serveur NTP l’heure de référence à quelques millisecondes (ou dizaines de millisecondes) près. En fait la résolution théorique est de 233 ps, mais en pratique la précision est limité par la variabilité des latences réseau. Le client peut alors modifier sa date système en concéquence. Cette description simpliste est à nuancer par le fait que le protocole NTP est basé sur une architecture en arbre.

Par exemple, sur un système d’exploitation GNU/Linux de type Debian ou Ubuntu, il suffit de saisir la commande suivante pour faire appel à un serveur NTP secondaire (ntp.ubuntu.com définie dans le fichier /etc/default/ntpdate):

[shell]

sudo ntpdate-debian

15 Mar 10:11:01 ntpdate[5406]: adjust time server 91.189.94.4 offset 0.038837 sec

[/shell]

Nous allons voir maintenant comment installer un serveur de temps NTP sur votre réseau qui pourra continuer de servir de référence même en cas de coupure de votre liaison Internet.

Catégories
Open-source Web

Firefox 3.7 sous Ubuntu (dépôts)

Après Firefox 3.6.5, c’est la version 3.7 qui prendra le relai des navigateurs Web de Mozilla.  Selon PC INpact, la principale nouveauté de cette version est l’intégration de la technologie d’Electrolysis:

 » Electrolysis a pour objectif principal de permettre à Firefox l’utilisation de tous les cœurs disponibles dans la machine. La grande majorité des machines vendues aujourd’hui dispose d’au moins deux cœurs d’exécution, sinon quatre. Le navigateur ne peut en utiliser qu’un seul. Ainsi, lors de l’affichage de certaines pages, la charge peut grimper à 100 % et déclencher la pleine vitesse du ventilateur, en particulier dans un ordinateur portable. »

Il est déjà possible de tester cette nouvelle version (qui est actuellement en développement) sous son système d’exploitation GNU/Linux Ubuntu en suivant la procédure suivante.

On commence par ajouter le dépôts PPA officiel (les « daily builds » de Mozilla):

[shell]

sudo add-apt-repository ppa:ubuntu-mozilla-daily

sudo aptitude update

[/shell]

Ensuite on installe Firefox 3.7 (qui peut cohabiter avec des versions antérieures) avec la commande:

[shell]

sudo aptitude install firefox-3.7

[/shell]

Il ne reste plus qu’a lancer le navigateur en allant dans le menu « Applications » (Internet/Minefield 3.7 Web Browser) ou en ouvrant un terminal et en lancant la commande:

[shell]

firefox-3.7

[/shell]

Et voilà le travail !

Catégories
Open-source Reseau Systeme

Clamav, un antivirus libre sous GNU/Linux

Clamav est un antivirus sous licence libre (GPL) bien connu sur les environnements Windows. Ce que l’on sait moins, c’est qu’il est également disponible sur nos systèmes GNU/Linux. J’attend déjà des lecteurs qui tempêtent en disant, à juste titre, qu’à l’heure actuelle, il n’y pas ou peu de virus sur ce type de système Unix. Pourquoi s’embêter à développer des virus compliqués sur un système ayant une part de marché de l’ordre de 1% alors qu’il est facile d’en concevoir sur les systèmes occupant les 99% restant…

Ce constat mis à part, il est possible que des virus spécifiques (comme des virus s’attaquant à des serveurs, ou la part de marché des système GNU/Linux est bien plus importante) fassent leurs apparitions dans les prochaines années, quoi que l’on en dise il est tout à fait possible de développer un virus pour GNU/Linux. De plus dans les systèmes d’information modernes, la communication et l’échange des données entre les mondes Windows et GNU/Linux sont de plus en plus fréquentes. Quoi de plus désagréable pour un utilisateur GNU/Linux d’envoyer à un utilisateur Windows un fichier vérolé qui va corrompre son « beau » système…

Nous allons donc voir comment installer et utiliser Clamav sur un système GN/Linux Ubuntu.

Installation de Clamav

Par chance, Clamav et les bases de Virus sont dans les dépôts officiels:

[shell]aptitude install clamav[/shell]

Utilisation de Clamav

Scan d’un répertoire:

[shell]
clamscan -r

———– SCAN SUMMARY ———–
Known viruses: 676913
Engine version: 0.95.3
Scanned directories: 78
Scanned files: 1224
Infected files: 0
Data scanned: 196.17 MB
Data read: 208.18 MB (ratio 0.94:1)
Time: 51.808 sec (0 m 51 s)
[/shell]

Et hop, à automatiser dans crontab ou dans vos applications…