Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !



Comment convertir les fichiers vidéos MTS ou M2TS en vidéo « .avi » ?

Ce tutoriel a pour but de décrire une méthode pour encoder des fichiers mts ou m2ts en vidéo .avi. Le tout en installant et en configurant m2tstoavi en ligne de commande.

Une des solutions plus récentes et plus simples d'emploi est : handbrake, dont le site en anglais est : http://handbrake.fr/ et la page d'Ubuntu : handbrake

Le script m2tstoavi a été écrit par Axel Olmos, c'est un moyen facile pour convertir des fichiers vidéo mts/m2ts en .avi.








À noter : vlc convertit également très bien le MTS en ce que l'on veut ! En tout cas avec vlc 0.9.9a et Ubuntu 9.04 j'ai pu convertir sans difficulté du MTS (AVCHD) de mon Panasonic Lumix ZS3 (TZ7) en M-JPEG ou en H-264 (je n'ai pas tout essayé).
Il existe aussi un logiciel de montage video qui accepte très bien le MTS et tous les formats AVCHD et bien sûr beaucoup d'autres formats : OpenShot http://www.openshotvideo.com/
Depuis la version Ubuntu 9.10 le support du AVCHD est meilleur. Totem et VLC ont pu lire les fichiers de mon Canon LEGRIA HF200 et Kdenlive arrive très bien à les exploiter.

Il faut activer les dépôts Universe et Multiverse si cela n'a pas encore été fait.

Dépendances

Vous pouvez installer les dépendances pour le script m2tstoavi. Pour cela, installez les paquets mplayer ffmpeg a52dec mencoder x264 faad faac libfaad2-0 libfaad2-dev subversion csh build-essential.

Installer en 1 clic 1)

apt://mplayer,ffmpeg,a52dec,mencoder,x264,faad,faac,libfaad2-0,libfaad2-dev,subversion,csh,build-essential

Téléchargement de la dernière version de Mplayer

svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer

Compilation et installation :

cd mplayer
./configure
make
sudo make install
Pour la conversion, c'est la version des dépôts (Ubuntu 8.04 LTS) de ffmpeg qui a fonctionné. La version svn n'a donné aucun résultat.

Téléchargement

Vous pouvez obtenir le script m2tstoavi en passant par wget avec cette commande :

wget http://www.olmosconsulting.com/m2ts.tar.gz

Le fichier téléchargé est bien entendu dans votre /home/votrenom.

Puis décompresser le fichier téléchargé avec cette commande :

tar zxvf m2ts.tar.gz

On obtient un dossier m2ts.

Puis :

cd m2ts

Modification de la version à télécharger

gedit download
Au 07/10/09, la version de JM à télécharger est la 16.1. Cette version est visible sur la page : http://iphome.hhi.de/suehring/tml/download

Il faut donc modifier la ligne contenant la version :

set version=16.1
Cette modification n'est plus à faire (12/09/2011)

Installation proprement dite

sudo ./install
Il est possible que la commande sudo ./install ne marche pas et vous retourne :
m2ts$ sudo ./install sudo: unable to execute ./install: Aucun fichier ou dossier de ce type

La solution :

sudo apt-get install csh

et ensuite :

sudo csh install

FIXME ("installasroot" semble inutile)

sudo ./installasroot

Vous pouvez utiliser la méthode par défaut. Surveiller la taille de votre disque dur : il faut de la place pour la conversion.

La commande est en fonction du type du fichier (.mts ou .m2ts) :

m2tstoavi votrefichier.mts
m2tstoavi votrefichier.m2ts
Pensez à rendre les scripts exécutables par clic droit / propriétés / permissons dans Nautilus ou par le terminal :
sudo chmod +x <script>
Dans le fichier m2tstoavi, le format et le fps de la video est indiqué comme suit :

mencoder $videofifo -demuxer rawvideo -rawvideo w=1440:h=1080 -aspect 16:9 -ofps 29.97

Pour ma caméra qui est en full HD (JVC Everio), j'ai du changer cette partie en :

mencoder $videofifo -demuxer rawvideo -rawvideo w=1920:h=1080 -aspect 16:9 -ofps 25

