vendredi 13 août 2010

MEncoder: Incruster sous titre en un clic

Voilà le but de la manœuvre,est qu'en un seul clique nous incrustons des sous titres à une vidéo.

Déjà il nous faut de quoi encoder, ici ça sera avec Mencoder disponible ici sur le svn de mplayer.

 A vous de prendre la version correspondante à votre proc, j'ai pris la version athlon pour Multi core ( mais je n'ai pas vu de différence avec la version single Core)

Une fois téléchargé et décompressé à vous de placer le dossier ou vous voulez ( ex c:/programmes/mplayer)

Maintenant que nous avons "installé" Mencoder il faut un petit programme pour lancer l'encodage avec les sous titres. Pour cela j'ai utilisé un fichier bat :

REM Nom du fichier absolue passé en paramétre
set nomFichier=%1
rem Ajout dans le path du chemin de mplayer
set path=%path%;c:\programmes\mplayer
rem définition de la font
set font=C:\Users\krozer\AppData\Local\Temp\Vera.ttf
rem récupère le lecteur de nomFichier
for /F "delims=" %%i IN (%nomFichier%) DO set lecteur=%%~di
rem son chemin
for /F "delims=" %%i IN (%nomFichier%) DO set chemin=%%~pi
rem son nom
for /F "delims=" %%i IN (%nomFichier%) DO set nom=%%~ni
rem et son extention
for /F "delims=" %%i IN (%nomFichier%) DO set extention=%%~xi

rem reconstitution de nom fichier sans ""
set nomFichier=%lecteur%%chemin%%nom%%extention%
rem constitution du chemin ves les sous titres
set srtFichier=%lecteur%%chemin%%nom%.srt
rem constitution du chemin vers le nouveau fichier avec les sous titres intégré
set newFichier=%lecteur%%chemin%%nom%.NEW%extention%
rem récupère les propriétés du fichier vidéo
mplayer.exe -vo null -ao null -frames 0 -identify "%nomFichier%" >tmp.tmp
rem Bitrate obtenue en bit, le codec xvid a besoin de se paramètre en Kb
for /F "delims== tokens=2" %%a IN ('find "ID_VIDEO_BITRATE=" tmp.tmp') DO set /a bitrate=%%a/1000
rem longeur
for /F "delims== tokens=2" %%a IN ('find "ID_VIDEO_WIDTH=" tmp.tmp') DO set /a longeur=%%a
rem hauteur
for /F "delims== tokens=2" %%a IN ('find "ID_VIDEO_HEIGHT=" tmp.tmp') DO set /a hauteur=%%a
rem suppression du fichier temporaire qui nous a servi pour stocker les propriétés du fichier vidéo
del tmp.tmp
rem première pass d'encodage
mencoder.exe "%nomFichier%" -subfont-text-scale 3 -subpos 95 -subcp "cp1252" -font "%font%" -sub "%srtFichier%"  -noodml  -nosound -vf pp=ac,scale=%longeur%:%hauteur%,dsize=-1,harddup  -sws 9   -ovc xvid -xvidencopts vhq=4:max_bframes=2:bitrate=%bitrate%:pass=1 -ffourcc XVID -o "%newFichier%"
rem deuxième pass d'encodage
mencoder.exe "%nomFichier%" -oac copy -audio-preload 1.0 -subfont-text-scale 3 -subpos 95 -subcp "cp1252" -font "%font%" -sub "%srtFichier%" -noodml -vf pp=ac,scale=%longeur%:%hauteur%,dsize=-1,harddup -sws 9 -ovc xvid -xvidencopts vhq=4:max_bframes=2:bitrate=%bitrate%:pass=2 -ffourcc XVID -o "%newFichier%"


Il n'y a qu'a copier coller ce fichier dans un bloc note et l'enregistrer sous incrustSRT.bat et le placer sous c:\windows\systeme32

Ce programme bat permet de récupérer automatique les propriétés de la vidéo qui est passé en paramètre du .bat de récupérer le fichier srt qui doit avoir le même nom que la vidéo dans le même dossier.

Maintenant si dans un invite de commande nous tapons incrustSRT.bat c:\maVideo.avi celui ci va automatiquement lancer l'encodage de la vidéo.

Mais ca ne se fait toujours pas en un clique. La solution réside dans le menu contextuel de windows.
Nous allons rajouter une entré dans le menu clique droit de la sourie.

