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

FFMPEG : H264 et utilisation de -bufsize ?

7 réponses
Avatar
Alf92
Bonjour

j'encode avec FFMPEG en H264 à débit moyen de 800kbps.

la commande est :

ffmpeg-i INPUT.TS -b:v 800k -minrate 200k -maxrate 1600k -bufsize 500k
-vcodec libx264 -ab 128k -ac 2 -strict experimental -acodec aac
OUPUT.MKV

j'ai mis -bufsize 500k au pif sinon le bitrate n'est pas varaiable.
mais à quoi sert cette valeur, et quelle valeur lui donner ?

merci

7 réponses

Avatar
jdanield
Le 05/04/2013 14:27, Alf92 a écrit :

j'ai mis -bufsize 500k au pif sinon le bitrate n'est pas varaiable.
mais à quoi sert cette valeur, et quelle valeur lui donner ?



dans ce cas précis, je n'en sais rien. En général ca permet de stocker
les données à traiter pour éviter des lectures disques trop fréquentes.

tu peux toujours essayer (mais il faut le faire avec de gros fichiers
sinon ce n'est pas significatif)

jdd
Avatar
Alf92
jdanield a formulé :
Le 05/04/2013 14:27, Alf92 a écrit :

j'ai mis -bufsize 500k au pif sinon le bitrate n'est pas varaiable.
mais à quoi sert cette valeur, et quelle valeur lui donner ?



dans ce cas précis, je n'en sais rien. En général ca permet de stocker les
données à traiter pour éviter des lectures disques trop fréquentes.

tu peux toujours essayer (mais il faut le faire avec de gros fichiers sinon
ce n'est pas significatif)



oui
sur 30 secondes les fichiers vont de 1300Ko à 800Ko
avec respectivement des valeur entre 500 et de 12.

j'aimerais bien savoir qd même ce que c'est...
Avatar
jdanield
Le 05/04/2013 17:42, Alf92 a écrit :

j'aimerais bien savoir qd même ce que c'est...




-bufsize[:stream_specifier] integer (output,audio,video)
set ratecontrol buffer size (in bits)


To force CBR video output:
ffmpeg -i myfile.avi -b 4000k -minrate 4000k -maxrate 4000k -bufsize
1835k out.m2v

To set the video bitrate of the output file to 64 kbit/s:
ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi



c'est tout ce qu'il y a dans le man

jdd
Avatar
Alf92
jdanield a formulé :
Le 05/04/2013 17:42, Alf92 a écrit :

j'aimerais bien savoir qd même ce que c'est...




-bufsize[:stream_specifier] integer (output,audio,video)
set ratecontrol buffer size (in bits)


To force CBR video output:
ffmpeg -i myfile.avi -b 4000k -minrate 4000k -maxrate 4000k -bufsize 1835k
out.m2v

To set the video bitrate of the output file to 64 kbit/s:
ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi

c'est tout ce qu'il y a dans le man



oui j'ai trouvé ça aussi en cherchant
et pour le CBR ça semble logique : bitrate=min=max...
mais toujours pas d'explication sur comment paramétrer ce fichu buffer
size, ni à quoi ça sert.

j'ai lu aussi que la règle était bufsize = biterate/fps
ce qui donne par exemple : 1000/
mais le type qui donne ces valeurs ne donne aucune explication.
bref cela ne nous donne pas la recette sur comment régler au petit
oignons un H264.
minrate et maxrate en fonction du bitrate ?
valeur du bufsize à retenir ?
...?

je suis preneur des petites recettes de chacun.


sinon j'ai enfin trouvé la recette pour manipuler des H264.TS issu de
la TNT HD ou FreeBox sans qu'il y ai de désynchro son :
VideoRedo V4 (appli Win32) avec direct stream copy en container .M2TS
(en container .MP4 il y a des désynchros).
le fichier obtenu peu ensuite être traiter/recompresser avec n'importe
quel video converter.
Avatar
pehache
Le 05/04/13 19:35, Alf92 a écrit :
jdanield a formulé :
Le 05/04/2013 17:42, Alf92 a écrit :

j'aimerais bien savoir qd même ce que c'est...




-bufsize[:stream_specifier] integer (output,audio,video)
set ratecontrol buffer size (in bits)


To force CBR video output:
ffmpeg -i myfile.avi -b 4000k -minrate 4000k -maxrate 4000k -bufsize
1835k out.m2v

To set the video bitrate of the output file to 64 kbit/s:
ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi

c'est tout ce qu'il y a dans le man



oui j'ai trouvé ça aussi en cherchant
et pour le CBR ça semble logique : bitrate=min=max...
mais toujours pas d'explication sur comment paramétrer ce fichu buffer
size, ni à quoi ça sert.

j'ai lu aussi que la règle était bufsize = biterate/fps
ce qui donne par exemple : 1000/
mais le type qui donne ces valeurs ne donne aucune explication.
bref cela ne nous donne pas la recette sur comment régler au petit
oignons un H264.
minrate et maxrate en fonction du bitrate ?
valeur du bufsize à retenir ?
...?

je suis preneur des petites recettes de chacun.



Il n'y a pas déjà des presets x264 dans ffmpeg ?
Avatar
Alf92
pehache a formulé :
Le 05/04/13 19:35, Alf92 a écrit :
jdanield a formulé :
Le 05/04/2013 17:42, Alf92 a écrit :

j'aimerais bien savoir qd même ce que c'est...




-bufsize[:stream_specifier] integer (output,audio,video)
set ratecontrol buffer size (in bits)


To force CBR video output:
ffmpeg -i myfile.avi -b 4000k -minrate 4000k -maxrate 4000k -bufsize
1835k out.m2v

To set the video bitrate of the output file to 64 kbit/s:
ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi

c'est tout ce qu'il y a dans le man



oui j'ai trouvé ça aussi en cherchant
et pour le CBR ça semble logique : bitrate=min=max...
mais toujours pas d'explication sur comment paramétrer ce fichu buffer
size, ni à quoi ça sert.

j'ai lu aussi que la règle était bufsize = biterate/fps
ce qui donne par exemple : 1000/
mais le type qui donne ces valeurs ne donne aucune explication.
bref cela ne nous donne pas la recette sur comment régler au petit
oignons un H264.
minrate et maxrate en fonction du bitrate ?
valeur du bufsize à retenir ?
...?

je suis preneur des petites recettes de chacun.



Il n'y a pas déjà des presets x264 dans ffmpeg ?



ils marchent une fois sur 10 selon les versions de ffmpeg.
et puis j'ai envie de savoir ce que je mets dans ma soupe. :-)
le plaisir de comprendre aussi.
Avatar
Baton .rouge
On Fri, 05 Apr 2013 20:51:31 +0200, Alf92 wrote:

le plaisir de comprendre aussi.



Ne cherche pas à comprendre, achete.
;o))