Forum général.cherche-logiciel Quête du Saint Graal : Encodage des .ts de la freebox en .autre-chose

Posté par . Licence CC by-sa
6
5
juil.
2013

Alors voilà,

j'ai tout plein de .ts enregistrés via une freebox, certains récents, d'autres beaucoup plus vieux (mpeg2/mpeg4/h264 tout mélangés). Certains sont juste en français, d'autres multi-pistes fr/vo + sous-titres.
J'aimerai remettre de l'ordre dans mes fichiers en :
- Supprimant les parties inutiles (pubs principalement)
- Pouvoir faire avance/retour rapide dans la freebox (sur certains vieux .ts c'est pas possible)
- Si possible recompresser sans perdre trop en qualité
- Et en gardant le multi-audio et les sous-titres

Il me semble que les 2 premier points sont liés : d'après ce que j'ai cru comprendre, le .ts est en fait un flux streamé, cad potentiellement avec des erreurs et surtout sans info de synchro entre les pistes audio et les images, ce qui explique les problèmes de décalages son/image qu'ont peut trouver sur plein de forums quand on tente de transcoder un ts… Et avidemux doit reconstruire un index lorsqu'on tente d'éditer un .ts.

Bref, j'ai tenté un bourrin ffmpeg : son et image décalés.

Sur plusieurs forums il est mentionné vlc pour transcoder en .ps avant de passer à d'autres formats : ça marche, j'ai bien le son et l'image qui sont raccords, mais je perd le multi-piste et les sous-titres.

D'où mes questions :
- est-qu'on peut avec vlc transcoder en gardant tous les flux audio/sous-titres ?
- sinon est-ce ffmpeg peut transcoder en gardant la synchro image/audio (et en gardant tous les flux, mais d'après ce que j'ai lu ça c'est possible) ?
- est-ce que mencoder peut le faire ?
- est-ce qu'un autre outil magique que je ne connais pas peut le faire ? (ah oui, en ligne de commande, oeuf corse, hors de question de cliquer en O(nbre vidéos) )
- est-ce que la toupie s'arrête ? (et si oui, ça signifie quoi ?)

Promis, quand ça marche, je fais une page dans le wiki de LinuxFr pour expliquer tout ça.

  • # Avidemux et HandBrake

    Posté par . Évalué à 2.

    Je ne sais pas si ça peut aider mais pour un besoin similaire, j'avais utilisé Avidemux puis Handbrake ; Avidemux pour la synchronisation audio et vidéo et pour la suppression des pubs, Handbrake pour la conversion dans d'autres formats.

    Je n'avais qu'un besoin réduit, la conversion d'un seul vidéogramme, donc j'ai utilisé les interfaces graphiques des deux logiciels, mais ils peuvent l'un comme l'autre se piloter en ligne de commande.

    • [^] # Re: Avidemux et HandBrake

      Posté par . Évalué à 2.

      Oui mais avidemux ne me permet pas de conserver les sous-titres et le multi-piste audio…
      Là je suis en train de regarder du coté de ProjectX, il a l'air de demultiplexer les flux en reconstruisant l'index, donc un coup de ffmpeg après devrait pouvoir refaire un fichier correct.
      Et a priori ça peut se faire en ligne de commande : http://www.linuxtv.org/wiki/index.php/ProjectX

      • [^] # Re: Avidemux et HandBrake

        Posté par . Évalué à 2.

        Grrr, project-x fait pas les h264…

        • [^] # Re: Avidemux et HandBrake

          Posté par (page perso) . Évalué à 1. Dernière modification le 05/07/13 à 22:14.

          Lorsque tu enregistres sur une chaîne sur laquelle il n'y a pas de pub, ces petits scripts peuvent t'être utiles:

          Le premier te permet d'identifier où se trouve le début ou la fin de ton film

          #!/bin/sh
          entree=$1
          sortie="/tmp/trooc"
          taille=$2
          echo $entree
          dd if=$entree of=$sortie  ibs=100000 skip=$taille count=20 
          mplayer $sortie
          rm $sortie
          if [ "$3" == "debut" ]; 
          then
          echo "$1 $2" > /tmp/acouper
          fi
          if [ "$3" == "fin" ]; 
          then
          echo " $2" >> /tmp/acouper
          fi
          

          Le 2e te permet de couper ton film

          #!/bin/sh
          entree=$1
          debut=$2
          fin=$3
          sortie=$4
          c=`rpncalc $fin $debut - 1 + | cut -d " " -f 3 ` 
          echo $c
          dd if=$entree of=$sortie  ibs=100000 skip=$debut count=$c 
          

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.