2013-07-29 4 views
2

J'ai utilisé youtube-dl pour télécharger et convertir des vidéos youtube en mp3.mauvaise durée après la conversion de flv en mp3 en utilisant avconv et youtube-dl

youtube-dl http://www.youtube.com/watch?v=4f51DhJR0zo 
-o "Alesso - Think It's Time.flv" -x -f 43 --audio-format mp3 

Il semble maintenant que tous les fichiers mp3 ont une durée longue inhabituelle, en utilisant Amarok, ou quelque chose de similaire, il produira très long intervalle de temps sans son. J'ai regardé le fichier flv, et il semble que l'heure/durée est juste là, mais avconv convertit et change l'heure. La durée originale de song.flv est de 04:42 et celle de sortie.mp3 est de 17:20. Si j'écris

$ avconv -i Rihanna\ -\ Diamonds.mp3 

sortie:

Input #0, mp3, from 'Rihanna - Diamonds.mp3': Metadata: encoder : Lavf53.21.1 Duration: 00:04:42.98, start: 0.000000, bitrate: 117 kb/s Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 32 kb/s At least one output file must be specified

si la sortie de la durée est juste, mais il ne sera pas affiché dans Amarok. D'autre part, Vlc calcule la durée elle-même, mais le temps change continuellement jusqu'à ce que la chanson atteigne la fin. Y at-il un moyen de changer les balises de temps/durée id3_v2 globales, donc je pourrais exécuter un script sur tous mes fichiers après avoir téléchargé depuis youtube-dl. Ou peut-être qu'il y a une correction dans ce bug?

Répondre

1

J'ai rencontré le même problème. CBR: avconv sort des mauvais en-têtes mp3 CBR lors de l'utilisation de l'option -ab (ou -b: a). Outputing pour tuyau résoudre ce problème:

avconv -i file.flv -b:a 128k --audio-format mp3 - > file.mp3 

Note: ce correctif fonctionne uniquement pour CBR mp3, il se casse VBR mp3 qui a besoin d'une sortie directe vers un fichier.

VBR: Si vous utilisez avconv -q: une option (avec un 0 à 9 indicateur de la qualité), vous aurez une sortie de flux audio mp3 VBR:

youtube-dl http://www.youtube.com/watch?v=4f51DhJR0zo 
-o "Alesso - Think It's Time.flv" -x -f 43 -q:a 4 --audio-format mp3 

Avec cette sortie mp3 VBR, vous peut utiliser vbrfix pour fixer le vbrheader et ont une durée correcte:

command vbrfix "Rihanna - Diamonds.mp3" "Rihanna - Diamonds - vbrfixed.mp3" 

la durée de "Rihanna - Diamonds - vbrfixed.mp3" fichier doit être OK.

Source: http://ffmpeg.zeranoe.com/forum/viewtopic.php?f=7&t=377

S'il vous plaît noter que l'utilisation de l'option -AB avec avconv sortie un mp3 CBR qui ne peut pas être fixé avec vbrfix. Avconv semble sortir de mauvais en-têtes pour les fichiers mp3 CBR.

+0

'merci -> vous' monsieur. La sortie sur le tuyau corrige en effet les mauvais en-têtes. Tu gères! – undefinederror

0

J'ai rencontré le même problème. J'ai utilisé Audacity pour faire une conversion par lots des fichiers que j'avais téléchargés/convertis.

Ouvrir Audacity directement Fichier-> Appliquer la chaîne

Ma version d'audace a fourni la chaîne "MP3 de conversion". Je sélectionne cela puis cliquez sur le bouton "Appliquer aux fichiers".

À partir de là, choisissez les fichiers mp3 qui ont la durée incorrecte (je viens sélectionné tous les fichiers dans mon dossier temporaire)

Cela crée un « nettoyé » sous-répertoire et ouvre chaque fichier, ne une normalisation, puis exporte vers un nouveau fichier mp3 avec une durée correcte.

Je n'ai pas vérifié tous les fichiers, mais il semble faire ce que j'ai besoin - il peut nécessiter plus d'investigation de la normalisation et les paramètres d'exportation mp3 sont adaptés.