Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 17/11/2010, à 20:37

miroune73

Re : Transcoder une emission de la freebox .ts(.mpg) en fichier .avi (Xvid)

J'ai la même chose que toi dans mes dépots

Et oui tu as bien compris, c'est exactement mon probleme...que je n'arrive touojours pas à résoudre


- PC de bureau sous 20.04 LTS
- Netbook ASUS 1201PN sous Ubuntu Netbook Edition 10.04 (Licence Windows 7 remboursée par ASUS)
- Netbook SONY VAIO PCG-4V1M sous Xubuntu 14.04 LTS The Trusty Tahr

Hors ligne

#27 Le 27/09/2011, à 21:14

bugman77

Re : Transcoder une emission de la freebox .ts(.mpg) en fichier .avi (Xvid)

A tous :
J'ai créé un script python "ts2avi" qui utilise mencoder pour convertir les fichier ts en avi. Il est disponible sur  pypi.
Dépaquetez l'archive dans un répertoire quelconque et lisez le README.txt. Je vous conseille d'utiliser les dernières possibilités de python pour l'installer en local via l'option --user.

Ce script utilise tous les conseils que j'ai pu glaner sur le web afin de convertir avec la meilleure qualité possible ces fichiers :
* On convertit le container TS en MPEG
* On convertit ensuite l'audio en MP3
* Puis on effectue 2 passes d'encodage vidéo en mpeg4.

Vous avez quelques options possibles et notamment deux profils, un 'default' et un 'fast', censé être plus rapide mais avec un moins bonne qualité. Pour avoir la liste des options :

ts2avi.py --help

Le script reconnaît les pattern unix, donc pour convertir par exemple tous les fichiers TS d'un répertoire :

ts2avi.py *.ts

Si certains sont intéressés pour m'aider à enrichir le script, n'hésitez pas à me contacter. C'est une version bêta, merci d'être tolérants ! Pour l'instant la gestion des erreurs laisse à désirer et j'ai encore des problèmes de conversion pour des fichiers issus de certaines chaînes de télé de la freebox, il faut que je pousse l'investigation. Évidemment, comme mentionné plus haut, il faut avoir installé mencoder qui est inclus dans le paquetage du même nom (apt://mencoder) !

Hors ligne

#28 Le 07/01/2012, à 14:25

hulk

Re : Transcoder une emission de la freebox .ts(.mpg) en fichier .avi (Xvid)

scripte modifier pour corriger décalage de son.
syntaxe:
ts2avi monfichier.ts -t
pour faire un test sur les 1000 premier frame.
ts2avi monfichier.ts pour créer le fichier final.
si un décalage  de son persiste tous de même aprés.
lancer cette commande ffmpeg -itsoffset 1.8 -i monfichier.tmp.ts -i monfichier.mp3 -vcodec copy -acodec copy monfichier.avi
en modifiant les noms de fichiers en conséquence et la valeur de décalage voulu.

sa ma permit d'avoir un fichier.ts de 900 mo en un fichier.avi de 240 mo sans perte de qualité notable.

#!/bin/sh
 
DIR=`pwd`
cd $DIR
 
# Variables
BITRATE="1200"
DECSOUND="1.8"
# Pour enlever les bandes noires ; recopier les valeurs données par la commande "mplayer -vf cropdetect monfichier.ts"
CROPID=$(mplayer -vf cropdetect -frames 10 $1 2>/dev/null | grep crop | sort -u | sed -e "s/)/=/g"|cut -d"=" -f2)
SCALEID="688:544"
# Pour faire un test sur les premières frames
if [ $2 = "-t" ];then
        FRAMES="-frames 1000"
else
# extraction piste audio
filesound=$1".mp3"
ffmpeg -i $1  -vn -f mp3 $filesound
fi
 
 
if [ -f "divx2pass.log" ]
then
        rm -f divx2pass.log
fi
 
# Fichier de sortie
y=`echo $1 | sed 's/ts/avi/'`
filetmp=`echo $1 | sed 's/ts/tmp.avi/'`
# Première passe
mencoder $1 $FRAMES -fps 25 -ofps 25 -nosound -ovc xvid -xvidencopts pass=1 -vf crop=$CROPID,pp=de/lb,hqdn3d=4:3:6,scale=$SCALEID -o /dev/null
 
# Seconde passe
mencoder $1 $FRAMES -fps 25 -ofps 25 -nosound -ovc xvid -xvidencopts bitrate=$BITRATE:pass=2 -vf crop=$CROPID,pp=de/lb,hqdn3d=4:3:6,scale=$SCALEID -o $filetmp
 
if [  $2 != "-t" ];then
        # ajout de la bande son au fichier
        ffmpeg -itsoffset $DECSOUND -i $filetmp -i $filesound -vcodec copy -acodec copy $y
fi
rm -f divx2pass.log
cd $DIR

Dernière modification par hulk (Le 09/01/2012, à 09:38)


pc custome, proce amd A6 , carte graphique saphire Radeon R7 250 1G DDR5 .
debian  testing/sid amd64
driver libre radeon

Hors ligne

#29 Le 28/04/2013, à 00:25

newtof

Re : Transcoder une emission de la freebox .ts(.mpg) en fichier .avi (Xvid)

Hello,

Merci pour ce script, malheureusement, ça ne marche pas chez moi et je ne comprends pas bien ce qu'il me raconte... Avez-vous une idée ?

$ ts2avi.py France\ 2\ -\ france2\ -\ 28-04-2013\ 00h38\ 02m.ts

Converting file France 2 - france2 - 28-04-2013 00h38 02m.ts
Traceback (most recent call last):
  File "/usr/local/bin/ts2avi.py", line 165, in <module>
    main()
  File "/usr/local/bin/ts2avi.py", line 159, in main
    this_convert = ConvertToAvi(arg, **options.__dict__)
  File "/usr/local/bin/ts2avi.py", line 72, in __init__
    self.final_avifile = os.path.join(self.output_dir, self._avifile)
  File "/usr/lib/python2.6/posixpath.py", line 67, in join
    elif path == '' or path.endswith('/'):
AttributeError: 'NoneType' object has no attribute 'endswith'

Merci bien !

Hors ligne