# [HOWTO] Convertir une video vers le format 3GP

## loopx

Voici un petit tuto que j'ai placé aussi sur mon site ...

Il traite de la conversion de video vers le format 3GP (tant sous Windows XP que sous Gentoo Linux)

http://pix-mania.dyndns.org/web_plugin/documentation/DocumentationServlet?action=showpage&id=4

Vos commentaires sont toujours les bien venu



Si le lien est mort, voici une copie de la doc :

Convertir une video en 3GP

Affiché 65 fois, révision 32, dernière mise à jour le 28/03/2008 21:38:25

Objectif

Convertir une video au format 3GP. Ce format vidéo utilise un codec AUDIO et VIDEO assez particulier; il est courament utilisé sur les GSM et autre petit appareil "tout en un".

Prérequis

- un GSM (ou autre) (bah, ca sert à rien sinon ^^)

- un PC

- un cable ou autre pour transférer la vidéo sur le GSM

- Ri4m (pour l'utilisation sous Windows)

- FFMPEG (pour l'utilisation sous Linux)

- les codecs de la video source installé sur votre Windows (sinon, on sais pas ouvrir cette video pour la convertir)

Informations sur 3GP

Le format 3GP est un format MPEG-4 simplifié pour les appareils mobiles. Il permet, contrairement aux codecs DIVX, XVID et autres, le stockage de video assez longue sur un zone de stockage bien plus petite. Exemple avec un clip video de 48Mo qui ne pèse plus que 2Mo après avoir été convertie.

Il faut savoir que pour pouvoir lire une video 3GP sur un GSM, il va déjà falloir changer le format de votre vidéo "source" mais aussi, fortement diminuer le nombre de pixel définissant l'image (128x96, 176x144 ou 320x240) dépendant des capacités matériels de votre GSM. Pour convertir une video vers le format 3GP, ces étapes devront être réalisé par un programme :

- changement de la résolution (ex: de 640x480 => 176x144)

- re-encodage de la video (ex: de XVID => H263)

- re-encodage de la piste audio (ex: MP3 => AMR)

Ces 3 étapes, crutiales, permettent chacune une forte diminution de la taille de la vidéo "source", mais aussi de la qualité!

Une video 3GP est un fichier dont l'extention est ".3gp".

Note: que ce soit sous Linux ou sous Windows, le programme qui converti réellement la vidéo est "FFMPEG". Ce dernier provient de Linux mais fonctionne aussi sous Windows (c'est lui qui va demander certain fichier ".dll" devant être rajouté par après; ce sont des librairies Linux portées sous Windows).

1. Convertir une video en 3GP avec Windows XP

1.1. Téléchargement des fichiers nécessaires

Vous aurez besoin de ceci pour parvenir à convertir une video sous Windows :

- Ri4m (version complète 5.0.1d)

- Ri4m (mise à jour vers la version 5.0.3)

- Ri4m (pack PSP/iPod/3GP)

- 2x fichier ".dll"

Attention: la liste ci-dessus ne tiens pas compte des prérequis pour la lecture de la video "source" SANS passer par l'utilisation de VCL (qui n'utilise aucun codec!). Merci de vérifier la présence de ces codecs avant de se plaindre que rien ne fonctionne! La video que vous voulez convertir dois passer dans un lecteur "banal" tel que Winamp par exemple ... Si ce n'est pas le cas, c'est qu'il manque un codec sur votre Windows!

Note: pour ceux qui n'ont pas ces codecs, il serait peut être intéressant d'installer le pack fourni sur le site de Ri4m, à savoir : pack de codecs Ripp-it (actuellement, version 4.2.6). Il contient une série de codec courament utilisé.

Je vous recommande, dans un premier temps, de tester sans ce dernier pack; si vous avez des problèmes de lecture/ouverture, essayer de l'installer ou, installer les codecs un à un (DIVX, XVID, OGG, ...).

Tout les fichiers Ri4m se trouve à cette adresse :

http://www.ripp-it.com/down/telecharger_ripp-it_Ri4m_pack_de_codecs.html

Les 2 fichiers ".dll" se trouve sur mon serveur à cette adresse :

[aucun espace réservé à cette effet, veuillez demaner à google de trouver ces 2 fichiers : "cygwin1.dll" et "cygz.dll"]

Les deux fichiers DLL doivent être copié dans le répertoire "dlls" de l'installation "Ripp-it_AM" (qui provient de la version complète de Ri4m).

1.2. Installation des logiciels

Vous devez installer les logiciels précédament téléchargé. Merci de conserver le même ordre que lors du téléchargement!

Les DLL doivent être copiés sous le répertoires "dlls" de l'installation de Ri4m.

1.3. Utilisation

- démarrer le programme "Ripp-it_AM" (Ri4m)

- dans la partie "Pour les experts", cliquer sur "Ré-encoder un film"

- dans la nouvelle fenêtre, cliquer sur "Choisir vidéo" en rouge (en haut à droite)

Si vous obtenez ce message :

    "Attention, le chemin de votre film comporte un caractère "spécial"

Veuillez tenir compte de cette "erreur" et renomer votre film (ou les répertoires dans lesquels il se trouve) pour qu'il ne contienne plus de caractères spéciaux. Dans le cas contraire, des erreurs pourrait survenir lors de la conversion).

Vérifier que la video est bien reconnue: à gauche du bouton "Choisir vidéo", il doit y avoir un résumé des informations sur la video. Si il est indiqué, pour le son ou la video, "no sound" ou "no video", c'est qu'il vous manque un codec sur Windows et que la lecture de ce format est donc impossible. Veuillez installer le codec manquant pour pouvoir convertir la video/audio de votre fichier.

Pour convertir la video en 3GP, cliquer sur le bouton "3GP" dans le menu de gauche (le bouton doit être "rose" sinon, votre installation n'est pas correct) :

- pour la vidéo, sélectionner "h263"

- choisisser la résolution désirée

- pour l'audio, sélectionner "AMR" (prenez le nombre le plus élevé)

- en bas à gauche, sélectionner "3GP"

Cliquer sur "Ok" une fois terminé. Vous êtes maintenant prêt à convertir la video en 3GP. Cliquer sur le bouton "Lancer le réencodage" (en bas à droite) pour démarrer la convertion.

Note: selon la puissance de votre ordinateur ainsi que la taille de la video, cela peut prendre plus ou moins de temps; ne soyez pas trop pressé donc!

Note: votre vidéo se trouve, en principe, à coté de la video "source"  :Smile: 

2. Convertir une video en 3GP avec Gentoo Linux

2.1. Installation des logiciels

Pour continuer, il vous fait :

- ffmpeg : (qui est le convertisseur)

Avant d'installer, vérifier la présence de ces USE flags :

- encode

- amr

(je ne compte pas les USE nécessaire pour la lecteure, qui dépend du format de la video "source" devant être convertie)

Pour installer, faites ceci :

# emerge ffmpeg

2.2. Vérification de l'installation

Vérifier que FFMPEG connait bien les formats suivant :

- amr

- h263

Pour ce faire, utiliser les commandes suivante :

# ffmpeg -formats | grep amr

# ffmpeg -formats | grep h263

Ce qui doit donner un truc ainsi :

loop ~ # ffmpeg -formats | grep amr

FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.

  configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-static --enable-shared --cc=i686-pc-linux-gnu-gcc --disable-altivec --disable-debug --disable-audio-oss --disable-dv1394 --disable-ffplay --disable-opts --enable-libmp3lame --enable-libvorbis --enable-libogg --enable-libtheora --enable-libogg --enable-liba52 --enable-pthreads --enable-libxvid --enable-x11grab --enable-libogg --enable-libfaad --enable-libfaac --enable-libamr-nb --enable-libamr-wb --enable-gpl --enable-pp --enable-swscaler --disable-strip

  libavutil version: 49.4.0

  libavcodec version: 51.40.4

  libavformat version: 51.12.1

  built on Nov 21 2007 18:22:00, gcc: 4.1.2 (Gentoo 4.1.2)

 DE amr             3gpp amr file format

 DEA    libamr_nb

 DEA    libamr_wb

loop ~ # ffmpeg -formats | grep h263

FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.

  configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-static --enable-shared --cc=i686-pc-linux-gnu-gcc --disable-altivec --disable-debug --disable-audio-oss --disable-dv1394 --disable-ffplay --disable-opts --enable-libmp3lame --enable-libvorbis --enable-libogg --enable-libtheora --enable-libogg --enable-liba52 --enable-pthreads --enable-libxvid --enable-x11grab --enable-libogg --enable-libfaad --enable-libfaac --enable-libamr-nb --enable-libamr-wb --enable-gpl --enable-pp --enable-swscaler --disable-strip

  libavutil version: 49.4.0

  libavcodec version: 51.40.4

  libavformat version: 51.12.1

  built on Nov 21 2007 18:22:00, gcc: 4.1.2 (Gentoo 4.1.2)

 DE h263            raw h263

 DEVSDT h263

 D VSD  h263i

  EV    h263p

even though both encoding and decoding are supported. For example, the h263

decoder corresponds to the h263 and h263p encoders, for file formats it is even

Dans l'exemple précédant, ceci affiche que le format est bien connu :

DE amr             3gpp amr file format

 DEA    libamr_nb

 DEA    libamr_wb

 DE h263            raw h263

 DEVSDT h263

 D VSD  h263i

  EV    h263p

2.3. Utilisation

Pour la convertion de video en 3GP, nous n'avons besoin que de FFMPEG. Pour plus de facilité, veuillez créer un petit script (trouvé sur le forum Gentoo) :

3gp-encoder.sh :

#!/bin/bash

filein=$1

fileout=$2

#Check ffmpeg's compilation flags before using this script

#

#Valid sizes are 128x96, 176x144, 352x288, 704x576, and 1408x1152. Try H.263+.

#

ffmpeg -i "${filein}" -f 3gp -vcodec h263 -qmin 3 -qmax 5 -acodec libamr_nb -ar 8000 -ab 10.2k -ac 1 -s 176x144 -r 12 "${fileout}.3gp"

echo "fini  :Smile: "

Après avoir créé ce script, il faut le rendre exécutable :

$ chmod +x 3gp-encoder.sh

Vous pouvez maintenant convertir vos vidéo. Procéder comme ceci :

$ ./3gp-encoder.sh FICHIER_A_CONVERTIR NOM_DU_FICHIER_3GP

Voici un exemple :

loopx@loop ~/Desktop/3GP $ ls -l

total 66245

-rwxr-xr-x 1 loopx users      491 mar 26 21:38 3gp-encoder.sh

-rw-r----- 1 loopx users 67763192 jan 12  2007 the_prodigy-voodoo_people_(pendulum_remix)-dvdrip-svcd-2005-mvz.mpg

loopx@loop ~/Desktop/3GP $ ./3gp-encoder.sh the_prodigy-voodoo_people_\(pendulum_remix\)-dvdrip-svcd-2005-mvz.mpg test

FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.

  configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-static --enable-shared --cc=i686-pc-linux-gnu-gcc --disable-altivec --disable-debug --disable-audio-oss --disable-dv1394 --disable-ffplay --disable-opts --enable-libmp3lame --enable-libvorbis --enable-libogg --enable-libtheora --enable-libogg --enable-liba52 --enable-pthreads --enable-libxvid --enable-x11grab --enable-libogg --enable-libx264 --enable-libfaad --enable-libfaac --enable-libamr-nb --enable-libamr-wb --enable-gpl --enable-pp --enable-swscaler --disable-strip

  libavutil version: 49.4.0

  libavcodec version: 51.40.4

  libavformat version: 51.12.1

  built on Mar 26 2008 20:50:14, gcc: 4.2.3 (Gentoo 4.2.3 p1.0)

Input #0, mpeg, from 'the_prodigy-voodoo_people_(pendulum_remix)-dvdrip-svcd-2005-mvz.mpg':

  Duration: 00:03:14.0, start: 0.220000, bitrate: 2793 kb/s

  Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 480x576, 2496 kb/s, 25.00 fps(r)

  Stream #0.1[0x1c0]: Audio: mp2, 44100 Hz, stereo, 224 kb/s

Output #0, 3gp, to 'test.3gp':

  Stream #0.0: Video: h263, yuv420p, 176x144, q=3-5, 0 kb/s, 25.00 fps(c)

  Stream #0.1: Audio: libamr_nb, 8000 Hz, mono, 10 kb/s

Stream mapping:

  Stream #0.0 -> #0.0

  Stream #0.1 -> #0.1

Press [q] to stop encoding

[h263 @ 0xb7d7c708]warning, clipping 1 dct coefficients to -127..127kbits/s

[h263 @ 0xb7d7c708]warning, clipping 1 dct coefficients to -127..127

[h263 @ 0xb7d7c708]warning, clipping 1 dct coefficients to -127..127kbits/s

[h263 @ 0xb7d7c708]warning, clipping 1 dct coefficients to -127..127

frame= 4869 fps=135 q=31.0 Lsize=    5033kB time=194.7 bitrate= 211.7kbits/s

video:4697kB audio:257kB global headers:0kB muxing overhead 1.592219%

fini  :Smile: 

loopx@loop ~/Desktop/3GP $ ls -lh

total 70M

-rwxr-xr-x 1 loopx users  491 mar 26 21:38 3gp-encoder.sh

-rw-r--r-- 1 loopx users 5,0M mar 26 21:40 test.3gp

-rw-r----- 1 loopx users  65M jan 12  2007 the_prodigy-voodoo_people_(pendulum_remix)-dvdrip-svcd-2005-mvz.mpg

L'exemple précédant utilise une video de prodigy; le fichier de sortie est "test" mais le script va rajouter l'extention ".3gp" donc un fichier "test.3gp" sera créé si tout se passe bien.

Noter que le script peut être modifier pour modifier certain paramètre de la video 3GP :

- "-s" : la résolution de la video (128x96, 176x144, 352x288, 704x576, 1408x1152)

- "-ab" : débit de la piste audio (4.75k, 5.15k, 5.9k, 6.7k, 7.4k, 7.95k, 10.2k, 12.2k)

- "-r" : nombre d'image par secondes (fps). 12 par défaut pour les GSM actuel, sera à 25/30  dans le futur.

Note:

- le taux d'échantillonage audio est de 8000Hz uniquement!

Voilou, vous savez maintenant convertir vos vidéo  :Smile: 

Noter la simplicité, contrairement à Windows, niveau "installation". Il est par contre domage qu'il n'y ai pas de belle application graphique pour faire la convertion hors d'une console...

---------------

 --- THE END ---

 ---------------

----------

## Mickael

Salut, le lien est mort, cassé  : enfin ça merde  :Wink: 

Tu peux le mettre ici le tuto.

----------

## loopx

réparé .. problème sur ma plateforme .... 

Non je le met pas ici parce que si ca change, ben faudra changer à 2 endroits différents ...

----------

## yoyo

 *loopx wrote:*   

> réparé .. problème sur ma plateforme .... 
> 
> Non je le met pas ici parce que si ca change, ben faudra changer à 2 endroits différents ...

 Alors pourquoi ne pas le mettre ici : ça tévite la maintenance de ta plateforme et pérennise le tuto.   :Razz: 

Enjoy !

----------

## loopx

 *yoyo wrote:*   

>  *loopx wrote:*   réparé .. problème sur ma plateforme .... 
> 
> Non je le met pas ici parce que si ca change, ben faudra changer à 2 endroits différents ... Alors pourquoi ne pas le mettre ici : ça tévite la maintenance de ta plateforme et pérennise le tuto.  
> 
> Enjoy !

 

Ici, tu trouvera un "raccourci" vers le document  :Wink: 

Puis, comme dis dans un autre HOWTO, c'est pour pas faire "doublon"   :Wink: 

EDIT: la plateforme n'est pas sencé planté   :Very Happy:  (la, ctais parce que mon / était full ... j'étais en pleine upgrade)

----------

## geekounet

 *loopx wrote:*   

> EDIT: la plateforme n'est pas sencé planté   (la, ctais parce que mon / était full ... j'étais en pleine upgrade)

 

Ouais enfin c'est tout de même codé en Java hein, donc faut s'attendre à tout ;p

----------

## kwenspc

 *geekounet wrote:*   

> 
> 
> Ouais enfin c'est tout de même codé en Java hein, donc faut s'attendre à tout ;p

 

Tant que c'est pas du php on va pas trop critiquer  :Wink: 

----------