Pour cela faut ouvrir regedit ( démarrer > regedit dans rechercher ou via l'invité de commande)
 Dans le répertoire HKEY_CLASSES_ROOT vous avez tous une liste d'extension, de programme ... j'ai pas trop cherché le véritable fonctionnement. Mon but étais juste de faire apparaitre " Incruster sous titre" lors d'un clique droit sur un fichier avi. J'ai donc rajouté cette partie dans le menu contextuel de VLC.

Dans /HKEY_CLASSES_ROOT\VLC.avi\shell clique droit > nouveau > clé, que j'ai nommé "IncrusteSRT".
Cliquez sur IncrusteSRT pour le passer en surbrillant et à droite double clique sur (par défaut) et mettez la valeur que vous voulez voir dans le menu du clique droit.

Maintenant il nous faut la commande, clique droit sur incrusteSRT> nouveau > clé, et nommez la "command". Sélectionnez command et à droite double clique sur (par défaut) et rentrez incrusteSRT.bat "%1". Ici %1 représente le nom du fichier passé en paramètre.

Et voila nous avons fini la mise en place.

Maintenant vous allez peut être vouloir modifier l'encodage, la couleur des sous titres ect ... Pour ça faut se référencer à la documentation de mplayer et modifier les deux dernières lignes du fichier .bat en conséquence.

--- Ajout 14/08/2010

Pour l'encodage voici deux des nouveaux paramètres qui sans faire perdre de qualité d'image réduit le temps d'encodage ( 30 à 20 min chez moi)
Il faudra peut être que vous modifiez le nombre de threads par rapport au nombre de cœur de votre processeur.

rem premiére pass d'encodage
mencoder.exe "%nomFichier%" -subfont-text-scale 3 -subpos 95 -subcp "cp1252" -font "%font%" -sub "%srtFichier%" -noodml -nosound -vf pp=ac,scale=%longeur%:%hauteur%,dsize=-1,harddup -sws 9 -ovc xvid -xvidencopts threads=4:max_bframes=1:bquant_ratio=100:bquant_offset=100:
turbo=0:chroma_opt:me_quality=6:vhq=4:chroma_me:min_iquant=2:
max_iquant=3:min_pquant=2:max_pquant=5:min_bquant=2:max_bquant=6:
overflow_control_strength=0:max_overflow_improvement=4:
max_overflow_degradation=9:curve_compression_low=20:
bitrate=%bitrate%:pass=1 -ffourcc XVID -o "%newFichier%"

rem deuxiéme pass d'encodage
mencoder.exe "%nomFichier%" -oac copy -audio-preload 1.0 -subfont-text-scale 3 -subpos 95 -subcp "cp1252" -font "%font%" -sub "%srtFichier%" -noodml -vf pp=ac,scale=%longeur%:%hauteur%,dsize=-1,harddup -sws 9 -ovc xvid -xvidencopts threads=4:max_bframes=1:bquant_ratio=100:bquant_offset=100:turbo=0:
chroma_opt:me_quality=6:vhq=4:chroma_me:min_iquant=2:max_iquant=3:
min_pquant=2:max_pquant=5:min_bquant=2:max_bquant=6:
overflow_control_strength=0:max_overflow_improvement=4:
max_overflow_degradation=9:curve_compression_low=20:
bitrate=%bitrate%:pass=2 -ffourcc XVID -o "%newFichier%"

@++

samedi 29 mai 2010

Tweak CFG BC2

plop les geek,

J'ai cherché à tweak un peu la cfg de bc2 histoire de ne plus trop avoir de lag.

Pour ca il faut ouvrir le fichier setting.ini qui se trouve sous "C:\Users\\Documents\BFBC2".


[WindowSettings]
Width=1024
Height=768
Fullscreen=true
RefreshRate=50
VSync=false
[Sound]
Quality=low #En utilisant un casque pas besoin de plus

VoipEnable=false #Le chat vocal, pas besoin
SpeakerCount=0 # 0 auto detect ?
[Graphics] # les Graphismes, low,medium ou high à vous de voir par rapport à votre config

Effects=low
Soldiers=low
Vehicles=low
Overgrowth=low
Undergrowth=low
StaticObjects=low
Terrain=low
Shadows=low
Bloom=false #Retire les flocons de neige ect ...
HSAO=false #
Horizontal Based Ambient Occlusion, Gourmand en ressource
MSAA=0 #AA Habituel 0(1x),1(2x) ...
Water=low
MainQuality=custom
Texture=low
DxVersion=9 #A vous de voir 9 10 ou 11
Aniso=0
Detail=low
RenderAheadLimit=0 # 2 à 0 si ca crash remettre à 2
Fov=55 # l'angle de vue à vous de voir calculateur ici

Hello Word

Plop,

Bonjour à ceux qui tombent surement par hasard sur ce blog.

Le but de blog n'est en rien révolutionnaire et ne fais que recenser les tutoriel, guide d'installation, et astuces que j'ai trouvé sur le net et qui m'ont été utile.

Du tweak de cfg pour jeux vidéo, à l'installation de serveur et d'application dans le monde professionnelle ou juste à la maison histoire de s'amuser.

++

Designed by Posicionamiento Web | Bloggerized by GosuBlogger | Blue Business Blogger