Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Profil H254 avec ffmpeg

10 réponses
Avatar
Alf92
Bonjour,

Quand j'encode avec ffmpeg en H264 j'utilise le paramètre -vcodec libx264, et
j'obtiens un fichier aux caractéristiques suivantes (Mediainfo) :
Format/Info : Advanced Video Codec
Profil du format : High@L2.1
Ce fichier n'est pas lisible sur le player de ma Freebox HD (V5).

Comment faire pour obtenir avec ffmpeg un fichier aux caractéristiques
suivantes, qui lui passe sur la Freebox :
Format/Info : Advanced Video Codec
Profil du format : Baseline@L1.3

Merci

10 réponses

Avatar
Stephane Legras-Decussy
Le 11/05/2012 11:56, Alf92 a écrit :
Bonjour,

Quand j'encode avec ffmpeg en H264 j'utilise le paramètre -vcodec
libx264, et j'obtiens un fichier aux caractéristiques suivantes
(Mediainfo) :
Format/Info : Advanced Video Codec
Profil du format :
Ce fichier n'est pas lisible sur le player de ma Freebox HD (V5).

Comment faire pour obtenir avec ffmpeg un fichier aux caractéristiques
suivantes, qui lui passe sur la Freebox :
Format/Info : Advanced Video Codec
Profil du format :




à priori il faut utiliser les presets avec l'option

-vpre xxxx

http://en.wikibooks.org/wiki/FFMPEG_An_Intermediate_Guide/h.264

