Do testów chcę przekonwertować plik MP3 i WAV na Opus, jakie są kroki, aby to zrobić?
conversion
ogg-opus
Luis Alvarado
źródło
źródło
Odpowiedzi:
Domyślnie konwerter audio dostarczany z opus-tools może konwertować audio w formacie raw, wave lub AIFF. Minimalna składnia wykorzystuje ustawienia domyślne:
Możemy chcieć dodać lepszą przepływność jako domyślną 96 kb / s z opcją
--bitrate N.nnn
(wszystkie opcje znajdziesz na stronie man dla opusenc).Aby przekonwertować mp3 „w locie”. tzn. bez tworzenia pliku tymczasowego możemy przesłać dane wyjściowe z avconv do opusenc w następujący sposób:
źródło
for f in *.flac; do ffmpeg -i "$f" -f wav - | opusenc --bitrate 140 - "${f%.flac}.opus"; done
(Wybrałem 140 jako bitrate, ponieważ zgodnie z tym wystarcza na pliki stereo.Ubuntu 14.04 i Debian 8 są dostarczane z wersją 9
libav-tools
w swoich repozytoriach i ma wbudowaną obsługę Opus poprzez pakietlibopus0
.Przykład 1: Ponownie zakoduj plik audio jako opus
W wersji 9
libav-tools
ilibopus0
zainstalowanej możesz po prostu na przykład:Co robią opcje
-i file.mp3
ustawia plik wejściowy.-map 0:a
wybierze wszystkie strumienie audio (a
) z pliku wejściowego0
. Przeczytaj więcej-map
na https://libav.org/avconv.html#Advanced-options-codec:a opus
wybiera koder opus dla strumieni audio (a
). Dowiedz się więcej-codec
na https://libav.org/avconv.html#Main-options .-b:a 100k
ustawia bitrate audio na 100 kilobitów / s. Dowiedz się więcej-b
na https://libav.org/avconv.html#Codec-AVOptions-vbr on
włącza zmienną szybkość transmisji. Jest to opcja specyficzna dla libopus. Oto wszystkie opcje dla libopus:file.opus
ustawia plik wyjściowy.Przykład 2: Pobierz plik audio z pliku wideo i zakoduj go jako opus
Weź drugi strumień pierwszego wejścia (
-map 0:1
), który jest strumieniem audio. Zakoduj go przy użyciu libopus przy prędkości 100 kbit / s ze zmienną przepływnością na:Po
mediainfo
zainstalowaniu pakietu :źródło
-map 0:a
robi? (A może uszczegółowić całą linię?)Opus 12.04
Jednak w dniu 12.04 (Precyzyjne) występują problemy z zależnością podczas instalowania kodeków i narzędzi opus, więc znalazłem zdecydowanie najlepsze rozwiązanie, które stało się dostępne bardzo niedawno: skompiluj koder i dekoder audio opus, jak wspomniano tutaj , i buduj
ffmpeg
z obsługą opus, dodając--enable-opus
do opcji konfiguracjiffmpeg
(wymienionych w przewodniku kompilacji ).Wiem, że
ffmpeg
jest to przestarzałe w Ubuntu na korzyśćLibav
, ale kompilacja jest dobrym sposobem na zintegrowanie w pełni działającego kodera / dekodera opusffmpeg
. Następnie możesz go użyć do konwersji plików (najpierw do wav), a następnie do.opus
. Dokumentacja zainstalowana z libopus i ffmpeg ujawni wszystkie opcje, których można użyć do konwersji plików.Podczas konwertowania plików
ffmpeg
po kompilacji musisz określić-acodec libopus
lubffmpeg
nie używać kodeka opus:Następnie możesz przetestować plik utworzony za pomocą
Wskazówki dotyczące kompilacji
Nie ma potrzeby reprodukowania tego przewodnika w całości, ale warto zauważyć jedną lub dwie rzeczy:
Najpierw powinieneś zainstalować zależności zgodnie z listą (pomijam
yasm
z listy: patrz mój drugi punkt):Jest jedna kwestia, na którą należy zwrócić uwagę: kompilacja git wydaje się być potrzebna
yasm-1.2
i nie jest dostępna, więc musisz skompilować źródło z oficjalnej strony , ale jest to proste. Wystarczy usunąć wszystkie zainstalowane wersjeyasm
, a następnie rozpakować pobrane archiwumcd
do folderu, uruchomić,./configure && make
a następniesudo checkinstall
. Jeśli jakiekolwiek inne kompilacje wymagają wcześniejszej wersji, możesz po prostu usunąć tę wersję i zainstalować wersję repozytorium.Jest to konieczne, aby usunąć wszelkie istniejące
libav
,ffmpeg
,x264
,libvpx
, lubfdk-aac
pakiety przed rozpoczęciem kompilacji.Jest krytyczny , że skompilować i zainstalować
x264
,fdk-aac
,libvpx
aopus
przed budowaćffmpeg
, jak te biblioteki zostaną wykorzystane w budowie.Nie zapomnij dodać
--enable-opus
do opcji konfiguracji po uruchomieniuffmpeg
kompilacji.Skompilowana wersja opus to 1.1alpha, więc może być konieczne ponowne skompilowanie biblioteki opus i ffmpeg w przyszłości, kiedy zostanie wydana nowa wersja.
Możesz użyć
ffplay
do odtworzenia utworzonych plików opus.źródło
Tak to robię:
EDYTOWAĆ:
Dla audiofilów:
Nie musisz określać
--maxdelay 10
opcji, ponieważopusenc
domyślnie to rób.Dane wyjściowe konsoli dla tej konwersji pliku (
--bitrate 320
):Jest super szybki! Mniej niż 8 sekund ze złożonością 10 (Kodowanie złożoności obliczeniowej (0-10, domyślnie: 10). Zero daje najszybsze kodowanie, ale niższej jakości, podczas gdy 10 daje najwyższą jakość, ale wolniejsze kodowanie) i maksymalny czas opóźnienia 10ms ( Maksymalne opóźnienie kontenera w milisekundach (0-1000, domyślnie: 1000)), więc jeśli pominiesz czas w utworze, efekt przycinania będzie trwał 10 ms, więc będzie niewidoczny (spróbuj z 1000 i usłysz różnicę czasu pomijania z twoim mysz). Domyślnie bitrate to VBR. 320kbps działało dla mnie, więc jest opcjonalne, zagraj z tym numerem:
--bitrate N.nnn
=> Docelowa przepływność w kbit / s (6-256 na kanał)Nawiasem mówiąc, kodowanie z MP3 do OPUS nie jest dobrym pomysłem, nie będzie brzmiało lepiej, ich algorytmy kompresji są zbyt różne. Ale z FLAC, WAV lub dowolnego innego formatu Lossless Audio to inna historia.
Uwaga: Aby zakodować inny plik, wystarczy nacisnąć strzałkę w górę w tym samym terminalu, aby wywołać ostatnie polecenie i zmienić nazwę plików wejściowych i wyjściowych.
Jeśli szukasz GUI ffmpeg / avconv, być może TraGtor jest tym, czego potrzebujesz.
Możesz także sprawdzić różnice w spektrogramach między formatami bezstratnymi i bezstratnymi przy wysokich przepływnościach za pomocą Spek lub Audacity .
źródło
Error parsing input file: Hardvapour remix-.mp3
, że używam 16.04opus-tools
iAudex
.Otwórz Audex i dodaj nowy profil o nazwie Opus, dodaj wzór poleceń;
opusenc $i --comment="TRACKNUMBER="$trackno"" --artist "$artist" --album "$title" --title "$ttitle" --date "$date" --picture "$cover" $o
i przyrostek
opus
źródło