Tecnologia e non solo

dicembre 15, 2011

ffmpeg 0.9 e Debian sid

Filed under: Debian,Sid,Video — telperion @ 6:45 pm

Se usate il repository Debian multimedia, in questi giorni è arrivata l’ultima versione di ffmpeg la 0.9.
Ovviamente essendo le librerie condivise, ed essendo cambiate alcune cose in ffmpeg, si verificano alcuni inconvenienti.

Totem resta in pausa sui file wmv e rmbv.
Soluzione:
scaricato il sorgente di gstreamer0.10-ffmpeg

apt-get source gstreamer0.10-ffmpeg

eliminato in debian rules la riga
--with-system-ffmpeg \
in modo che usi la versione inclusa, aggiornato il pacchetto in
gstreamer0.10-ffmpeg_0.10.12-0.0+1mc
compilato, installato, e ora tutto funziona, senza fracassare gli zebedei.

Tragtor

La sintassi di -map è cambiata, da -map 0.0 a -map 0:0
Creata la patch:

--- a/tragtor/usr/share/tragtor/tragtor.py	2011-12-03 22:22:02.000000000 +0100
+++ b/tragtor/usr/share/tragtor/tragtor.py	2011-12-15 17:59:47.000000000 +0100
@@ -2030,7 +2030,7 @@
             for i in range(0, len(self._videoStreams)):
                 if self._videoStreams[i]["active"]:
                     mapping1 += " -map "
