7773967 visitors
297 visitors online
|
Cet article décrit la méthode de conversion d'un fichier vidéo TS (issu dans mon cas de mon démodulateur satellite DM7020) vers du MPEG2, du Xvid ou de l'OggVorbis. J'utilise pour ce faire ProjectX (utilitaire en java) puis un script sous linux (utilisant transcode ou mencoder) en ligne de commande mais très simplement. Il y a juste à suivre.
La méthode décrite ici est l'adaptation d'une collecte sur des forums et fonctionne à merveille chez moi. Une de mes sources est le forum Sandbox Team.
Le but n'est pas d'obtenir un fichier tenant sur un CD de 700Mo. Ce n'est pas ce que je recherche mais plutôt, une bonne qualité de film pour le plaisir des yeux tout en tenant moins de place. On peut ainsi mettre entre 4 et 5 films sur un DVD. La perte de qualité n'est pas palpable, on bénéficie simplement de l'algo plus performant du mp4.
Etape 1 : importation du fichier TS par le réseau depuis le démodulateur vers le PC j'utilise une distribution linux Mandriva 2008 ONE avec l'environnement graphique KDE. Dans ce cas, je lance lance Konqueror puis je tappe mon url en ftp (ftp://192.168.1.4 correspondant à mon cas). Saisir ensuite le login et le mot de passe . (Dans le cas d'une image Gemini, il s'agit par défaut de root et dreambox).
Aller dans le répertoire /hdd/movie et transférez dans le répertoire de travail du PC le .TS correspondant au film à convertir. Une astuce pour éviter d'avoir à assembler plusieurs fichiers avec une ligne de commande est de déclarer la possibilité d'avoir des fichiers jusqu'à 4Go sur votre DM7020. Avec cette capacité, on a la place pour stocker un film sans problème (à moins que ce soit un peplum ). Autre info, le logiel VLC lit parfaitement les fichiers TS avec ses différentes bandes son. Etape 2 : prérequis sur les outils de conversion
( Merci au bêta testeur Charles pour son aide à l'ellaboration de ces prérequis, il a essuyé les platres sur cet article ) Vérification que l'on peut faire du Xvid et du mp3 avec Mencoder en tappant les 2 lignes de commandes suivantes dans une console : [monmon@localhost ~]$ mencoder -ovc help MEncoder 1.0-1.rc1.20plf2008.0-4.2.1 (C) 2000-2006 MPlayer Team CPU: Genuine Intel(R) CPU T2080 @ 1.73GHz (Family: 6, Model: 14, Stepping: 12) CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1 Compiled with runtime CPU detection. 98 audio & 216 video codecs
Available codecs: copy - frame copy, without re-encoding. Doesn't work with filters. frameno - special audio-only file for 3-pass encoding, see DOCS. raw - uncompressed video. Use fourcc option to set format explicitly. nuv - nuppel video lavc - libavcodec codecs - best quality! vfw - VfW DLLs, read DOCS/HTML/en/encoding-guide.html. qtvideo - QuickTime DLLs, currently only SVQ1/3 are supported. libdv - DV encoding with libdv v0.9.5 xvid - XviD encoding x264 - H.264 encoding
[monmon@localhost ~]$ mencoder -oac help MEncoder 1.0-1.rc1.20plf2008.0-4.2.1 (C) 2000-2006 MPlayer Team CPU: Genuine Intel(R) CPU T2080 @ 1.73GHz (Family: 6, Model: 14, Stepping: 12) CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1 Compiled with runtime CPU detection. 98 audio & 216 video codecs
Available codecs: copy - frame copy, without re-encoding (useful for AC3) pcm - uncompressed PCM audio mp3lame - cbr/abr/vbr MP3 using libmp3lame lavc - FFmpeg audio encoder (MP2, AC3, ...) twolame - Twolame MP2 audio encoder faac - FAAC AAC audio encoder
[monmon@localhost ~]$ |
Vérification de la présence de mplex : [monmon@localhost films]$ mplex mjpegtools mplex-2 version 1.9.0 (2.2.7) Usage: mplex [params] -o <output filename pattern> <input file>... %d in the output file name is by segment count where possible params are: --verbose|-v num Level of verbosity. 0 = quiet, 1 = normal 2 = verbose/debug --format|-f fmt Set defaults for particular MPEG profiles [0 = Generic MPEG1, 1 = VCD, 2 = user-rate VCD, 3 = Generic MPEG2, 4 = SVCD, 5 = user-rate SVCD 6 = VCD Stills, 7 = SVCD Stills, 8 = DVD with NAV sectors, 9 = DVD] --mux-bitrate|-r num Specify data rate of output stream in kbit/sec (default 0=Compute from source streams) --video-buffer|-b num [, num...] Specifies decoder buffers size in kB. [ 20...2000] --lpcm-params | -L samppersec:chan:bits [, samppersec:chan:bits] --mux-limit|-l num Multiplex only num seconds of material (default 0=multiplex all) --sync-offset|-O num ms|s|mpt Specify offset of timestamps (video-audio) in mSec --sector-size|-s num Specify sector size in bytes for generic formats [256..16384] --vbr|-V Force variable bit-rate video multiplexing --cbr|-C Force constant bit-rate video multiplexing --run-in|-R num Force a 'run-in' of exactly num frame intervals --packets-per-pack|-p num Number of packets per pack generic formats [1..100] --system-headers|-h Create System header in every pack in generic formats --max-segment-size|-S size Maximum size of output file(s) in Mbyte (default: 0) (no limit) --ignore-seqend-markers|-M Don't switch to a new output file if a sequence end marker is encountered ithe input video. --vdr-index|-i <vdr-index-filename> Generate a VDR index file with the output stream --workaround|-W workaround [, workaround ] --help|-? Print this lot out! [monmon@localhost films]$ |
Dans le cas d'une mandriva 2008 ONE, tout est bon par défaut, reste à installer ProjectX. Pour ce faire, j'ai mis à jour mon système de packages à travers le site http://easyurpmi.zarb.org. Il suffit d'ajouter les sources du PLF. Pour l'utilisation d'Esayurpmi, suivre les instructions sur le site. Vous aurez ensuite un choix de packages important. Procédez à l'installation du logiciel. Le gestionnaire de logiciel demande alors le système java souhaité pour compléter l'installation. Java est nécessaire à l'exécution de ProjectX. J'ai choisi la dernière version disponible au moment de l'article, soit la 1.7.0. Etape 3 : démultiplexage et coupure des pubs à l'aide de ProjectXOn lance le logiciel directement dans le menu "son et video". ( ou par la commande suivante en adaptant bien sûr le chemin vers le .jar et la version pour les personnes n'étant pas sous Mandriva par exemple : java -jar /home/monmon/temp/ProjectX/ProjectX-v0.90.03.01-20060201.jar
) Allez dans le menu fichier et ouvrir le fichier TS concerné. A l'aide de la fenêtre d'édition et des curseurs simple et double, choisir les parties à conserver. Les parties éliminées sont en rouge (voir la capture d'écran ci-dessus). On lance alors directement le demultiplexage rapide. La fenêtre d'avancement donne son état : Après démultiplexage, on obtient un fichier vidéo, un fichier de sous-titre si demandé et existant ; ainsi que les fichiers audio FR (et GB si existant) par exemple : - video.m2v
- audio-eng.mp2
- audio-fra.mp2
- soutitre.srt
L'extension des fichiers audio est parfois .mpa. Adapter les noms de fichiers ou le script en fonction. Dans l'exemple, nous avons le résultat suivant : Nous sommes maintenant sortie de ProjectX et dans notre répertoire de travail, nous avons les fichiers souhaités ainsi que le script de conversion. On lance alors une console pour faire les "travaux manuels". Une astuce consiste à tapper F4 qui lance directement depuis Konqueror une console dans le répertoire en cours d'observation.
Etape 4 : multiplexer la video avec les pistes audio souhaitéesCe choix permet de créer un fichier compatible DVD et donc traitable directement avec DVDStyler par exemple (mon cas). On utilise un des outils nombreux du groupe des mjpegtools. Pour simplifier la commande, j'ai renommé les fichiers video et audio en video.m2v et audio.mp2. Si vous utilisez des noms de fichiers avec des espaces, ajoutez des guillements encadrant les noms de fichiers. [monmon@localhost films]$ mplex -f 8 -V -o DVD_reportage.mpg video.m2v audio.mp2 INFO: [mplex] mplex version 1.9.0 (2.2.7 $Date: 2006/02/01 22:23:01 $) INFO: [mplex] File video.m2v looks like an MPEG Video stream. INFO: [mplex] File audio.mp2 looks like an MPEG Audio stream. INFO: [mplex] Video stream 0: profile 8 selected - ignoring non-standard options! INFO: [mplex] Found 1 audio streams and 1 video streams INFO: [mplex] Selecting dvdauthor DVD output profile INFO: [mplex] Multiplexing video program stream! INFO: [mplex] Scanning for header info: Video stream e0 (video.m2v) INFO: [mplex] VIDEO STREAM: e0 INFO: [mplex] Frame width : 720 INFO: [mplex] Frame height : 576 INFO: [mplex] Aspect ratio : 4:3 display INFO: [mplex] Picture rate : 25.000 frames/sec INFO: [mplex] Bit rate : 6670000 bits/sec INFO: [mplex] Vbv buffer size : 229376 bytes INFO: [mplex] CSPF : 0 INFO: [mplex] Scanning for header info: Audio stream c0 (audio.mp2) INFO: [mplex] MPEG AUDIO STREAM: c0 INFO: [mplex] Audio version : 1.0 INFO: [mplex] Layer : 2 INFO: [mplex] CRC checksums : no INFO: [mplex] Bit rate : 32768 bytes/sec (256 kbit/sec) INFO: [mplex] Frequency : 48000 Hz INFO: [mplex] Mode : 0 stereo INFO: [mplex] Mode extension : 0 INFO: [mplex] Copyright bit : 1 copyright protected INFO: [mplex] Original/Copy : 1 original INFO: [mplex] Emphasis : 0 none INFO: [mplex] SYSTEMS/PROGRAM stream: INFO: [mplex] rough-guess multiplexed stream data rate : 7075496 INFO: [mplex] target data-rate specified : 10080000 INFO: [mplex] Setting specified specified data rate: 10080000 INFO: [mplex] Run-in delay = 7200 Video delay = 7200 Audio delay = 10800 INFO: [mplex] New sequence commences... INFO: [mplex] Video e0: buf= 0 frame=000000 sector=00000000 INFO: [mplex] Audio c0: buf= 0 frame=000000 sector=00000000 INFO: [mplex] Scanned to end AU 151609 INFO: [mplex] STREAM e0 completed INFO: [mplex] STREAM c0 completed INFO: [mplex] Multiplex completion at SCR=545795510. INFO: [mplex] Video e0: completed INFO: [mplex] Audio c0: completed INFO: [mplex] VIDEO_STATISTICS: e0 INFO: [mplex] Video Stream length: 2466335905 bytes INFO: [mplex] Sequence headers: 6502 INFO: [mplex] Sequence ends : 1 INFO: [mplex] No. Pictures : 151610 INFO: [mplex] No. Groups : 6502 INFO: [mplex] No. I Frames : 6502 avg. size 47319 bytes INFO: [mplex] No. P Frames : 50863 avg. size 23186 bytes INFO: [mplex] No. B Frames : 94245 avg. size 10391 bytes INFO: [mplex] Average bit-rate : 3253200 bits/sec INFO: [mplex] Peak bit-rate : 6670400 bits/sec INFO: [mplex] BUFFERING min 15 Buf max 175715 INFO: [mplex] AUDIO_STATISTICS: c0 INFO: [mplex] Audio stream length 194060544 bytes. INFO: [mplex] Syncwords : 252683 INFO: [mplex] Frames : 252683 padded INFO: [mplex] Frames : 0 unpadded INFO: [mplex] BUFFERING min 15 Buf max 779 INFO: [mplex] MUX STATUS: no under-runs detected. [monmon@localhost films]$
|
Vérifiez la bonne synchronisation du son et de la video sur le fichier créé. On a alors les fichiers suivants : Pour créer un fichier avec plusieurs bandes sons, ajouter le fichier audio supplémentaire au bout de la ligne de commande. Le fichier mpg créé permet de faire un DVD ou bien le xvid en suivant les instructions suivantes : Pour créer un XVID, utiliser le fichier MPEG2 avec une seule bande son (voir juste au-dessus) et appliquer le script faisant appel à mencoder.
script mon_xvid #sbin convert
rm frameno.avi mencoder "$1" -o frameno.avi -ovc frameno -oac copy rm xvid*.stats
#ATTENTION : pour les dernières versions de mencoder, remplacer -vop par -vf mencoder "$1" -o /dev/null -of avi -ovc xvid -xvidencopts vhq=1:bitrate=1200:pass=1 -vop scale=544:408 -passlogfile xvid.stats -ofps 25,0 -oac copy
#ATTENTION : pour les dernières versions de mencoder, remplacer -vop par -vf mencoder "$1" -o xvid/"$1" -of avi -ovc xvid -xvidencopts vhq=1:bitrate=1200:pass=2 -vop scale=544:408 -passlogfile xvid.stats -ofps 25,0 -oac mp3lame -lameopts br=128:q=9:aq=9:cbr:mode=1
|
Pour créer un script, utiliser votre éditeur préféré (kwrite par exemple) et ne pas oublier de rendre le fichier exécutable (dans Konqueror, faire un clic droit sur le fichier et coher la case "est exécutable" dans le deuxième onglet). Il suffit alors de lancer la ligne de commande suivante : [monmon@localhost films]$ ./mon_xvid "DVD_reportage.mpg" rm: ne peut enlever `frameno.avi': Aucun fichier ou répertoire de ce type MEncoder 1.0-1.rc1.20plf2008.0-4.2.1 (C) 2000-2006 MPlayer Team CPU: Genuine Intel(R) CPU T2080 @ 1.73GHz (Family: 6, Model: 14, Stepping: 12) CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1 Compiled with runtime CPU detection. 98 audio & 216 video codecs success: format: 0 data: 0x0 - 0xa1989800 MPEG-PS file format detected. VIDEO: MPEG2 720x576 (aspect 2) 25.000 fps 6670.0 kbps (833.8 kbyte/s) [V] filefmt:2 fourcc:0x10000002 size:720x576 fps:25.00 ftime:=0.0400 ========================================================================== Opening audio decoder: [mp3lib] MPEG layer-2, layer-3 AUDIO: 48000 Hz, 2 ch, s16le, 256.0 kbit/16.67% (ratio: 32000->192000) Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3) ========================================================================== audiocodec: framecopy (format=50 chans=2 rate=48000 bits=16 B/s=32000 sample-1) Writing header... ODML: Aspect information not (yet?) available or unspecified, not writing vprp header. Writing header... ODML: Aspect information not (yet?) available or unspecified, not writing vprp header. Pos: 0.9s 22f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.084 [0:256] Skipping frame! Pos: 7.5s 188f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.080 [0:256] Skipping frame! Writing index...10f (100%) 1661.33fps Trem: 0min 186mb A-V:0.036 [0:255] Writing header... ODML: Aspect information not (yet?) available or unspecified, not writing vprp header. Recommended video bitrate for 650MB CD: 637 Recommended video bitrate for 700MB CD: 706 Recommended video bitrate for 800MB CD: 844 Recommended video bitrate for 2 x 650MB CD: 1536 Recommended video bitrate for 2 x 700MB CD: 1674 Recommended video bitrate for 2 x 800MB CD: 1951
Video stream: 0.800 kbit/s (100 B/s) size: 606432 bytes 6064.320 secs 151610 frames
Audio stream: 256.000 kbit/s (31999 B/s) size: 194059776 bytes 6064.368 secs rm: ne peut enlever `xvid*.stats': Aucun fichier ou répertoire de ce type MEncoder 1.0-1.rc1.20plf2008.0-4.2.1 (C) 2000-2006 MPlayer Team CPU: Genuine Intel(R) CPU T2080 @ 1.73GHz (Family: 6, Model: 14, Stepping: 12) CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1 Compiled with runtime CPU detection. 98 audio & 216 video codecs success: format: 0 data: 0x0 - 0xa1989800 MPEG-PS file format detected. VIDEO: MPEG2 720x576 (aspect 2) 25.000 fps 6670.0 kbps (833.8 kbyte/s) [V] filefmt:2 fourcc:0x10000002 size:720x576 fps:25.00 ftime:=0.0400 ========================================================================== Opening audio decoder: [mp3lib] MPEG layer-2, layer-3 AUDIO: 48000 Hz, 2 ch, s16le, 256.0 kbit/16.67% (ratio: 32000->192000) Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3) ========================================================================== xvid: using library version 1.1.3 (build xvid-1.1.3) Opening video filter: [expand osd=1] Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1 Opening video filter: [scale w=544 h=408] ========================================================================== Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough VDec: vo config request - 720 x 576 (preferred colorspace: Mpeg PES) The selected video_out device is incompatible with this codec. Try adding the scale filter, e.g. -vf spp,scale instead of -vf spp. VDecoder init failed :( Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder libmpeg2-v0.4.0b Selected video codec: [mpeg12] vfm: libmpeg2 (MPEG-1 or 2 (libmpeg2)) ========================================================================== audiocodec: framecopy (format=50 chans=2 rate=48000 bits=16 B/s=32000 sample-1) VDec: vo config request - 720 x 576 (preferred colorspace: Planar YV12) VDec: using Planar YV12 as output csp (no 0) Movie-Aspect is 1.33:1 - prescaling to correct movie aspect. SwScaler: reducing / aligning filtersize 7 -> 8 SwScaler: reducing / aligning filtersize 7 -> 8 SwScaler: reducing / aligning filtersize 7 -> 6 SwScaler: reducing / aligning filtersize 7 -> 6
SwScaler: BICUBIC scaler, from yuv420p to yuv420p using MMX2 SwScaler: using 8-tap MMX scaler for horizontal luminance scaling SwScaler: using 8-tap MMX scaler for horizontal chrominance scaling SwScaler: using n-tap MMX scaler for vertical scaling (YV12 like) SwScaler: 720x576 -> 544x408 videocodec: XviD (544x408 fourcc=44495658 [XVID]) xvid: par=0/0 (vga11), displayed=544x408, sampled=544x408 xvid: bitrate setting is ignored during first pass xvid: 2Pass Rate Control -- 1st pass New_Face failed. Maybe the font path is wrong.n 0mb A-V:0.004 [0:0] Please supply the text font file (~/.mplayer/subfont.ttf). subtitle font: load_sub_face failed. Writing header... ODML: vprp aspect is 4:3. Setting audio delay to 0.040s. Writing header... ODML: vprp aspect is 4:3. Setting audio delay to 0.040s.
1 duplicate frame(s)! Pos: 0.8s 22f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.084 [0:256] Skipping frame! Pos: 7.5s 191f ( 0%) 66.07fps Trem: 0min 0mb A-V:0.080 [812:256]] Skipping frame! ODML: Starting new RIFF chunk at 1023MB. 24min 2129mb A-V:0.043 [2695:256] ODML: Starting new RIFF chunk at 2047MB. 1min 2126mb A-V:0.044 [2691:256] Pos:6064.2s 151610f (100%) 52.55fps Trem: 0min 2135mb A-V:0.035 [2693:255] Flushing video frames Writing index... Writing header... ODML: vprp aspect is 4:3. Setting audio delay to 0.040s.
Video stream: 2693.952 kbit/s (336743 B/s) size: 2042109697 bytes 6064.280 secs 151610 frames
Audio stream: 256.000 kbit/s (31999 B/s) size: 194059776 bytes 6064.368 secs MEncoder 1.0-1.rc1.20plf2008.0-4.2.1 (C) 2000-2006 MPlayer Team CPU: Genuine Intel(R) CPU T2080 @ 1.73GHz (Family: 6, Model: 14, Stepping: 12) CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1 Compiled with runtime CPU detection. 98 audio & 216 video codecs
WARNING: OUTPUT FILE FORMAT IS _AVI_. See -of help. success: format: 0 data: 0x0 - 0xa1989800 MPEG-PS file format detected. VIDEO: MPEG2 720x576 (aspect 2) 25.000 fps 6670.0 kbps (833.8 kbyte/s) [V] filefmt:2 fourcc:0x10000002 size:720x576 fps:25.00 ftime:=0.0400 ========================================================================== Opening audio decoder: [mp3lib] MPEG layer-2, layer-3 AUDIO: 48000 Hz, 2 ch, s16le, 256.0 kbit/16.67% (ratio: 32000->192000) Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3) ========================================================================== xvid: using library version 1.1.3 (build xvid-1.1.3) Opening video filter: [expand osd=1] Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1 Opening video filter: [scale w=544 h=408] ========================================================================== Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough VDec: vo config request - 720 x 576 (preferred colorspace: Mpeg PES) The selected video_out device is incompatible with this codec. Try adding the scale filter, e.g. -vf spp,scale instead of -vf spp. VDecoder init failed :( Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder libmpeg2-v0.4.0b Selected video codec: [mpeg12] vfm: libmpeg2 (MPEG-1 or 2 (libmpeg2)) ========================================================================== MP3 audio selected. VDec: vo config request - 720 x 576 (preferred colorspace: Planar YV12) VDec: using Planar YV12 as output csp (no 0) Movie-Aspect is 1.33:1 - prescaling to correct movie aspect. SwScaler: reducing / aligning filtersize 7 -> 8 SwScaler: reducing / aligning filtersize 7 -> 8 SwScaler: reducing / aligning filtersize 7 -> 6 SwScaler: reducing / aligning filtersize 7 -> 6
SwScaler: BICUBIC scaler, from yuv420p to yuv420p using MMX2 SwScaler: using 8-tap MMX scaler for horizontal luminance scaling SwScaler: using 8-tap MMX scaler for horizontal chrominance scaling SwScaler: using n-tap MMX scaler for vertical scaling (YV12 like) SwScaler: 720x576 -> 544x408 videocodec: XviD (544x408 fourcc=44495658 [XVID]) xvid: par=0/0 (vga11), displayed=544x408, sampled=544x408 xvid: 2Pass Rate Control -- 2nd pass -- bitrate=1200kbit/s New_Face failed. Maybe the font path is wrong.n 0mb A-V:0.004 [0:0] Please supply the text font file (~/.mplayer/subfont.ttf). subtitle font: load_sub_face failed. Writing header... ODML: vprp aspect is 4:3. Setting audio delay to 0.048s. Writing header... ODML: vprp aspect is 4:3. Setting audio delay to 0.048s.
1 duplicate frame(s)! Pos: 0.8s 22f ( 0%) 20.33fps Trem: 0min 0mb A-V:0.084 [0:128] Skipping frame! Pos: 1.1s 32f ( 0%) 25.04fps Trem: 0min 0mb A-V:0.084 [361:127] Skipping frame! Pos:6064.2s 151610f (100%) 29.78fps Trem: 0min 959mb A-V:0.043 [1194:128] Flushing video frames
CBR audio: 16000 bytes/sec, 384 bytes/block Writing index... Writing header... ODML: vprp aspect is 4:3. Setting audio delay to 0.040s.
Video stream: 1194.569 kbit/s (149321 B/s) size: 905519063 bytes 6064.240 secs 151610 frames
Audio stream: 128.000 kbit/s (16000 B/s) size: 97029120 bytes 6064.320 secs [monmon@localhost films]$ | Remarque : le script donne un fichier xvid dans un sous répertoire xvid. Ne pas oublier de créer ce sous répertoire dans votre répertoire de travail. Renommer votre fichier avec la bonne extension (avi) pour pouvoir reconnaître le type de fichier au premier coup d'oeil car le script garde l'extension MPG. Une amélioration à apporter plus tard...Etape 4bis : choix de l'OGGVORBIS Dans ce cas, on n'a pas besoin de remultiplexer l'audio et la video. Cette méthode de compression permet de faire un mpeg4 avec plusieurs bandes son et le sous-titrage.
script mon_oog_fr
#!/bin/bash
usage() { echo "Usage: $0 <filename without suffix> <title>" exit -1 }
if [[ $1 == "" ]] || [[ $2 == "" ]] ; then usage fi
echo "Transcoding MPEG2 to OGM"
if [ ! -f "$1-fra.mpa" ] ; then echo "$1-fra.mpa: file not found" exit -2 fi
#if [ ! -f "$1-eng.mpa" ] ; then # echo "$1-eng.mpa: file not found" # exit -2 #fi
if [ ! -f "$1.m2v" ] ; then echo "$1.mpv: file not found" exit -3 fi
#if [ ! -f "$1-fra.srt" ] ; then # echo "$1-fra.srt: file not found" # exit -2 #fi
transcode -i "$1-fra.mpa" -o "$1-fra.ogg" -x null,mp3 -y null,ogg -b 0,1,6,0 #transcode -i "$1-eng.mpa" -o "$1-eng.ogg" -x null,mp3 -y null,ogg -b 0,1,6,0
transcode -i "$1.m2v" -o /dev/null -x mpeg2 -y xvid4 -R 1 transcode -i "$1.m2v" -o "$1.xvid" -x mpeg2 -y xvid4 -R 2
#ogmmerge -o "$1.ogm" -c TITLE="$2" "$1.xvid" -c LANGUAGE="Fran�ais" "$1-fra.ogg" -c LANGUAGE="English" "$1-eng.ogg" -c LANGUAGE="Fran�ais" "$1-fra.srt" ogmmerge -o "$1.ogm" -c TITLE="$2" "$1.xvid" -c LANGUAGE="Fran�ais" "$1-fra.ogg" |
script mon_oog_fr_gb
#!/bin/bash
usage() { echo "Usage: $0 <filename without suffix> <title>" exit -1 }
if [[ $1 == "" ]] || [[ $2 == "" ]] ; then usage fi
echo "Transcoding MPEG2 to OGM"
if [ ! -f "$1-fra.mpa" ] ; then echo "$1-fra.mpa: file not found" exit -2 fi
if [ ! -f "$1-eng.mpa" ] ; then echo "$1-eng.mpa: file not found" exit -2 fi
if [ ! -f "$1.m2v" ] ; then echo "$1.mpv: file not found" exit -3 fi
#if [ ! -f "$1-fra.srt" ] ; then # echo "$1-fra.srt: file not found" # exit -2 #fi
transcode -i "$1-fra.mpa" -o "$1-fra.ogg" -x null,mp3 -y null,ogg -b 0,1,6,0 transcode -i "$1-eng.mpa" -o "$1-eng.ogg" -x null,mp3 -y null,ogg -b 0,1,6,0
#transcode -i "$1.mpv" -o /dev/null -z -x mpeg2 -y xvid4 -R 1 #transcode -i "$1.mpv" -o "$1.xvid" -z -x mpeg2 -y xvid4 -R 2
transcode -i "$1.m2v" -o /dev/null -x mpeg2 -y xvid4 -R 1 transcode -i "$1.m2v" -o "$1.xvid" -x mpeg2 -y xvid4 -R 2
#ogmmerge -o "$1.ogm" -c TITLE="$2" "$1.xvid" -c LANGUAGE="Fran�ais" "$1-fra.ogg" -c LANGUAGE="English" "$1-eng.ogg" -c LANGUAGE="Fran�ais" "$1-fra.srt" ogmmerge -o "$1.ogm" -c TITLE="$2" "$1.xvid" -c LANGUAGE="Fran�ais" "$1-fra.ogg" -c LANGUAGE="English" "$1-eng.ogg" |
script mon_oog_fr_gb_srt
#!/bin/bash
usage() { echo "Usage: $0 <filename without suffix> <title>" exit -1 }
if [[ $1 == "" ]] || [[ $2 == "" ]] ; then usage fi
echo "Transcoding MPEG2 to OGM"
if [ ! -f "$1-fra.mpa" ] ; then echo "$1-fra.mpa: file not found" exit -2 fi
if [ ! -f "$1-eng.mpa" ] ; then echo "$1-eng.mpa: file not found" exit -2 fi
if [ ! -f "$1.m2v" ] ; then echo "$1.mpv: file not found" exit -3 fi
if [ ! -f "$1-fra.srt" ] ; then echo "$1-fra.srt: file not found" exit -2 fi
transcode -i "$1-fra.mpa" -o "$1-fra.ogg" -x null,mp3 -y null,ogg -b 0,1,6,0 transcode -i "$1-eng.mpa" -o "$1-eng.ogg" -x null,mp3 -y null,ogg -b 0,1,6,0
#transcode -i "$1.mpv" -o /dev/null -z -x mpeg2 -y xvid4 -R 1 #transcode -i "$1.mpv" -o "$1.xvid" -z -x mpeg2 -y xvid4 -R 2
transcode -i "$1.m2v" -o /dev/null -x mpeg2 -y xvid4 -R 1 transcode -i "$1.m2v" -o "$1.xvid" -x mpeg2 -y xvid4 -R 2
ogmmerge -o "$1.ogm" -c TITLE="$2" "$1.xvid" -c LANGUAGE="Fran�ais" "$1-fra.ogg" -c LANGUAGE="English" "$1-eng.ogg" -c LANGUAGE="Fran�ais" "$1-fra.srt" |
Etape 5 : regarder le filmA ce stade, on a plus qu'à se régaler devant son petit écran (ou son grand écran, c'est encore mieux ). Astuce :Une autre astuce consiste à utiliser un petit script pour enchaîner toutes ces opérations à partir de l'étape 3, l'étape 2 n'étant pas automatisable puisqu'il faut couper le film et demande un minimum d'intelligence humaine. Je lance donc ces opérations "longues" suivant le type de processeurs la nuit et le PC se coupe quand les opérations de conversions sont finies.
Il suffit de préparer son fichier de script et ses fichiers audio/video démultiplexés. Voici en exemple un fichier de travail sur lequel je commente et dé-commente en fonction des besoins :
script fairefilms #./mon_xvid "DVD_.mpg" #./mon_ogg_fr_gb_srt TERMINATOR3 TERMINATOR3 #mplex -f 8 -V -o DVD_thegirlnextdoor.mpg video.m2v audio.mpa #./mon_ogg_fr ATLANTIS ATLANTIS #./mon_ogg_fr_gb Lesgrincheux Lesgrincheux #mplex -f 8 -V -o DVD_leo.mpg leo.m2v leo.mpa mplex -f 8 -V -o DVD_google.mpg video.m2v audio.mp2 #./mon_xvid "odysseeespece.mpg" ./mon_xvid "DVD_google.mpg" #./mon_xvid "DVD_atlantis.mpg" #shutdown -h now |
Pour autoriser la coupure du PC, lancer la commande en tant que root : sudo ./fairefilmsSinon ./fairefilmsBonne conversion et bon visionnage puisque le but est quand même de se faire plaisir
Creation date : 24/01/2008 @ 21:50
Last update : 06/04/2011 @ 21:49
Category : Multimedia - DM7020
Page read 257335 times
Reactions to this article
"SUPER" ton tutoriel, c'est pour accro de la console (enfin le clavier). Peux tu faire la meme chose rien qu'avec des clics de mulot ... comme sous WIN... (je fais attention a la censure).
|
Did you like an article ?
|