Ffmpeg : conversion impossible

Bonjour,
voici mon problème : je souhaite convertir des vidéos du format .MTS en .MPG (DVD) ainsi que des fichiers son de .VMA en .MP3. Ca parait tout con mais je galère.

Voici ce que j’ai fait pour l’instant :
J’ai installé ffmpeg et winff via synaptic sans soucis et sélectionné le fichier de pré-réglages “presets-libavcodec52-v5.xml” pour avoir les préréglages qui m’intéressaient dans winff.

C’est ensuite que ça se corse : lorsque que je veux convertir un fichier vidéo, j’obtiens le message suivant :

[code]cg@debian:~$ /usr/bin/ffmpeg -i “/home/cg/Vidéos/00004.MTS” -f dvd -vcodec mpeg2video -r 25.00 -s 352x576 -aspect 4:3 -b 4000kb -mbd rd -trellis -mv0 -cmp 2 -subcmp 2 -acodec mp2 -ab 192kb -ar 48000 -ac 2 -ss 00:01:00 -t 00:00:30 "/home/cg/Vidéos/00004.mpg"
FFmpeg version SVN-r0.5.2-4:0.5.2-6, Copyright © 2000-2009 Fabrice Bellard, et al.
configuration: --extra-version=4:0.5.2-6 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --enable-shared --disable-static
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 1 / 52.20. 1
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
libavfilter 0. 4. 0 / 0. 4. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Oct 5 2010 08:33:07, gcc: 4.4.5
[h264 @ 0x80c5fb0]missing picture in access unit
[ac3 @ 0x80e8bf0]frame sync error
[h264 @ 0x80c5fb0]missing picture in access unit
[mpegts @ 0x80b3a60]Could not find codec parameters (Audio: ac3, 0 channels, s16)
Input #0, mpegts, from ‘/home/cg/Vidéos/00004.MTS’:
Duration: 00:00:01.95, start: 0.501111, bitrate: 13191 kb/s
Program 1
Stream #0.0[0x1011]: Video: h264, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 50 tbr, 90k tbn, 50 tbc
Stream #0.1[0x1100]: Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s
Output #0, dvd, to ‘/home/cg/Vidéos/00004.mpg’:
Stream #0.0: Video: mpeg2video (hq), yuv420p, 352x576 [PAR 24:11 DAR 4:3], q=2-31, 4000 kb/s, 90k tbn, 25 tbc
Stream #0.1: Audio: mp2, 48000 Hz, stereo, s16, 192 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press [q] to stop encoding
[h264 @ 0x80c5fb0]missing picture in access unit0000000000.00 bitrate= 0.0kbits/s
frame= 0 fps= 0 q=0.0 Lsize= 0kB time=10000000000.00 bitrate= 0.0kbits/s
video:0kB audio:0kB global headers:0kB muxing overhead -nan%

[/code]

Quand je vérifie la liste des formats supporté et des codecs installés pour ffmpeg il me semble que rien ne manque et je n’arrive pas à comprendre le sens de “missing picture in access”…

J’ai alors tenté de convertir un fichier audio de wma en mp3 et cette fois j’obtiens ceci :

cg@debian:~$ ffmpeg -i "/media/Maxi/Musique/Musique du Monde/Musique brésilienne/Gilberto Gil/The soul of Brazil/Vamos fugir.wma" -acodec libmp3lame -ab 160kb -ac 2 -ar 44100 "/home/cg/Vidéos/Vamos fugir.mp3" FFmpeg version SVN-r0.5.2-4:0.5.2-6, Copyright (c) 2000-2009 Fabrice Bellard, et al. configuration: --extra-version=4:0.5.2-6 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --enable-shared --disable-static libavutil 49.15. 0 / 49.15. 0 libavcodec 52.20. 1 / 52.20. 1 libavformat 52.31. 0 / 52.31. 0 libavdevice 52. 1. 0 / 52. 1. 0 libavfilter 0. 4. 0 / 0. 4. 0 libswscale 0. 7. 1 / 0. 7. 1 libpostproc 51. 2. 0 / 51. 2. 0 built on Oct 5 2010 08:33:07, gcc: 4.4.5 Input #0, asf, from '/media/Maxi/Musique/Musique du Monde/Musique brésilienne/Gilberto Gil/The soul of Brazil/Vamos fugir.wma': Duration: 00:04:46.71, start: 1.579000, bitrate: 129 kb/s Stream #0.0: Audio: wmav2, 44100 Hz, stereo, s16, 128 kb/s Unknown encoder 'libmp3lame'
Alors que le paquet libmp3lame0 est installé

