Jak korzystać z ffmpeg do konwersji ape na mp3?

10

Próbuję użyć ffmpeg na Ubuntu 13.10 do konwersji AP3 na MP3?

Zainstalowałem ffmpeg , ale pojawia się ten błąd, gdy go używam. Powiedz mi, jak mogę to naprawić?

$ ffmpeg -i CD1_Age_0-3_Baby.ape CD1_Age_0-3_Baby.mp3
ffmpeg version 0.8.9-6:0.8.9-0ubuntu0.13.10.1, Copyright (c) 2000-2013 the Libav developers
  built on Nov  9 2013 19:15:22 with gcc 4.8.1
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
Input #0, ape, from 'CD1_Age_0-3_Baby.ape':
  Metadata:
    Album           : MOZART EFFECT I - ENLIGHTMENT
    Title           : C:\[APE SET] Ī����ЧӦ-�������ǵ����� 4CDS\CDImage01
    Genre           : Classical
    Year            : 2002
    Comment         : Exact Audio Copy
  Duration: 01:09:17.75, start: 0.000000, bitrate: 656 kb/s
    Stream #0.0: Audio: ape, 44100 Hz, stereo, s16
Output #0, mp3, to 'CD1_Age_0-3_Baby.mp3':
    Stream #0.0: Audio: [0][0][0][0] / 0x0000, 44100 Hz, stereo, s16, 200 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
Encoder (codec id 86017) not found for output stream #0.0
Michał
źródło

Odpowiedzi:

9

Najpierw upewnij się, że masz libavcodec-extra-53pakiet do kodowania do formatu mp3.

sudo apt-get install libavcodec-extra-53  

Spróbuj przekonwertować plik .ape na .mp3 za pomocą ffmpeg, a otrzymasz następujący komunikat:

*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release.   
Please use avconv instead.

To ten sam komunikat o błędzie, który otrzymałeś w swoim pytaniu. Więc użyj avconvzamiast tego. Program avconv jest dostarczany przez pakiet libav-tools z Centrum oprogramowania Ubuntu. avconv, podobnie jak ffmpeg, jest uruchamiany z terminala.

W tym przykładzie bitrate 256 kb / s dla pliku output.mp3 i id3v2_version 3 dla znaczników metadanych. Najpierw zmień katalog za pomocą cdpolecenia na ten sam katalog, w którym znajduje się konwertowany plik input.ape. Następnie uruchom polecenie:

avconv -i 'input.ape' -id3v2_version 3 -codec:a libmp3lame -b 256k 'output.mp3'

Uwaga: Polecenie: ffmpeg -i '10 Make Peace.ape' -acodec libmp3lame -b 256k -id3v2_version 3 '10 Make Peace.mp3'wykona również konwersję do formatu mp3 przy użyciu ffmpeg, ale pojawi się THIS PROGRAM IS DEPRECATEDkomunikat o błędzie. Pakiet ffmpeg jest nadal dostępny w Ubuntu 13.10 i wcześniejszych wersjach.

W Ubuntu 14.04 pakiet biblioteki kodeków Libav (dodatkowe kodeki) (libavcodec-extra-53) został zaktualizowany do libavcodec-extra-54. W Ubuntu 14.10 i 15.04 pakiet biblioteki kodeków Libav (dodatkowe kodeki) został zaktualizowany do libavcodec-extra-56.

Aktualizacje dla Ubuntu 15.10 i nowszych

W Ubuntu 15.10 i 16.04 pakiet biblioteki kodeków Libav (dodatkowe kodeki) został zaktualizowany do libavcodec-ffmpeg-extra56.

W Ubuntu 16.10, 17.04, 17.10 i 18.04 pakiet biblioteki kodeków Libav (dodatkowe kodeki) został zaktualizowany do libavcodec-extra57.

W Ubuntu 18.10 i 19.04 pakiet biblioteki kodeków Libav (dodatkowe kodeki) został zaktualizowany do libavcodec-extra58.

Karel
źródło
2
Zauważ, że komunikat „przestarzałe” odnosi się ffmpegz Libav (rozwidlenie FFmpeg), a nie ffmpegz FFmpeg.
llogan
1
Nie komunikat o błędzie jest na dole: Encoder (codec id 86017) not found for output stream #0.0. Uruchomienie tego samego programu z inną nazwą nie naprawia żadnego prawdziwego problemu, po prostu tłumi fagoterię Libav, ale -codec:a libmp3lamemoże być naprawą tego problemu.
LiveWireBT
5