(c'est pas garanti que ça marche pareil dans win et linux... grrr)

c'est pas normal amha que la freebox refuse du high ou du main

et level 1.3 c'est 320x288 @30fps ... c'est genre pour les ipods.

je persiste à penser que ffmpeg est inutilisable sans des
-target clairs et testés...

s'en servir à la main et un peu au pif, c'est jouer au testeur fou...
Avatar
Stephane Legras-Decussy
Le 11/05/2012 13:38, Stephane Legras-Decussy a écrit :




sinon tu as cette version de ffmpeg qui contient pas
mal de fichiers preset.

la version officielle ffmpeg.org binaire pour windows
ne contient quasi rien en fichiers preset.

le mec a fait un .bat qu'il est assez facile de décortiquer.

et aussi tu ouvres les fichiers preset avec le bloc note pour
voir les options mystérieuses.

par exemple profil baseline c'est ça :

coder=0
bf=0
flags2=-wpred-dct8x8
wpredp=0
Avatar
Stephane Legras-Decussy
Le 11/05/2012 14:23, Stephane Legras-Decussy a écrit :




le lien :

http://numericapassion.online.fr/?article=guide-ffmpeg-convertissez-vos-videos-a-votre-guise-sous-windows-ou-plus-ou-moins
Avatar
Alf92
"Stephane Legras-Decussy" a écrit dans le message de groupe
de discussion : joj0m6$sbq$
Le 11/05/2012 14:23, Stephane Legras-Decussy a écrit :




le lien :

http://numericapassion.online.fr/?article=guide-ffmpeg-convertissez-vos-videos-a-votre-guise-sous-windows-ou-plus-ou-moins



tout ceci a l'air très intéressant mais lorsque je mets les arguments suivants :
-vcodec libx264 -vpre libx264-baseline
j'ai immanquablement la réponse suivante :
File for preset 'libx264-baseline' not found

j'ai essayé dans tout les sens, impossible à faire fonctionner...
Avatar
Stephane Legras-Decussy
Le 11/05/2012 18:58, Alf92 a écrit :


tout ceci a l'air très intéressant mais lorsque je mets les arguments
suivants :
-vcodec libx264 -vpre libx264-baseline
j'ai immanquablement la réponse suivante :
File for preset 'libx264-baseline' not found

j'ai essayé dans tout les sens, impossible à faire fonctionner...



tu as ouvert le preset baseline avec le notepad ?

tu as ça :
coder=0
bf=0
flags2=-wpred-dct8x8
wpredp=0

donc tu le fais toi même à la main :

ffmpeg -i source -vcodec libx264 -coder 0 -bf 0 ... etc

à noter que -bf 0 ça désactive les B-frame qui sont les trucs les
plus lourds à décoder... d'où l'utilisation du baseline dans les
engins à puissance modeste.
Avatar
Alf92
"Stephane Legras-Decussy" a écrit

tout ceci a l'air très intéressant mais lorsque je mets les arguments
suivants :
-vcodec libx264 -vpre libx264-baseline
j'ai immanquablement la réponse suivante :
File for preset 'libx264-baseline' not found

j'ai essayé dans tout les sens, impossible à faire fonctionner...



tu as ouvert le preset baseline avec le notepad ?

tu as ça :
coder=0
bf=0
flags2=-wpred-dct8x8
wpredp=0

donc tu le fais toi même à la main :

ffmpeg -i source -vcodec libx264 -coder 0 -bf 0 ... etc



oui, j'ai fait ça "à la mano", mais en sortie le fichier est encore en high
profil 2.1.
en tout cas c'est ce qui est indiqué par MediaInfo.

à noter que -bf 0 ça désactive les B-frame qui sont les trucs les
plus lourds à décoder... d'où l'utilisation du baseline dans les
engins à puissance modeste.



oui.

c'est merdique cette gestion de preset dans ffmpeg.
dommage...

de toute manière le problème initial ne vient pas de là.
j'ai remuxé mon fichier MKV (encodé par ffmpeg en H264 high profile / AAC) en
direct stream copy avec MKVtoolnix : ça marche sur la Freebox HD V5.
ce n'était donc pas un pb de profil H264, mais plutot un pb de container MKV ou
d'entête de fichier...


- note 1 : en revanche le même fichier remuxé en direct stream copy avec
MediaCoder ne passe pas sur la FbxHD.

- note 2 : le même fichier réencodé par MediaCoder avec la librairie X264 (et
non ffmpeg) passe correctement sur la FbxHD, toujours en MKV.

- note 3 : le pb venant du container ou de l'entête, j'ai tenté un changement de
container MKV vers AVI.
je n'y suis pas parvenu.
il semble donc, comme je l'ai déjà signalé ici, qu'il soit impossible de mettre
du H264/AAC dans de l'AVI.
Avatar
Stephane Legras-Decussy
Le 12/05/2012 00:28, Alf92 a écrit :

oui, j'ai fait ça "à la mano", mais en sortie le fichier est encore en
high profil 2.1.
en tout cas c'est ce qui est indiqué par MediaInfo.



grrr... voilà pourquoi il m'énerve cet ffmpeg, il fait jamais ce qu'on
pense...

j'ai enfin trouvé ce qui devrait marcher, il suffit de
faire :

-vcodec libx264 -vprofile baseline

ça encode sans erreur chez moi.
ça n'utilise pas les ffpreset mais les preset intégrés dans x264.

(un beau merdier hein ! )


de toute manière le problème initial ne vient pas de là.
j'ai remuxé mon fichier MKV (encodé par ffmpeg en H264 high profile /
AAC) en direct stream copy avec MKVtoolnix : ça marche sur la Freebox HD
V5.
ce n'était donc pas un pb de profil H264, mais plutot un pb de container
MKV ou d'entête de fichier...


- note 1 : en revanche le même fichier remuxé en direct stream copy avec
MediaCoder ne passe pas sur la FbxHD.

- note 2 : le même fichier réencodé par MediaCoder avec la librairie
X264 (et non ffmpeg) passe correctement sur la FbxHD, toujours en MKV.

- note 3 : le pb venant du container ou de l'entête, j'ai tenté un
changement de container MKV vers AVI.
je n'y suis pas parvenu.
il semble donc, comme je l'ai déjà signalé ici, qu'il soit impossible de
mettre du H264/AAC dans de l'AVI.