Avez vous des idées ?
Quels paquets faut-il installer pour effectuer ces 2 conversions?
Y a t"il des conflits dans mes paquets installés ?

Merci de vos réponses.

Il semblerait que ma version de ffmpeg ne supporte pas l’encodage en AAC et n’utilise pas le codec libmp3lame (alors que les paquets libfaac0 et libfaac-dev sont bien présents) :

ffmpeg -formats | grep aac
FFmpeg version SVN-r0.5.2-4:0.5.2-6, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --extra-version=4:0.5.2-6 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --enable-shared --disable-static
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Oct  5 2010 08:33:07, gcc: 4.4.5
 D  aac             raw ADTS AAC
 D A    aac             Advanced Audio Coding


Comment faire pour activer libfaac et libmp3lame ?

PS : j’ai tenté de compiler ffmpeg à partir des sources mais c’était encore pire, ffplay n’étant plus du tout présent…
PS-2 : j’ai comme l’impression que ça n’intéresse pas grand monde…

Bonjour,

Le ffmpeg de Debian ne supporte pas le aac et le mp3 par defaut.

Pour pouvoir l’avoir il faut soit recuperer ffmpeg depuis debian-multimedia au risque de voir certaines applications utilisant ffmpeg de ne plus focntionner ou de reconstruire le paquet de ffmpeg via les sources de Debian.

Merci pour ta réponse Micky979
J’ai bien les dépôts debian-multimédia activés dans mon sources.list, donc j’ai bien accès aux bibliothèques pour l’encodage et le décodage des mp3 et du format aac.
Je vais essayer de recompiler ffmpeg à partir des dépôts debian mais je ne vois pas pourquoi ça marcherait mieux que de le compiler à partir de la version récupérée avec git sur le site ffmpeg.org…bref, je n’arrive pas trop à entrevoir de solution valable.

Bonjour,

Que retourne cette commande :

Voici une methode rapide pour recompiler ffmpeg :

Essentiel :

Installation des packages requis par defaut

Activation des modules extra

Recupération des sources de ffmpeg

cd /usr/local/src/ mkdir ffmpeg cd ffmpeg debcheckout ffmpeg

Increment du numéro de version

cd ffmpeg dch -v "$(dpkg-parsechangelog --format dpkg | grep '^Version' | sed 's/^Version: \(.*\)$/\1b/')" "Activation extra"

Compilation de ffmpeg

Bonjour, merci micky pour les infos précises.

Pour préciser un peu la situation :

  • j’avais mis les dépôts debian.multimedia avec une priorité à 500 dans mon fichier préférences car la version VLC de ces dépôts était apparemment en conflit avec certaines bibliothèques des dépôts debian (je crois que c’est libavutil50 qui pose problème).

Si j’essaye d’installer la version ffmpeg issue des depôts debian.multimedia, il me propose du coup d’installer libavutil50 donc pas cool…

J’ai donc tenté ta méthode pour recompiler ffmpeg à partir des src.

J’ai par contre un souci de dépendances non trouvées lors de la phase de compilation :

