Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/08/2023, à 22:23

Jarodd

[Résolu] ffmpeg coupe la vidéo, mais pas le son

Bonjour,
J'ai une vidéo avec un jingle de 2 secondes au début. J'essaye de le couper avec ffmpeg :

ffmpeg -i video.mp4 -ss 00:00:02 -c:v copy -c:a copy new_video.mp4

L'image de new_est bien coupée, elle ne contient plus le jingle.
Par contre son son au départ est celui du jingle, ce qui fait que tout le son est décalé de 2 secondes par rapport à la vidéo.

J'ai également essayé en extrayant la vidéo d'un côté, l'audio de l'autre, d'enlever 2 secondes aux 2 fichiers obtenus, puis de les refusionner dans un nouveau fichier. Le décalage n'est plus de 2 secondes, mais il en reste un, visible quand les lèvres bougent sans son qui sort...J'ai l'impression d'être dans Astérix et Cléopâtre et ses "techniques de l'époque" lol

Qu'est-ce que je fais mal dans cette commande ?

Merci pour votre aide.

Edit 13/08 : résolu en passant les options de temps avant le fichier + en enlevant la copie des flux audio et vidéo (et en changeant le codec vidéo le fichier est plus petit)

ffmpeg -ss <temps_de_depart> -to <temps_de_depart> -i <fichier>.mp4 <fichier>.webm

Dernière modification par Jarodd (Le 13/08/2023, à 15:07)


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#2 Le 09/08/2023, à 23:45

hotnuma

Re : [Résolu] ffmpeg coupe la vidéo, mais pas le son

Il me semble que c'est comme ça pour supprimer 2 secondes au début d'une vidéo :

ffmpeg -ss 00:00:02 -i 'video.mp4' -c copy 'new_video.mp4'

Le résultat est différent avec -ss placé avant le -i.

Le problème par contre, c'est qu'avec une copie, on ne pourra pas obtenir une coupe précise, ça coupera un peu trop ou pas assez, il faut réencoder pour avoir une coupe précise. :-P


Xubuntu / GitHub

Hors ligne

#3 Le 10/08/2023, à 10:11

Jarodd

Re : [Résolu] ffmpeg coupe la vidéo, mais pas le son

Bonjour,
Quand tu dis qu'il faut réencoder, cela signifie qu'il faut enlever le "-c copy" ?


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#4 Le 10/08/2023, à 11:36

hotnuma

Re : [Résolu] ffmpeg coupe la vidéo, mais pas le son

Voila, toutafé.

J'utilise ça en général :

ffmpeg -y -i "input.mp4" -aspect "1.66" -vsync 0 -crf 21 -tune film -c:v libx264 -x264-params level=4.1 "output.mp4"

Avec le bon ratio ça va de soit. tongue

Éventuellement des filtres vidéo :

ffmpeg -y -i "input.mp4" -aspect "1.66" -vsync 0 -crf 21 -tune film -c:v libx264 -x264-params level=4.1 -vf "scale=720:576:sws_flags=spline" "output.mp4"

https://ffmpeg.org/ffmpeg-filters.html

Vla.


Xubuntu / GitHub

Hors ligne

#5 Le 10/08/2023, à 11:53

Jarodd

Re : [Résolu] ffmpeg coupe la vidéo, mais pas le son

Euh d'accord, laquelle je dois mettre là dedans ?


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#6 Le 10/08/2023, à 12:29

hotnuma

Re : [Résolu] ffmpeg coupe la vidéo, mais pas le son

La première avec le bon ratio à la place de "1.66" genre "4:3", "16:9" suivant le ratio.


Xubuntu / GitHub

Hors ligne

#7 Le 10/08/2023, à 12:31

Jarodd

Re : [Résolu] ffmpeg coupe la vidéo, mais pas le son

Donc le fait de mettre une option de ratio d'image corrigera le décalage de son ?


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#8 Le 10/08/2023, à 13:34

hotnuma

Re : [Résolu] ffmpeg coupe la vidéo, mais pas le son

Non rien à voir mais il faut la bonne valeur et l'option -ss placée avant le -i, par exemple :

ffmpeg -y -ss 00:00:02 -i "input.mp4" -aspect "4:3" -vsync 0 -crf 21 -tune film -c:v libx264 -x264-params level=4.1 "output.mp4"

On enlève 2s au début et on encode en -crf 21 en 4:3.

Pour faire un essai d'encodage voir l'option -t, par exemple encoder un extrait d'une minute  :

ffmpeg -y -ss 00:00:02 -i "input.mp4" -aspect "4:3" -vsync 0 -crf 21 -tune film -c:v libx264 -x264-params level=4.1 -t 00:01:00 "output.mp4"

Vla.


Xubuntu / GitHub

Hors ligne

#9 Le 10/08/2023, à 15:04

Jarodd

Re : [Résolu] ffmpeg coupe la vidéo, mais pas le son

Ok je te remercie.
J'ai commencé à faire quelques tests, et l'option -ss avant le -i rétablit bien la synchronisartion avec la vidéo.
Par contre ça me donne une bouille de pixels pendant quelques secondes, j'ai été obligé de faire la coupure à 4 secondes au lieu de 2.
Je vais ajouter les autres options une par une pour bien comprendre ce que ça fait.
Edit : si on veut couper la vidéo à la fin, l'option -to doit-elle aussi être placée avant l'option -i, ou après ?
Edit : je me réponds, le -to peut aussi être placé avant le -i.

Dernière modification par Jarodd (Le 12/08/2023, à 22:18)


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#10 Le 12/08/2023, à 22:13

Jarodd

Re : [Résolu] ffmpeg coupe la vidéo, mais pas le son

Bonjour,
Je suis un peu perdu.
L-option -ss en première position synchronise bien le son, mais j'ai une bouillie de pixels, quel que soit le temps coupé (je suis allé jusqu'à 10 secondes et c'est toujours une bouille).
Avec l'option -ss après le -i, l'image est bonne, mais je retombe sur le problème de son.
Pour réencoder, les propriétés fichier de VLC indiquent que le codec vidéo est "Google ON2's VP9 video (VP90)". D'après mes recherches c'est du webm. Sauf que mon fichier est un mp4, doc je ne sais pas quoi mettre pour l'argument -c:v.
Pour les autres arguments, ratio, crf,... je ne sais absolument pas quoi mettre. Je ne sais pas si c'est nécessaire de les mettre, vu que le problème semble bien venir de l'ordre des options, c'est "à moitié" résolu en changeant l'ordre des -ss et -i. Le problème est qu'ils ne peuvent pas tous les deux être en première position...

Edit : il est apparemment possible de mettre deux fois l'option -ss. Mais je ne comprends pas ce que ça donne en sortie...

Dernière modification par Jarodd (Le 12/08/2023, à 22:17)


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne

#11 Le 13/08/2023, à 14:10

Jarodd

Re : [Résolu] ffmpeg coupe la vidéo, mais pas le son

J'ai à peu près réussi, avec "-ss" et "-to" avant "-i", en réencodant le fichier.
ffmpeg applique par défaut du mpeg4 au lieu du webm de départ, le fichier prend 10% de plus (pareil en forçant webm en sortie), mais l'essentiel est là, je peux couper le début et la fin de la vidéo smile (edit : en webm une fois l'encodage finalisé, la taille du fichier est réduite de deux tiers !)
Merci hotnuma de m'avoir mis sur la piste de l'ordre des options.

Dernière modification par Jarodd (Le 13/08/2023, à 14:58)


Ubuntu 22.04.3 LTS (64 bits)

Hors ligne