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 28/12/2013, à 08:59

kykyou

[Résolu] découper 15 sec de .mp4 sur plusieurs fichiers (batch)

bonjour
voila ma question (après avoir cherché partout je ne trouve pas MA solution)

j ai une 100 enne de vidéo en mp4
et je voudrais enlever 15 seconde de pub sur chaque video
supprimer de 00 a 15 seconde sur chaque fichier .mp4 sans re encoder

j ai trouvé cela :

 ffmpeg -ss 00:00:15.00 -i 01.mp4 video-new.mp4

mais ça me re-encode tout et décale le son
je ne veux pas reencoder
je veux tout faire avec une seule ligne de commande

je devrais pouvoir m en sortir avec cette ligne la mais je sais pas faire ..
Découper une vidéo

mencoder 01.mp4 -ss 15 -endpos 99999999 -ovc copy -oac pcm -o cutted.mp4

cette ligne de commande fonctionne presque ... sauf que ca grossis les fichier qui sont en PCM maintenant et comment on fais un batch sans donner les noms , genre pour tous les fichier d un dossier
merci de votre aide

Dernière modification par kykyou (Le 04/01/2014, à 04:57)

Hors ligne

#2 Le 28/12/2013, à 10:23

kykyou

Re : [Résolu] découper 15 sec de .mp4 sur plusieurs fichiers (batch)

je me repond a moi meme ...
j ai trouvé une solution fastidieuse ...
en faite j ai :

ls < kykyou.txt

pour creer la liste
ensuite ouverture de kykyou.txt avec Gnumeric (tableur)
faire deux colonne de la liste par copier coller
enregistrer sous .html
ouverture du fichier html qui ressemble a cela (rejout de 00devant chaque nom de droite)

kykyou.video.perso.n°040.14.11.2010.mp4       00kykyou.video.perso.n°040.14.11.2010.mp4
kykyou.video.perso.n°041.20.11.2010.mp4       00kykyou.video.perso.n°041.20.11.2010.mp4
etc etc etc

tout copier coller dans un nouveau fichier txt
ensuite avec les fonction remplacer , se debrouiller pour incruster les ligne de commande sur chaque ligne :

mencoder kykyou.video.perso.n°040.14.11.2010.mp4 -ss 15 -endpos 9999999999999 -ovc copy -oac pcm -o 00kykyou.video.perso.n°040.14.11.2010.mp4	
mencoder kykyou.video.perso.n°041.20.11.2010.mp4 -ss 15 -endpos 9999999999999 -ovc copy -oac pcm -o 00kykyou.video.perso.n°041.20.11.2010.mp4	
mencoder kykyou.video.perso.n°042.27.11.2010.mp4 -ss 15 -endpos 9999999999999 -ovc copy -oac pcm -o 00kykyou.video.perso.n°042.27.11.2010.mp4	
mencoder kykyou.video.perso.n°043.04.12.2010.mp4 -ss 15 -endpos 9999999999999 -ovc copy -oac pcm -o 00kykyou.video.perso.n°043.04.12.2010.mp4	
mencoder kykyou.video.perso.n°044..mp4 -ss 15 -endpos 9999999999999 -ovc copy -oac pcm -o 00kykyou.video.perso.n°044..mp4 		
mencoder kykyou.video.perso.n°045.18.12.2010.mp4 -ss 15 -endpos 9999999999999 -ovc copy -oac pcm -o 00kykyou.video.perso.n°045.18.12.2010.mp4	
mencoder kykyou.video.perso.n°046.25.12.2010.mp4 -ss 15 -endpos 9999999999999 -ovc copy -oac pcm -o 00kykyou.video.perso.n°046.25.12.2010.mp4	

ouf , (bon ça m as pris 15 min on va dire)
et pour finir j envois tout ça dans le terminal ....
MAIS CA FONCTIONNE !!! j ai fais avec ce que je savais faire ...
mort de rire la solution a deux balle !
j attend votre solution ( des pro du terminal lol)

Dernière modification par kykyou (Le 28/12/2013, à 10:26)

Hors ligne

#3 Le 28/12/2013, à 10:49

pingouinux

Re : [Résolu] découper 15 sec de .mp4 sur plusieurs fichiers (batch)

