Outils pour utilisateurs

Outils du site


convertir_une_video_3gp

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
convertir_une_video_3gp [2025/12/25 12:04] – [Prérequis] Flazconvertir_une_video_3gp [2025/12/25 14:10] (Version actuelle) – [Convertir une vidéo 3gp] Flaz
Ligne 1: Ligne 1:
-====== Convertir une vidéo 3gp ====== +====== Convertir une vidéo 3gp/amr en mpeg4/aac ======
- +
-<note important>J'ai réussi à convertir les images mais pas le son.</note> +
 ===== Cas d'utilisation ===== ===== Cas d'utilisation =====
-J'ai reçu une vidéo via MMS au format 3gp. Je souhaite la convertir dans un autre format.+J'ai reçu une vidéo via MMS au format //3gp//. Je souhaite la visionner sur mon ordi.
  
 La vidéo contient un flux audio au format //amr//. La vidéo contient un flux audio au format //amr//.
Ligne 26: Ligne 23:
   Stream #0:1[0x2](und): Video: h263 (s263 / 0x33363273), yuv420p, 176x144 [SAR 12:11 DAR 4:3], 59 kb/s, 10 fps, 10 tbr, 600 tbn (default)   Stream #0:1[0x2](und): Video: h263 (s263 / 0x33363273), yuv420p, 176x144 [SAR 12:11 DAR 4:3], 59 kb/s, 10 fps, 10 tbr, 600 tbn (default)
 </code> </code>
 +
 +===== Lecture =====
 +Dans mon cas, la lecture sur ordi du fichier 3gp restitue bien la vidéo mais **le son est massacré**, le rendant inaudible.
 +
 +Je décide convertir le fichier vers un format que mon ordi lit correctement.
  
 ===== Conversion ===== ===== Conversion =====
 +Je n'ai pas trouvé le moyen de tout faire en une seule commande :-\ Je procède en 3 étapes :
 +  - extraction de la piste vidéo seule
 +  - extraction de la piste audio seule
 +  - assemblage des deux pistes
 ==== Prérequis ==== ==== Prérequis ====
 //ffmpeg// doit être installé et doté d'un codec //amr//. Sur Debian 12, les paquetages de codecs suivants sont installés :  //ffmpeg// doit être installé et doté d'un codec //amr//. Sur Debian 12, les paquetages de codecs suivants sont installés : 
Ligne 33: Ligne 39:
   * //libopencore-amrnb0//,   * //libopencore-amrnb0//,
   * //libopencore-amrwb0//.   * //libopencore-amrwb0//.
-==== Lecture ==== +
-Dans mon cas, la lecture sur ordi du fichier 3gp restitue bien la vidéo mais **le son est massacré**, le rendant inaudible.+
 ==== Conversion ==== ==== Conversion ====
 +
 +Extraction vidéo :<code>ffmpeg -i mon-fichier.3gp -an -vcodec copy mon-fichier-video.3gp</code>
 +
 +Extraction audio :<code>ffmpeg -i mon-fichier.3gp -map 0:a -acodec copy mon-fichier-audio.amr</code>
 +
 +Combinaison audio et vidéo :<code>ffmpeg -i mon-fichier-video.3gp -i mon-fichier-audio.amr mon-fichier.mp4</code>
 +Rotation sans réencodage (si besoin) :<code>ffmpeg -i mon-fichier.mp4 -map_metadata 0 -metadata:s:v rotate="90" -codec copy mon-fichier-mod.mp4</code>
 +
 +=== Script ===
 +Un script de conversion (sans rotation) permet de simplifier l'opération.
 +<code> 3gp2mp4.sh mon-fichier.3gp</code>
 +<file bash 3gp2mp4.sh>
 +#!/bin/bash
 +# Convertit un fichier 3gp/amr en mpeg4/aac
 +# Fonctionne en chemin absolu ou relatif et depuis un script
 +# Utilisation : 3gp2mp4 (<chemin-vers-mon-fichier.3gp> | <mon-fichier.3gp>)
 +
 +repertoire="$(dirname "$1")"
 +radical="$(basename "$1")"
 +root=${radical%.*}
 +ext=${radical#"$root"}
 +ffmpeg -i $1 -an -vcodec copy "$repertoire/${root}-video${ext}"
 +ffmpeg -i $1 -map 0:a -acodec copy "$repertoire/${root}-video.amr"
 +ffmpeg -i "$repertoire/${root}-video${ext}" -i "$repertoire/${root}-video.amr" "$repertoire/${root}.mp4"
 +rm "$repertoire/${root}-video${ext}" "$repertoire/${root}-video.amr"
 +</file>
 +===== Résultat =====
 +<code>
 +  Metadata:
 +    major_brand     : isom
 +    minor_version   : 512
 +    compatible_brands: isomiso2avc1mp41
 +    encoder         : Lavf59.27.100
 +  Duration: 00:00:42.10, start: 0.000000, bitrate: 80 kb/s
 +  Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 176x144 [SAR 12:11 DAR 4:3], 40 kb/s, 10 fps, 10 tbr, 10240 tbn (default)
 +    Metadata:
 +      handler_name    : Core Media Video
 +      vendor_id       : [0][0][0][0]
 +      encoder         : Lavc59.37.100 libx264
 +    Side data:
 +      displaymatrix: rotation of 90.00 degrees
 +  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 8000 Hz, mono, fltp, 38 kb/s (default)
 +    Metadata:
 +      handler_name    : SoundHandler
 +      vendor_id       : [0][0][0][0]
 +
 +</code>
 +===== Ce qui n'a pas fonctionné =====
 La commande typique pour convertir le fichier en //mpeg4// / //mp3// encapsulé dans un conteneur //avi// est la suivante : La commande typique pour convertir le fichier en //mpeg4// / //mp3// encapsulé dans un conteneur //avi// est la suivante :
 <code>ffmpeg -i mon-fichier.3gp -vcodec mpeg4 -acodec mp3 movie.avi</code> <code>ffmpeg -i mon-fichier.3gp -vcodec mpeg4 -acodec mp3 movie.avi</code>
 La vidéo convertie est exploitable mais le son est toujours inutilisable (il produit d'autres bruits qu'en la lecture au format natif). La vidéo convertie est exploitable mais le son est toujours inutilisable (il produit d'autres bruits qu'en la lecture au format natif).
  
-Diverses tentatives d'extraction du son seul donnent également des résultats inexploitables.+Diverses tentatives d'extraction-conversion du son seul donnent également des résultats inexploitables. 
 +<code>
 ffmpeg -i mon-fichier.3gp -ar 22050 mon-fichier.mp3 ffmpeg -i mon-fichier.3gp -ar 22050 mon-fichier.mp3
 ffmpeg -i mon-fichier.3gp -ar 8000 mon-fichier.mp3 ffmpeg -i mon-fichier.3gp -ar 8000 mon-fichier.mp3
convertir_une_video_3gp.1766664243.txt.gz · Dernière modification : de Flaz