-                    mapping1 += "%s.%s" % (self._videoStreams[i]["file"],
+                    mapping1 += "%s:%s" % (self._videoStreams[i]["file"],
                                           self._videoStreams[i]["ID"])
                     if defvideo:
                         defvideo = False
@@ -2040,7 +2040,7 @@
             for i in range(0, len(self._audioStreams)):
                 if self._audioStreams[i]["active"]:
                     mapping2 += " -map "
-                    mapping2 += "%s.%s" % (self._audioStreams[i]["file"],
+                    mapping2 += "%s:%s" % (self._audioStreams[i]["file"],
                                           self._audioStreams[i]["ID"])
                     if defaudio:
                         defaudio = False

applicata al file /usr/share/tragtor/tragtor.py (in realtà ho fatto un nuovo pacchetto), e tutto rifunziona allegramente.

EDIT

Anche il parsing della dimensione in pixel dei file avi è cambiata, occorre cambiare anche:

--- a/tragtor/usr/share/tragtor/tragtor.py	2011-12-16 13:51:34.000000000 +0100
+++ b/tragtor/usr/share/tragtor/tragtor.py	2011-12-16 19:55:05.061963635 +0100
@@ -1613,7 +1613,7 @@
                     me = re.search("\A(([0-9A-Za-z])+),", substr.strip())
                     if me:
                         array["method"] = me.group(1)
-                    sz = re.search("(([0-9]+)x([0-9]+))", substr)
+                    sz = re.search("(([1-9][0-9]+)x([0-9]+))", substr)
                     if sz:
                         array["size"] = sz.group(1)
                     fr = re.search("([0-9]{1,2}(\.[0-9]{0,2}){0,1}) (fps|tb)(\([cr]\)){0,1}", substr)

e poi sembra che (finalmente) funziona tutto.

Per avere la corretta opzione di pad e crop di default per ffmpeg 0.9, Fitro Video (w:h:x:y:) senza bisogno di impostarla ad ogni apertura di tragtor, un’ultima patch:

--- a/tragtor/usr/share/tragtor/tragtor.py	2011-12-16 20:24:42.774202098 +0100
+++ b/tragtor/usr/share/tragtor/tragtor.py	2011-12-16 21:21:50.935165003 +0100
@@ -164,7 +164,7 @@
         _OPENCOMMAND = False
     
     _settingsCPU = 1
-    _videoFilter = 0
+    _videoFilter = 2
         
     _inFiles = []
     _videoStreams = []

Attenzione, con queste patch applicate tragtor funzionerà correttamente solo con ffmpeg 0.9.

Per mplayer, xbmc, handbrake, vlc e eventuali tool che usa ffmpeg di sistema, non so che dirvi, usando io versioni compilate da me che non usano ffmpeg di sistema, proprio per EVITARE questi pasticci in occasione di cambi di ffmpeg incompatibili con le versioni precedenti, già avvenuti in passato.

Se non volete problemi, meglio che restare a ffmpeg 0.8.7 finche la 0.9 non sarà inserita nei repository ufficiali Debian.

Annunci

15 commenti

  1. Ottimo, mi ero accorto anche io del problema con Tragtor con i map
    ma credevo fosse da imputare a qualche mia ca$$ata.

    Commento di edmond — dicembre 15, 2011 @ 8:52 pm

  2. a proposito, ti da anche a te di default questo tipo di errore?

    Option ‘padleft’ has been removed, use the pad filter instead

    Commento di edmond — dicembre 15, 2011 @ 9:08 pm

    • vai in impostazioni e cambia le opzioni di pad e crop finchè non trovi quelle adatte al tuo ffmpeg.
      Con ffmpeg 0.9 a me è l’ultima:
      Fitro Video (w:h:x:y:)

      Commento di telperion — dicembre 15, 2011 @ 9:22 pm

      • Onestamente NON SO perchè debbano cambiare sempre sintassi, mandando a donnine allegre i vari tool. MAH!

        Commento di telperion — dicembre 15, 2011 @ 9:24 pm

  3. Ok risolto con patch e nuove impostazioni, per quanto riguarda il cambio
    di sintassi stanno rompendo un po i cojotes.

    Commento di edmond — dicembre 15, 2011 @ 10:27 pm

  4. Comunque col la 0,9 di ffmpeg tragtor non riconosce più la dimensione in pixel degli avi in ingresso.

    Commento di telperion — dicembre 16, 2011 @ 2:53 pm

  5. infatti, per non parlare del fatto che Tragtor non riesce a mantenere l’unica
    impostazione che ha., quella relativa a pad ecc ecc

    Commento di edmond — dicembre 16, 2011 @ 8:08 pm

    • quella del pad non ci si puo fa nulla, per gli avi trovata la soluzione

      http://pastebin.com/50JN0HiJ

      praticamente la riga

      sz = re.search("(([0-9]+)x([0-9]+))", substr)

      deve diventare

      sz = re.search("(([1-9][0-9]+)x([0-9]+))", substr)

      poi funza tutto, grazie a Peter L

      Commento di telperion — dicembre 16, 2011 @ 8:19 pm

  6. Ok, cambiata anche quella stringa…aspettiamo il prossimo
    aggiornamento e vediamo che succede 🙂

    Commento di edmond — dicembre 16, 2011 @ 8:56 pm

    • per il pad doveva essere questa:

      @@ -124,7 +124,7 @@
      _CACHE_PATH = os.path.join(_CFG_PATH, “cache”)
      _DEFAULT_SETTINGS = {“language”:”de”,
      “presetContainer”:True,
      – “videofilter”:0,
      + “videofilter”:2,
      “cpuUsage”:1,
      “cleanup2Pass”:True}

      ma non fa nulla,
      credo ci sia un problema (ma c’era già prima) col salvataggio e lettura delle impostazioni nel file
      ~/.tragtor/tragtor.cfg

      Commento di telperion — dicembre 16, 2011 @ 9:12 pm

      • ok trovata anche la gabola per crop

        riga 167 da
        _videoFilter = 0
        a
        _videoFilter = 2

        Commento di telperion — dicembre 16, 2011 @ 9:25 pm

  7. OK, perfetto, e con questa ultima modifica siamo a posto.
    Ricordiamo solamente che la riga 167 si riferisce a
    /usr/share/tragtor/tragtor.py 😉

    Commento di edmond — dicembre 16, 2011 @ 10:51 pm


RSS feed for comments on this post.

%d blogger hanno fatto clic su Mi Piace per questo: