#1 Le 25/04/2011, à 17:57
- Phoenamandre
ffmpeg et multipiste audio.. Maintenant les sous titres
Bonjour,
je tente de convertir via ffmpeg un fichier mkv (h264 et dts) en webm. Le fichier original contient une piste audio anglais et une française ainsi que des sous-titres. J'aimerais si possible que tous soient inclus lors de la conversion. Mais les plus importants sont les pistes audios et la vidéo.
J'ai donc fais ça
ffmpeg -i "fichier.mkv" -s dimension -sws_flags lanczos -rc_lookahead 16 -b 20000k -keyint_min 0 -g 360 -skip_threshold 0 -level 116 -qmax 40 -threads 0 -acodec libvorbis -ab 320k -ac 2 -ar 48000 "fichier.webm" -i "fichier.mkv" -map 0.0:0.0 -map 0.5:0.0 -acodec libvorbis -ab 320k -ac 2 -ar 48000 -newaudio
Il me répond ça
Stream #1.0(eng): Video: h264, yuv420p, 1920x800, PAR 1:1 DAR 12:5, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc
Stream #1.1(eng): Audio: dca, 48000 Hz, 6 channels, s16
Metadata:
title : DTS 1509 Kbps
Stream #1.2(eng): Subtitle: 0x0000
Stream #1.3(fre): Subtitle: 0x0000
Stream #1.4(fre): Subtitle: 0x0000
Metadata:
title : Forced
Stream #1.5(fre): Audio: dca, 48000 Hz, 6 channels, s16
Metadata:
title : DTS 1509 Kbps
Number of stream maps must match number of output streams
..
Dernière modification par Phoenamandre (Le 28/04/2011, à 15:40)
Hors ligne
#2 Le 25/04/2011, à 18:42
- jamesbad000
Re : ffmpeg et multipiste audio.. Maintenant les sous titres
Il me semble que tu utilise mal l'option -map.
0.0:0.0 synchronise le flux 0.0 avec lui même. Ce qui est à priori superflue (la partie derrière le : n'est en aucun cas obligatoire). En plus tu map 2 flux alors que tu as visiblement repris 3 (un video et 2 audio) si je comprend bien.
D'ailleurs, l'option map n'est peut être tout simplement pas nécessaire, à moins que tu aies la nécessité d'imposer un ordre à tes flux de sortie. (
Autre chose qui me semble bizarre. Tu as 2 fois -i pour le même fichier.
Donc j'essayerais plutôt comme ceci
ffmpeg -i "fichier.mkv" -s dimension -sws_flags lanczos -rc_lookahead 16 -b 20000k -keyint_min 0 -g 360 -skip_threshold 0 -level 116 -qmax 40 -threads 0 -acodec libvorbis -ab 320k -ac 2 -ar 48000 "fichier.webm" -acodec libvorbis -ab 320k -ac 2 -ar 48000 -newaudio
Dernière modification par jamesbad000 (Le 25/04/2011, à 18:43)
L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)
Hors ligne
#3 Le 25/04/2011, à 19:58
- Phoenamandre
Re : ffmpeg et multipiste audio.. Maintenant les sous titres
Lorque je fais ça je me retrouve avec les deux pistes en anglais, du moins selon les noms...
Merci de m'aider !
Hors ligne
#4 Le 25/04/2011, à 20:01
- Phoenamandre
Re : ffmpeg et multipiste audio.. Maintenant les sous titres
Correction, ça fonctionne ! merci !
Hors ligne
#5 Le 28/04/2011, à 15:42
- Phoenamandre
Re : ffmpeg et multipiste audio.. Maintenant les sous titres
Nouveau problème : J'essaye d'intégrer à mon fichier webm les pistes de sous-titre du mkv original... Et pas moyen, de trouver comment faire, la documentation de ffmpeg ne m'aidant pas beaucoup
Hors ligne
#6 Le 28/04/2011, à 20:45
- jamesbad000
Re : ffmpeg et multipiste audio.. Maintenant les sous titres
jamais fait, mais d'après man ffmpeg il faut utiliser -scodec selon le même principe que acodec.
donc pour reprendre les 3 pistes de sous titre de ton flux d'origine ça donnerais :
ffmpeg -i "fichier.mkv" -s dimension -sws_flags lanczos -rc_lookahead 16 -b 20000k -keyint_min 0 -g 360 -skip_threshold 0 -level 116 -qmax 40 -threads 0 -acodec libvorbis -ab 320k -ac 2 -ar 48000 -scodec copy "fichier.webm" -acodec libvorbis -ab 320k -ac 2 -ar 48000 -newaudio -scodec copy -newsubtitle -codec copy -newsubtitle
nb : j'ai mis "copy" pour reprendre le flux sans conversion, et j'ignore quels types de codec existes pour les sous-titre, mais ça doit bien se trouver quelque part...
L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)
Hors ligne
#7 Le 28/04/2011, à 21:35
- twocats
Re : ffmpeg et multipiste audio.. Maintenant les sous titres
J'ai jamais réussi à incruster des sous-titres avec ffmpeg. Par contre avec mplayer c'est relativement facile :
Tu crée un fifo :
mkfifo fifo.y4m
Tu extrait ta vidéo en YUV en intégrant les sous-titres et tu injecte le tout dans l'encoder :
mplayer -sub fichier.srt -nosound -vo yuv4mpeg:file=fifo.y4m fichier.mkv & x264 -B 1800 -o VIDEO_TRACK.mp4 fifo.y4m
Attention, l'exemple que je donne vient d'un script personnel et est fait pour obtenir du H.264. À toi d'adapter.
La réponse est 42
Hors ligne
#8 Le 28/04/2011, à 21:49
- Hizoka
Re : ffmpeg et multipiste audio.. Maintenant les sous titres
ca serait pas plus simple de passer via mkvmerge en cochant la case de conformité webm ?
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#9 Le 29/04/2011, à 15:53
- kurtnoise
Re : ffmpeg et multipiste audio.. Maintenant les sous titres
le conteneur webm ne supporte pas les sous-titres (pour l'instant)...
Hors ligne
#10 Le 30/04/2011, à 13:32
- Phoenamandre
Re : ffmpeg et multipiste audio.. Maintenant les sous titres
Ceci explique cela... pourtant c'est du mkv ?
Hors ligne
#11 Le 30/04/2011, à 21:09
- SamY_42
Re : ffmpeg et multipiste audio.. Maintenant les sous titres
Bonjour !
Je suis moi-même intéressé par la conversion de vidéo vers WebM !
Ceci explique cela... pourtant c'est du mkv ?
D'après ce que j'ai lu, WebM ne supporte pour l'instant qu'une seule piste vidéo et une piste audio. Pour les sous-titres, il faut attendre que les W3C et consorts se décident...
Donc pour l'instant, il faut "hardsubber" / incruster les sous-titres sur la vidéo...
Hors ligne
#12 Le 01/05/2011, à 07:48
- Phoenamandre
Re : ffmpeg et multipiste audio.. Maintenant les sous titres
J'arrive à mettre deux pistes audio, donc ça ça fonctionne. J'ai converti la moitié de mes films full hd en webm, sans les sous titres du coup, mais y'a bien une piste anglaise et une française grace aux réponses apportées dans ce topic
Hors ligne