J'ai une commande FFmpeg pour couper l'audio:
ffmpeg -ss 01:43:46 -t 00:00:44.30 -i input.mp3 output.mp3
Le problème que j'ai avec cette commande est que cette option -t
nécessite une durée (en secondes) de 01:43:46 . Je veux couper l'audio en utilisant les heures de début / fin, par exemple entre 01:43:46 et 00: 01: 45.02 .
Est-ce possible?
ffmpeg
il ne semble rien fournir d'autre qu'une heure de début et une durée. Etmplayer
non plus.Réponses:
ffmpeg semble avoir une nouvelle option -to dans la documentation :
Exemple de commande avec deux formats d'heure
Cela devrait créer une copie (fichier-2.mkv) de file.mkv de la marque de 20 secondes à la marque de 40 secondes.
la source
copy
partie, l'audio / vidéo n'est pas synchronisé, donc je supprime cela et j'ajoute-async 1
et cela fonctionne comme un charme. Bien sûr, cela nécessite un réencodage, donc une amélioration serait une commande qui permettrait lecopy
mais sans les problèmes de synchronisation.ffmpeg -i file.mp3 -ss 10 -to 11 -ss 20 -to 21 -ss 30 -to 31 ....
-to
option:ffmpeg -i mmm.mp4 -ss 00:04:04 -to 00:04:35 -c copy output1.mp4 && ffmpeg -i mmm.mp4 -ss 00:05:47 -to 00:06:05 -c copy output2.mp4 && mencoder -ovc copy -oac mp3lame -idx output1.mp4 output2.mp4 -o complete.mp4
Si vous avez installé PHP, faites-en un script:
Contenu de TimeDiff.php:
contenu audiochop.sh:
Usage:
Où [startchop] et [stopchop] sont tous deux des horodatages absolus depuis le début de la piste.
NB: Les scripts peuvent nécessiter des ajustements en fonction de la version de la plate-forme, etc.
la source