dpkg-checkbuilddeps : dépendances de construction non trouvées : librtmp-dev (>= 2.2e-4) libsdl1.2-dev libva-dev libvpx-dev
dpkg-buildpackage: avertissement: Dépendances de construction et conflits non satisfaits ; échec.
dpkg-buildpackage: avertissement: (Utilisez l'option -d pour forcer.)

J’ai des versions plus récentes de certains paquets dont dépendent les paquets listés ci dessus suite à l’installation de libreoffice et openshot par les dépôts de wheezy ce qui explique que je ne peux pas installer ces dépendances.

Faut il forcer avec l’option -d ou est ce que je dois absolument trouver une solution pour installer ces dépendances quand même (quitte à devoir supprimer libreoffice et openshot) ?

Bonjour,

Les sources sur les git de Debian sont peut etre trop recente par rapport à tes paquets.

Voici une autre méthode :

cd /usr/local/src/ffmpeg/ mv ffmpeg ffmpeg.sv apt-get source ffmpeg=$(apt-cache policy ffmpeg | egrep 'Candidat' | sed 's/^.*: //'g) cd ffmpeg-* dch -v "$(dpkg-parsechangelog --format dpkg | grep '^Version' | sed 's/^Version: \(.*\)$/\1b/')" "Activation extra" dpkg-buildpackage -us -uc -b

Je ne suis pas sur du nom du repertoire pour ffmpeg-*

Si ca ne focntionne toujours pas donne le resultat de cette commande :

Je crois que je vais pas t’ aider mais as-tu testé avec avidemux ?

Salut Micky, c’est mieux avec ta 2ème méthode mais il y a toujours une dépendance qui coince :

root@debian:/usr/local/src/ffmpeg/ffmpeg-0.5.2# dpkg-buildpackage -us -uc -b dpkg-buildpackage: export de CFLAGS depuis dpkg-buildflags (origine : vendor): -g -O2 dpkg-buildpackage: export de CPPFLAGS depuis dpkg-buildflags (origine : vendor): dpkg-buildpackage: export de CXXFLAGS depuis dpkg-buildflags (origine : vendor): -g -O2 dpkg-buildpackage: export de FFLAGS depuis dpkg-buildflags (origine : vendor): -g -O2 dpkg-buildpackage: export de LDFLAGS depuis dpkg-buildflags (origine : vendor): dpkg-buildpackage: paquet source ffmpeg dpkg-buildpackage: version source 4:0.5.2-6b dpkg-buildpackage: source changé par root <root@debian> dpkg-buildpackage: architecture hôte i386 dpkg-source --before-build ffmpeg-0.5.2 dpkg-checkbuilddeps : dépendances de construction non trouvées : libsdl1.2-dev dpkg-buildpackage: avertissement: Dépendances de construction et conflits non satisfaits ; échec. dpkg-buildpackage: avertissement: (Utilisez l'option -d pour forcer.)

Et voici ce que me donne apt-cache policy ffmpeg :

ffmpeg: Installé : 4:0.5.2-6 Candidat : 4:0.5.2-6 Table de version : 5:0.6.1+svn20101128-0.2 0 500 http://www.debian-multimedia.org/ squeeze/main i386 Packages *** 4:0.5.2-6 0 900 http://ftp2.fr.debian.org/debian/ squeeze/main i386 Packages 100 /var/lib/dpkg/status

Pour info, si ça peut aider, voici ce qu’aptitude me renvoit si j’essaye d’installer le paquet manquant :

[code]aptitude install libsdl1.2-dev
Les NOUVEAUX paquets suivants vont être installés :
libaa1-dev{a} libartsc0-dev{a} libaudio-dev{a} libaudiofile-dev{a} libavahi-client-dev{a}
libavahi-common-dev{a} libcaca-dev{a} libdbus-1-dev{a} libdirectfb-dev{a} libdirectfb-extra{a}
libesd0-dev{a} libgl1-mesa-dev{a} libglib2.0-dev{ab} libglu1-mesa-dev{a} libice-dev{a}
libncurses5-dev{a} libpulse-browse0{a} libpulse-dev{a} libsdl1.2-dev libslang2-dev{a} libsm-dev{a}
libsvga1-dev{a} libsysfs-dev{a} libxt-dev{a} mesa-common-dev{a}
0 paquets mis à jour, 25 nouvellement installés, 0 à enlever et 10 non mis à jour.
Il est nécessaire de télécharger 11,3 Mo d’archives. Après dépaquetage, 37,8 Mo seront utilisés.
Les paquets suivants ont des dépendances non satisfaites :
libglib2.0-dev: Dépend: libglib2.0-0 (= 2.24.2-1) mais 2.28.6-1 est installé.
Les actions suivantes permettront de résoudre ces dépendances :

 Conserver les paquets suivants dans leur version actuelle :
  1. libartsc0-dev [Non installé]                             
    
  2. libglib2.0-dev [Non installé]                            
    
  3. libpulse-dev [Non installé]                              
    
  4. libsdl1.2-dev [Non installé]                           [/code]
    

Si je refute cette solution voici ce qu’il me propose en seconde option :

[code]Les actions suivantes permettront de résoudre ces dépendances :

  Supprimer les paquets suivants :                                                                
  1.  libgdk-pixbuf2.0-0                                                                            
    
  2.  libreoffice                                                                                   
    
  3.  libreoffice-base                                                                              
    
  4.  libreoffice-base-core                                                                         
    
  5.  libreoffice-calc                                                                              
    
  6.  libreoffice-common                                                                            
    
  7.  libreoffice-core                                                                              
    
  8.  libreoffice-draw                                                                              
    
  9.  libreoffice-emailmerge                                                                        
    
  10. libreoffice-filter-binfilter                                                                  
    
  11. libreoffice-filter-mobiledev                                                                  
    
  12. libreoffice-gnome                                                                             
    
  13. libreoffice-gtk                                                                               
    
  14. libreoffice-help-fr                                                                           
    
  15. libreoffice-impress                                                                           
    
  16. libreoffice-java-common                                                                       
    
  17. libreoffice-math                                                                              
    
  18. libreoffice-report-builder-bin                                                                
    
  19. libreoffice-style-galaxy                                                                      
    
  20. libreoffice-style-tango                                                                       
    
  21. libreoffice-writer                                                                            
    
  22. libtextcat-data                                                                               
    
  23. libtextcat0                                                                                   
    

    Installer les paquets suivants :

  24. libeggdbus-1-0 [0.6-1 (now, stable)]                                                          
    
  25. libgsf-1-114 [1.14.18-1 (now, stable)]                                                        
    
  26. libgsf-1-common [1.14.18-1 (stable)]                                                          
    
  27. openoffice.org-common [1:3.2.1-11+squeeze2 (stable)]                                          
    
  28. openoffice.org-core [1:3.2.1-11+squeeze2 (stable)]                                            
    
  29. openoffice.org-style-galaxy [1:3.2.1-11+squeeze2 (stable)]                                    
    

    Réinstaller à une version antérieure les paquets suivants :

  30. libgail18 [2.24.4-3 (now) -> 2.20.1-2 (stable)]                                               
    
  31. libglib2.0-0 [2.28.6-1 (now) -> 2.24.2-1 (stable)]                                            
    
  32. libgtk2.0-0 [2.24.4-3 (now) -> 2.20.1-2 (stable)]                                             
    
  33. libgtk2.0-bin [2.24.4-3 (now) -> 2.20.1-2 (stable)]                                           
    
  34. libpolkit-agent-1-0 [0.101-4 (now) -> 0.96-4 (stable)]                                        
    
  35. libpolkit-backend-1-0 [0.101-4 (now) -> 0.96-4 (stable)]                                      
    
  36. libpolkit-gobject-1-0 [0.101-4 (now) -> 0.96-4 (stable)]                                      
    
  37. librsvg2-2 [2.32.1-1 (now) -> 2.26.3-1 (stable)]                                              
    
  38. librsvg2-common [2.32.1-1 (now) -> 2.26.3-1 (stable)]                                         
    
  39. libwmf0.2-7 [0.2.8.4-8 (now) -> 0.2.8.4-6.1+b1 (stable)]                                      
    
  40. policykit-1 [0.101-4 (now) -> 0.96-4 (stable)]                                                
    
  41. python-uno [1:3.3.2-2 (now) -> 1:3.2.1-11+squeeze2 (stable)]                                  
    
  42. uno-libs3 [1.7.0+LibO3.3.2-2 (now) -> 1.6.1+OOo3.2.1-11+squeeze2 (stable)]                    
    
  43. ure [1.7.0+LibO3.3.2-2 (now) -> 1.6.1+OOo3.2.1-11+squeeze2 (stable)]                          
    

    Laisser les dépendances suivantes non satisfaites :

  44. openoffice.org-common recommande libtextcat-data-utf8                                         
    
  45. libreoffice-writer recommande libreoffice-math                                                
    
  46. libreoffice-help-fr recommande libreoffice-core (> 1:3.3.2) | language-support-translations-fr
    
  47. libreoffice-l10n-fr recommande libreoffice-core (> 1:3.3.2) | language-support-translations-fr
    

[/code]

Du coup j’ai l’impression qu’en revenant à openoffice le problème de dépendance pourrait se régler non ? (ça m’ennuie mais si c’est le simple pour pouvoir bénéficier d’un ffmpeg fonctionnel, j’attendrais que libreoffice fasse son apparition dans les backports de suqeeze…).

Merci encore pour ton aide précieuse Micky.

@nanard : merci pour le tuyau, je préfèrerais rester sur ffmpeg (je ne connais pas bien avidemux, le concept d’enchainement des fichiers à encoder me plait bien sous ffmpeg).

Bonjour,

Je ne comprend pas ceci :

A priori, tu n’es que en Squeeze (version 2.24.2-1) mais tu as un paquet de unstable de installé (version 2.28.6-1). As tu eu pendant un temps, les depots de Testing ou Unstable d’actif ?

Tu as plusieurs solutions :

  • Installé libsdl1.2-dev sans les paquets recommandé, pas sur que ce soit mieux :
  • Supprimé le paquet libsdl1.2-dev du fichier debian/control de ffmpeg mais cela bloquera certainement quelques fonctionnalité du paquet ffmpeg
  • Installé libsdl1.2-dev de Testing ou Unstable ce qui devrait te permettre de conserver libreoffice.
  • Accepté de supprimé libreOffice et revenir à OpenOffice

finalement j’ai supprimé libreoffice pour revenir à openoffice (en fait j’ai supprimé tout les pacquets qui n’était pas de squeeze) et ça fonctionne.
Merci pour ton aide Micky979