Θέλω όμως το εξαγόμενο αρχείο MP3 να έχει writing library τον Lame 3.100 .
Το ffmpeg χρησιμοποιεί ως writing library το Lavf58.76.100.
Πώς μπορώ να το αλλάξω αυτό;
Ποια είναι η εντολή που θα πρέπει να χρησιμοποιήσω;
Ποιο script πρέπει να χρησιμοποιήσω στον Ffmpeg για να είναι μόνιμη αλλαγή.
Ευχαριστώ για τον χρόνο σου.
Δεν έχει σχέση με τεχνικές λεπτομέρειες και ποιότητα.
Θα έλεγα για λόγους …συναισθηματικούς με κίνδυνο να φαίνεται η απάντηση μου αστεία.
Απλώς … όλα τα χρόνια όταν μπορούσα να επιλέξω κωδικοποιητή,επέλεγα τον LAME.
Συν ότι στα 62 μου χρόνια έχω αποκτήσει και κάποιες παραξενιές…
Ευχαριστώ και πάλι.
Ναι αυτό με τις παραξενιές το καταλαβαίνω απόλυτα.
Από όσο είδα το ffmpeg μπορεί να ρυθμιστεί να διαλέγει τον lame για κωδικοποιητή αλλά δεν ξέρω πως μπορεί να γίνει αυτό στο yt-dlp. Ίσως κάποιος πιο έμπειρος να έχει την απάντηση…
Η κωδικοποίση γίνεται με lame, το lavf είναι απλά το κομμάτι του ffmpeg που κάνει τη πλέξη. Μπορείς να πάρεις οποιοδήποτε αρχείο ήχου και να κάνεις τη μετατροπή με ρητή χρήση του lame με την εντολή[0]:
και θα δεις η writing library να είναι πάλι lavf. Στη συγκεκριμένη περίπτωση είναι αναγκαίο γιαί ο lame δέχεται μόνο raw pcm (και αρχεία που περίεχουν raw pcm όπως wav) οπότε αναγκαστικά το αρχικό αρχείο πρέπει να διαβαστεί και να μετατραπεί πριν δωθεί σto lame για να το κωδικοποίησει σε mp3.
Χειροκίνητα αυτό, π.χ. για opus που δίνει το youtube-dl όταν ζητάς bestaudio και extract, γίνεται (η εντολή opusdec βρίσκεται στο πακέτο opus-tools):
Φυσικά αν ήταν m4a ή κάτι άλλο η εντολή διαφέρει ενώ πρέπει να έχεις το κατάλληλο εργαλείο. Εν τέλη αυτή τη δουλειά κάνει το ffmpeg, να είναι ένας ελβετικό σουγιάς για μετατροπές media συνδυάζοντας τα κατάλληλα εργαλεία.