Au lieu d'encapsuler le fichier son au format ac3, on le convertit en mp3 avant. De plus, on utilise la version m2tstoavi.fifo pour utiliser moins de mémoire sur le disque dur pendant la conversion. Méthode testée pour transcoder les fichiers .MTS d'un camescope Sony AVCHD HDR-SR8E.
gedit m2tstoavi.fifo

Et remplacer le code par le suivant :

#!/bin/csh

#The scripts and instructions in this package are free to use and
#redistribute AT YOUR OWN RISK!!  Standard disclaimers apply.
#NO WARRANTY!

if ( $#argv == "0" ) then
	echo usage: $0 filename.m2ts ...
	exit
else
	set files=($*)
endif

set path = ( . $path )

echo using:
which xporthdmv || exit
which ldecod || exit
which ffmpeg || exit

echo $0 Starting.
echo " "
foreach file ($files)
	if ( ! -f $file ) then
		echo file $file not found
		exit
	endif

	set filebase=`basename $file | sed s/\.m2ts// | sed s/\.MTS//`
	set audiofile=/tmp/$filebase".ac3"
	set audiofile2=/tmp/$filebase".mp3"
	set videofifo=/tmp/$filebase".yuv"
	set outputfile=$filebase".avi"

	if ( ! -f $audiofile ) then
		echo xporthdmv -hn $file 1 1 1
		     xporthdmv -hn $file 1 1 1 && mv bits0001.mpa $audiofile
	else
		echo $audiofile already exists, not creating it.
	endif

	ffmpeg -i $audiofile -f mp3 -r 25 -vn -acodec mp3 -ac 2 -ab 160k $audiofile2

	mkfifo $videofifo

	echo ldecod -i bits0001.mpv -o $videofifo
	     ldecod -i bits0001.mpv -o $videofifo & 

	if ( ! -f $outputfile ) then
		echo	ffmpeg -r 25 -s 1440x1080 -aspect 16:10 -vcodec mpeg4 -sameq -i $videofifo \
							     -acodec copy -i $audiofile2 \
								   -b 15000k $outputfile

			ffmpeg -r 25 -s 1440x1080 -aspect 16:10 -vcodec mpeg4 -sameq -i $videofifo \
							     -acodec copy -i $audiofile2 \
								   -b 15000k $outputfile || exit 1
	else
		echo $outputfile exists, not creating it.
	endif
end

#echo To remove temporary files: rm -f /tmp/*.ac3 /tmp/*.yuv
rm -f ./dataDec.txt ./log.dec bits0001.mpv $videofifo $audiofile $audiofile2
echo $0 complete.

Puis rendez le script exécutable

chmod +x m2tstoavi.fifo

Pour pouvez aussi copier le script dans /usr/local/bin pour ne pas avoir à écrire le chemin complet à chaque fois :

sudo cp m2tstoavi.fifo /usr/local/bin/
Pour peu que vos noms de dossiers ne contiennent pas d'espaces, il suffit de faire
m2tstoavi.fifo '<votre_dossier>*'

En utilisant '*', le script est prévu pour traiter tous les fichiers du dossier.

Utilisation de deux scripts : le premier qui liste les fichiers d'un dossier, et qui lance la conversion pour chaque fichier l'un après l'autre
gedit videohdsearch

Et coller le code :

#! /bin/sh

find VOTRE_DOSSIER -type f -exec CHEMIN/VERS/videohdconvert '{}' \;

Puis créer le deuxième fichier

gedit videohdconvert

Et coller le code :

#!/bin/sh

clear

CHEMIN/VERS/m2tstoavi.fifo $1

sleep 10

Et enfin rendez les scripts exécutables :

chmod +x videohdsearch videohdconvert

ffmpeg -i file.mts -acodec copy -vcodec copy file.avi

ou

mencoder file.mts -o ./file.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=5000 -fps 50 -vf scale=1280:720

Adaptez cette ligne à vos besoins:

  • Remplacer -fps 50 par le débit réel (en images par secondes de votre film)
  • Remplacer scale=1280:720 par la résolution de sortie souhaitée

Contributeurs : Lek1, SkeRoy, Mysteroïd, CasseTaTele.


1)
Ubuntu 7.10 et suivants
  • tutoriel/comment_convertir_mts_m2ts_en_avi.1323958658.txt.gz
  • Dernière modification: Le 24/12/2011, 08:55
  • (modification externe)