Masz sześć głównych opcji kodowania do formatu MP3 za pomocą ffmpeg:

  • Unikaj wprowadzającego w błąd bałaganu, który został wymuszony na użytkownikach Ubuntu, i po prostu pobierz, rozpakuj i uruchom najnowszą wersję Linuxffmpeg . Włóż to, ~/bina następnie zaloguj się ponownie. Teraz po uruchomieniu ffmpegużyje tej nowej wersji. To najłatwiejsza opcja .

  • Postępuj zgodnie z instrukcjami krok po kroku, aby skompilować rzeczywistyffmpeg kodek z dowolnymi kodekami i funkcjami.

  • Zainstaluj ffmpegz Ubuntu Multimedia for Trusty PPA (dla użytkowników 14.04).

  • Zainstaluj libavcodec-extra-*pakiet, aby włączyć kodowanie MP3 przez libmp3lame w buggy avconvlub gównianym, starym, fałszywym ffmpeg.

  • Potokuj lamei używaj go do kodowania:ffmpeg -i input -f wav - | lame - output.mp3

  • Zaktualizuj system Ubuntu i użyj ffmpegpakietu z repozytorium. Real ffmpegz FFmpeg powrócił do Ubuntu w Vivid 15.04.

Llogan
źródło
2
Z mojego doświadczenia wynika, że ​​większość problemów z konwersją wideo rozwiązuje się, instalując prawdziwy ffmpeg. Używam kompilacji statycznych --- bez instalacji, bez kłopotów, bez kompresji i startu --- podanych w linku w tej odpowiedzi od co najmniej dwóch lat (czasem aktualizowania) i nie miałem żadnego problemu.
Rmano
1

Oto kolejny skrypt, który może pomóc ludziom. Musisz go skopiować do folderu głównego plików małp, które chcesz przekonwertować.

#!/bin/bash

set -e

# Script Name:  convert_ape2mp3.sh
#
# Description:  The script will recursively find all *.ape files
#   and then convert them to mp3 files.
#   This script has been tested on Ubuntu 14.04 
#   
# Dependencies: (you will need to install the following library prior
#                to running this script.)
#     sudo apt-get install libav-tools
# avconv -i '01_Tori Amos_Beauty Queen - Horses.ape' -id3v2_version 3 -codec:a libmp3lame -b 320k '01_Tori Amos_Beauty Queen - Horses.mp3'

# Optional:  After conversion is complete if you want you can 
#   remove all the ape files.
#   find . -type f -name "*.ape" 
#   find . -type f -name "*.ape" -exec rm {} \;

find . -name "*.ape" -print0 | while IFS= read -r -d '' FILE; do
    echo "### Converting $FILE..."
    echo avconv -i "$FILE" -id3v2_version 3 -codec:a libmp3lame -b 320k "${FILE%.*}.mp3";
    avconv -i "$FILE" -id3v2_version 3 -codec:a libmp3lame -b 320k "${FILE%.*}.mp3";

done
Michael Kreeger
źródło
1

Z libav_toolsi libmp3lamezainstalowany w katalogu, w którym znajdują się pliki ape wpisać w terminalu:

$ for f in *.ape; do
      avconv -i "$f" -id3v2_version 3 -codec:a libmp3lame -ab 320k "${f%.ape}.mp3"
done

Dzięki temu wszystkie pliki małp w katalogu są konwertowane na mp3 stereo 320kb, a znaczniki w plikach małp są przestrzegane.

David G.
źródło
1
Sprawdź swój blok kodu. To nie ma sensu (przynajmniej dla mnie).
Cbhihe
Blok kodu ma idealny sens. Instrukcja for uniemożliwia terminalowi wykonanie polecenia po naciśnięciu klawisza Enter. Gotowe kończy pętlę, podczas gdy dwie linie pośrodku znajdują się wewnątrz pętli.
Zzzach ...
@Zzzach ...: dziękuję bardzo. Pfeww! Nareszcie, wiem, bash! ;-) Poważniej, spójrz na formatowanie tego bloku kodu przed edycją ...
Cbhihe,
0

Poniższy skrypt konwertuje rekurencyjnie wszystkie pliki wma na mp3, zaczynając od ścieżki, w której wykonywane jest polecenie find. Stare pliki wma zostaną usunięte !!!

Scenariusz:

#!/bin/bash
#Command to call wma2mp3 script
#find . -name "*wma" -exec ~/wma2mp3 {} \;

ffmpeg -sameq -i "$1" "${1%.*}.mp3";
rm -f "$1";
użytkownik306622
źródło
Witamy w AskUbuntu! Czy możesz edytować swój post, aby skrypt był łatwiejszy do odczytania. (Użyj> lub 4 spacji przed każdą linią)
No Time