Question originale
Je veux être en mesure de générer un nouveau fichier MP3 (entièrement valide) à partir d'un fichier MP3 existant pour être utilisé comme aperçu - style essayer avant d'acheter. Le nouveau fichier ne doit contenir que les n premières secondes de la piste.
Maintenant, je sais que je pourrais simplement "couper le flux" à n secondes (calcul à partir du débit et de la taille de l'en-tête) lors de la livraison du fichier, mais c'est un peu sale et un vrai PITA sur une piste VBR. J'aimerais pouvoir générer un fichier MP3 approprié.
Quelqu'un a des idées?
Réponses
Les deux mp3split
et ffmpeg
sont à la fois de bonnes solutions. J'ai choisi ffmpeg car il est couramment installé sur les serveurs Linux et est également facilement disponible pour Windows . Voici d'autres bons paramètres de ligne de commande pour générer des aperçus avec ffmpeg
-t <seconds>
hacher après un nombre de secondes spécifié-y
forcer l'écrasement du fichier-ab <bitrate>
définir le débit binaire, par exemple -ab 96k-ar <rate Hz>
régler la fréquence d'échantillonnage, par exemple -ar 22050 pour 22,05 kHz-map_meta_data <outfile>:<infile>
copier les métadonnées de piste d'un fichier à l'autre
au lieu de définir -ab et -ar, vous pouvez copier les paramètres de piste d'origine, comme le suggère Tim Farley, avec:
-acodec copy
Réponses:
Je recommande également ffmpeg, mais la ligne de commande suggérée par John Boker a un effet secondaire involontaire: elle réencode le fichier au débit par défaut (qui est de 64 kb / s dans la version que j'ai ici au moins). Cela peut donner à vos clients une fausse impression de la qualité de vos fichiers audio, et cela prend également plus de temps.
Voici une ligne de commande qui coupera à 30 secondes sans transcodage:
Le commutateur -acodec indique à ffmpeg d'utiliser le codec spécial "copie" qui ne transcode pas. C'est rapide comme l'éclair.
REMARQUE: la commande a été mise à jour en fonction du commentaire d'Oben Sonne
la source
ffmpeg
versions récentes (au moins depuis la 0.10.6) interprètent les options différemment en fonction de la position. Les options liées à l'entrée doivent apparaître avant-i ...
et les options liées à la sortie doivent apparaître après-i ...
. Ce moyenffmpeg -t 30 -i inputfile.mp3 -acodec copy outputfile.mp3
serait maintenant la bonne réponse.-ss hh:mm:ss[.xxx]
. Exemple:ffmpeg -t 30 -ss 00:00:15.500 -i inputfile.mp3 -acodec copy outputfile.mp3
coupera à 30 secondes à partir de 00h 00m 15s 500ms .ffmpeg -i inputfile.mp3 -t 30 -acodec copy outputfile.mp3
alors cela fonctionne parfaitementSi vous souhaitez SUPPRIMER les 30 premières secondes (et conserver le reste), utilisez ceci:
la source
essayer:
la source
Cette commande fonctionne également parfaitement. J'ai rogné mes fichiers musicaux de 20 à 40 secondes.
la source
vous pouvez utiliser mp3cut:
Il est dans ubuntu repo, si juste:
sudo apt-get install cutmp3
.la source
Vous voudrez peut-être essayer Mp3Splt .
Je l'ai déjà utilisé dans un service C # qui enveloppait simplement le processus win32 mp3splt.exe. Je suppose que quelque chose de similaire pourrait être fait dans votre scénario Linux / PHP.
la source
J'ai une erreur en faisant de même
Le correctif pour moi était:
la source
medipack est une application de ligne de commande très simple en guise de wrapper
ffmpeg
.vous pouvez découper votre vidéo à l'aide de ces commandes:
vous pouvez afficher les options de la sous-commande trim comme:
vous pouvez également explorer d'autres options en utilisant
medipack -h
vous pouvez visiter https://github.com/srbcheema1/medipack et consulter des exemples dans README.
la source
ffmpeg -i input -ss <start time> -to <end time> output
-t
qui peut être utilisée alternativement,-e
ce qui signifie que je suppose que je devais couper la prochaine vidéo de 4 minutes 36 secondes, je n'ai pas à m'inquiéter en ajoutant ces temps manuellement, j'ai également fourni une facilité similaire lors du recadrage des vidéos, voir les exemples dans README, vous comprendrez pourquoi sa CLI est plus facile que le simple ffmpeg. Je suis d'accord que ce n'est pas si puissant mais pour une personne normale, c'est un outil pratique.ffmpeg
a l'-to
option qui est ce que vous faites-t
probablement.-vf "crop=iw*0.1:ih*0.1:0:0"