l'ensemble reste donc un beau merdier absolument pas fiable.

pour moi la conclusion c'est qu'il vaut mieux un soft graphique
fiable qui a fait tout ce boulot à notre place...

mpegStreamclip a bonne réputation, à voir...
Avatar
Alf92
"Stephane Legras-Decussy" a écrit

oui, j'ai fait ça "à la mano", mais en sortie le fichier est encore en
high profil 2.1.
en tout cas c'est ce qui est indiqué par MediaInfo.



grrr... voilà pourquoi il m'énerve cet ffmpeg, il fait jamais ce qu'on
pense...

j'ai enfin trouvé ce qui devrait marcher, il suffit de
faire :

-vcodec libx264 -vprofile baseline

ça encode sans erreur chez moi.
ça n'utilise pas les ffpreset mais les preset intégrés dans x264.



je vais tenter.
mais on peut qd même spécifier la résolution ou autres paramètres ?

(un beau merdier hein ! )


de toute manière le problème initial ne vient pas de là.
j'ai remuxé mon fichier MKV (encodé par ffmpeg en H264 high profile /
AAC) en direct stream copy avec MKVtoolnix : ça marche sur la Freebox HD
V5.
ce n'était donc pas un pb de profil H264, mais plutot un pb de container
MKV ou d'entête de fichier...


- note 1 : en revanche le même fichier remuxé en direct stream copy avec
MediaCoder ne passe pas sur la FbxHD.

- note 2 : le même fichier réencodé par MediaCoder avec la librairie
X264 (et non ffmpeg) passe correctement sur la FbxHD, toujours en MKV.

- note 3 : le pb venant du container ou de l'entête, j'ai tenté un
changement de container MKV vers AVI.
je n'y suis pas parvenu.
il semble donc, comme je l'ai déjà signalé ici, qu'il soit impossible de
mettre du H264/AAC dans de l'AVI.



l'ensemble reste donc un beau merdier absolument pas fiable.

pour moi la conclusion c'est qu'il vaut mieux un soft graphique
fiable qui a fait tout ce boulot à notre place...

mpegStreamclip a bonne réputation, à voir...



essaye MediaEncoder : très propre et très complet.
mais imbitable pour celui qui n'a pas des notions sur l'encodage.
Avatar
Alf92
"Alf92" a écrit

j'ai enfin trouvé ce qui devrait marcher, il suffit de
faire :

-vcodec libx264 -vprofile baseline

ça encode sans erreur chez moi.
ça n'utilise pas les ffpreset mais les preset intégrés dans x264.



je vais tenter.



bien vu ! ça marche avec la distribution officielle (ffmpeg zeranoe).

mais on peut qd même spécifier la résolution ou autres paramètres ?



je me réponds : oui.


au passage :
j'ai fait des test de qualité en SD et à fort taux de compression.
il n'y a quasiment pas de différence entre H264baseline et H264high.
en revanche pour atteindre la même qualité en Xvid il faut quasiment un bitrate
deux fois supérieur.
Avatar
Stephane Legras-Decussy
Le 12/05/2012 11:56, Alf92 a écrit :


bien vu ! ça marche avec la distribution officielle (ffmpeg zeranoe).

mais on peut qd même spécifier la résolution ou autres paramètres ?



je me réponds : oui.




faut bien comprendre la différence entre profil et level.

le moteur H264 est modulable à volonté, c'est comme
si tu pouvais choisir turbo ou pas, double-turbo, echappement
libre, 2 soupapes, 4 soupapes, 5 soupapes... etc

le moteur que tu construis c'est ça le profil.

plus le profil est leger plus c'est leger en consommation CPU
en décodage/encodage.


ensuite le level, c'est le niveau où tu pousses le moteur,
c'est à dire la résolution et fps.

on peut faire du baseline (mono-cylindre 2 temps) poussé
en full HD ... :-)


en pratique aujourd'hui le high 4.0 passe
quasi partout donc c'est juste pour comprendre...