Bonjour,
Pour créer la liste, c'est

ls > kykyou.txt

et non

ls < kykyou.txt

Ceci devrait marcher :

for f in kykyou*.mp4
do
    mencoder "$f" -ss 15 -endpos 9999999999999 -ovc copy -oac pcm -o 00"$f"
done

Hors ligne

#4 Le 28/12/2013, à 11:13

Zakhar

Re : [Résolu] découper 15 sec de .mp4 sur plusieurs fichiers (batch)

Je confirme le ">" !

"for" est vraiment super pour ce genre de chose.

Sinon tu as aussi :

ls *.mp4 | xargs -t -n1 -I '{}'  mencoder '{}' -ss 15 -endpos 9999999999999 -ovc copy -oac pcm -o 00'{}'

Et si tu te sens aventurier et que tu as un monstre de course, tu peux toujours rajouter un -P0 pour qu'il fasse tout en parallèle, ou plus raisonnablement, un -PN en remplaçant N par le nombre de coeurs de ta machine, ainsi, il va faire N découpages en parallèle.


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#5 Le 28/12/2013, à 11:37

Compte anonymisé

Re : [Résolu] découper 15 sec de .mp4 sur plusieurs fichiers (batch)

Question bête pourquoi, "-oac pcm" et pas "-oac copy" ?

peut-être que dans ton cas ça marche pas mais sinon c'est mieux ça ne réencode pas le son

#6 Le 28/12/2013, à 14:13

Zakhar

Re : [Résolu] découper 15 sec de .mp4 sur plusieurs fichiers (batch)

J'ai vu ça aussi... et présumé que ses bandes sons étaient déjà en PCM ! wink


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#7 Le 30/12/2013, à 16:32

kykyou

Re : [Résolu] découper 15 sec de .mp4 sur plusieurs fichiers (batch)

merci beaucoup
oui pour la liste , jme suis trompé , mais c est une commande que j utilisais sous windows deja ... dir >toto.txt
et c est en pcm car j avais un message  d'erreur qui me proposais de changer oac en pcm ..
je vais tester cela en rentrant chez moi

je viens de tester avec oac copy j ai ce message d erreur a la fin :

videocodec: framecopy (960x720 24bpp fourcc=34363248)
Audio format 0x4134504d is incompatible with '-oac copy', please try '-oac pcm' instead or use '-fafmttag' to override it.

pingouinux et Zakhar vos deux manières de faire fonctionnent mais la première (pingouinux) est plus rapide ..
re merci
si j osais je vous demanderais comment on fait les coller tous ensemble même si ils ne sont pas de la même taille ou codec audio ?
tous ca dans la meme commande bien sur si possible ..

Dernière modification par kykyou (Le 30/12/2013, à 16:53)

Hors ligne

#8 Le 09/03/2015, à 16:51

kykyou

Re : [Résolu] découper 15 sec de .mp4 sur plusieurs fichiers (batch)

je me repond encore a moi meme et a ceux que cela pouraient aider ...
je me suis bien pris la tete pour arriver a encoder le son car avec les commandes plus haut le fichier final etait au moins 2 fois plus gros ... donc  ...
grace a GMencoder a qui j ai piké la commande pour bidouiller avec la mienne , et cela fonctionne carrement super bien ..

pour enlever 15 seconde au debut d une video et reencoder le son a la volée en Lame MP3 ....

for f in *.mp4
do
    mencoder "$f" -ss 15 -endpos 9999999999999 -ovc copy -oac mp3lame -lameopts br=128:q=9:aq=9:cbr:mode=1 -o 00"$f"
done

explication pour les débutants comme moi 

for f in *.mp4 = tout les fichiers .mp4
-ss 15 = enlever 15 seconde
-endpos 9999999999999 = fichier de toutes les durée
-ovc copy = ne pas encoder la vidéo , la copier simplement
-oac mp3lame = encoder le son en lame MP3
-lameopts br=128:q=9:aq=9:cbr:mode=1 , on peut mettre 256 , 320 etc etc cbr = constant bitrate
-o 00"$f" = ajouter 00 au début de nom de chaque fichier ...

merci encore a tous pour votre aide .....

Hors ligne