Per i test, desidero convertire un file MP3 e WAV in Opus, quali sono i passaggi per farlo?
Per i test, desidero convertire un file MP3 e WAV in Opus, quali sono i passaggi per farlo?
Risposte:
Per impostazione predefinita, il convertitore audio fornito con gli strumenti opus può convertire l'audio in formato raw, wave o AIFF. La sintassi minima utilizza le impostazioni predefinite:
opusenc input.wav output.opus
Potremmo voler aggiungere un bitrate migliore come predefinito di 96 kbps con l'opzione --bitrate N.nnn
(per tutte le opzioni consultare la manpage di opusenc).
Per convertire mp3 "al volo". cioè senza creare un file temporaneo possiamo convogliare l'output da avconv a opusenc in questo modo:
avconv -i input.mp3 -f wav - | opusenc --bitrate 256 - output.opus
Ubuntu 14.04 e Debian 8 vengono forniti con la versione 9 di libav-tools
nei loro repository e ha il supporto integrato per Opus attraverso il pacchetto libopus0
.
Con la versione 9 libav-tools
e libopus0
installata puoi, ad esempio, semplicemente fare:
avconv -i file.mp3 -map 0:a -codec:a opus -b:a 100k -vbr on file.opus
-i file.mp3
imposta il file di input.-map 0:a
selezionerà tutti i flussi audio ( a
) dal file di input 0
. Maggiori informazioni -map
su https://libav.org/avconv.html#Advanced-options-codec:a opus
seleziona il codificatore opus per i flussi audio ( a
). Maggiori informazioni -codec
su https://libav.org/avconv.html#Main-options .-b:a 100k
imposta il bitrate dell'audio su 100 kilobit / s. Maggiori informazioni -b
su https://libav.org/avconv.html#Codec-AVOptions-vbr on
attiva il bitrate variabile. Questa è un'opzione specifica per libopus. Ecco tutte le opzioni per libopus:
$ avconv -h full | grep opus -A 11
avconv version 9.11-6:9.11-3+b2, Copyright (c) 2000-2013 the Libav developers
built on Apr 6 2014 17:45:45 with gcc 4.8 (Debian 4.8.2-16)
libopus AVOptions:
-application <int> E..A. Intended application type
voip E..A. Favor improved speech intelligibility
audio E..A. Favor faithfulness to the input
lowdelay E..A. Restrict to only the lowest delay modes
-frame_duration <float> E..A. Duration of a frame in milliseconds
-packet_loss <int> E..A. Expected packet loss percentage
-vbr <int> E..A. Variable bit rate mode
off E..A. Use constant bit rate
on E..A. Use variable bit rate
constrained E..A. Use constrained VBR
file.opus
imposta il file di output.
Prendi il secondo stream del primo input ( -map 0:1
), che è il flusso audio. Codificalo con libopus a 100 kbit / s con bitrate variabile su:
$ avconv -stats -i linuxactionshowep309-432p.mp4 -map 0:1 -c libopus -b 100k linuxactionshowep309-432p-audio-only.opus
avconv version 9.11-6:9.11-3+b2, Copyright (c) 2000-2013 the Libav developers
built on Apr 6 2014 17:45:45 with gcc 4.8 (Debian 4.8.2-16)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'linuxactionshowep309-432p.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf55.33.100
Duration: 01:14:48.45, start: 0.042667, bitrate: 466 kb/s
Stream #0.0(und): Video: h264 (High), yuv420p, 768x432 [PAR 1:1 DAR 16:9], 330 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc
Stream #0.1(und): Audio: aac, 48000 Hz, stereo, fltp, 128 kb/s
Output #0, ogg, to 'linuxactionshowep309-432p-audio-only.opus':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf54.20.3
Stream #0.0(und): Audio: libopus, 48000 Hz, stereo, flt, 100 kb/s
Stream mapping:
Stream #0:1 -> #0:0 (aac -> libopus)
Press ctrl-c to stop encoding
size= 54360kB time=4488.47 bitrate= 99.2kbits/s
video:0kB audio:53875kB global headers:0kB muxing overhead 0.900602%
Con il pacchetto mediainfo
installato:
$ mediainfo linuxactionshowep309-432p-audio-only.opus
General
Complete name : linuxactionshowep309-432p-audio-only.opus
Format : OGG
File size : 53.1 MiB
Duration : 1h 14mn
Overall bit rate : 99.2 Kbps
Writing application : Lavf54.20.3
major_brand : isom
minor_version : 512
compatible_brands : isomiso2avc1mp41
Audio
ID : 2104437746 (0x7D6F2BF2)
Format : Opus
Duration : 1h 14mn
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy
Writing library : Lavf54.20.3
-map 0:a
fa? (E forse dettagliare l'intera riga?)
Opus il 12.04
Il 12.04 (Preciso), tuttavia, ci sono problemi di dipendenza con l'installazione dei codec e degli strumenti opus, quindi ho trovato di gran lunga la soluzione migliore è quella che è diventata disponibile molto di recente: compilare il codificatore e il decoder audio opus come indicato qui , e compilare ffmpeg
con il supporto di opus aggiungendo --enable-opus
alle opzioni di configurazione di ffmpeg
(come elencato nella guida alla compilazione ).
So che ffmpeg
è deprecato in Ubuntu a favore Libav
, ma la compilazione è un buon modo per ottenere un codificatore / decodificatore opus perfettamente funzionante integrato in ffmpeg
se stesso. Puoi quindi usarlo per convertire i file (prima in wav) e poi in .opus
. La documentazione installata con libopus e ffmpeg rivelerà tutte le opzioni che possono essere utilizzate per convertire i file.
Quando si convertono file con ffmpeg
dopo la compilazione, è necessario specificare -acodec libopus
o ffmpeg
non utilizzare il codec opus:
ffmpeg -i pc.wav -ar 48000 -ac 2 -acodec libopus -ab 256k man.opus
È quindi possibile testare il file creato con
ffplay man.opus
Suggerimenti per la compilazione
Non è necessario riprodurre la guida qui nella sua interezza, ma vale la pena notare una o due cose:
Dovresti prima installare le dipendenze come elencate (ometto yasm
dalla lista: vedi il mio secondo punto):
sudo apt-get -y install autoconf build-essential checkinstall git libass-dev libfaac-dev libgpac-dev libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev librtmp-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libx11-dev libxext-dev libxfixes-dev pkg-config texi2html zlib1g-dev
C'è un problema che dovrebbe essere sottolineato: la build git sembra volere yasm-1.2
, e non è disponibile, quindi devi compilare la fonte dal sito ufficiale , ma è semplice. Basta rimuovere tutte le versioni installate di yasm
, quindi decomprimere l'archivio scaricato, cd
nella cartella, eseguire ./configure && make
e quindi sudo checkinstall
. Se qualsiasi altra build richiede la versione precedente, puoi semplicemente rimuovere questa versione e installare la versione del repository.
E 'necessario rimuovere qualsiasi esistente libav
, ffmpeg
, x264
, libvpx
, o fdk-aac
pacchetti prima di iniziare la compilazione.
E ' fondamentale che si compila e si installa x264
, fdk-aac
, libvpx
e opus
prima di costruire ffmpeg
, come quelle librerie saranno utilizzati nella build.
Non dimenticare di aggiungere --enable-opus
alle opzioni di configurazione quando si esegue la ffmpeg
compilazione.
La versione di opus compilata era 1.1alpha, quindi potrebbe essere necessario ricompilare nuovamente la libreria opus e ffmpeg in futuro quando verrà rilasciata una nuova versione.
È possibile utilizzare ffplay
per riprodurre tutti i file opus creati.
Ecco come lo faccio:
$ opusenc --bitrate 320 --max-delay 10 "18 - Soul Asylum - Runaway Train (Versione dell'album) .flac" "18 - Soul Asylum - Runaway Train (Versione dell'album) .opus"
MODIFICARE:
Per gli audiofili:
$ opusenc --bitrate 510 --max-delay 10 "18 - Soul Asylum - Runaway Train (Versione dell'album) .flac" "18 - Soul Asylum - Runaway Train (Versione dell'album) .opus"
Non è necessario specificare l' --maxdelay 10
opzione perché opusenc
farlo per impostazione predefinita.
Output della console per questa conversione di file ( --bitrate 320
):
Encoding using libopus 1.1.2 (audio)
-----------------------------------------------------
Input: 44.1kHz 2 channels
Output: 2 channels (2 coupled)
20ms packets, 320kbit/sec VBR
Preskip: 356
Encoding complete
-----------------------------------------------------
Encoded: 4 minutes and 22.4 seconds
Runtime: 8 seconds
(32.8x realtime)
Wrote: 10955530 bytes, 13120 packets, 13124 pages
Bitrate: 317.691kbit/s (without overhead)
Instant rates: 1.2kbit/s to 510.4kbit/s
(3 to 1276 bytes per packet)
Overhead: 4.89% (container+metadata)
È super veloce! Meno di 8 secondi con una complessità di 10 (Codifica della complessità computazionale (0-10, impostazione predefinita: 10). Zero fornisce i codici più veloci ma qualità inferiore, mentre 10 fornisce i parametri di qualità più alta ma più lenti) e un tempo di ritardo massimo di 10 ms ( Ritardo massimo del contenitore in millisecondi (0-1000, impostazione predefinita: 1000)), quindi se salti il tempo in una canzone, l'effetto di ritaglio avrà una durata di 10 ms, quindi è impercettibile (prova con 1000 e ascolta la differenza del tempo di salto con il tuo topo). Bitrate è VBR per impostazione predefinita. 320kbps hanno funzionato per me, quindi è facoltativo, gioca con questo numero:
--bitrate N.nnn
=> Target bitrate in kbit / sec (6-256 per canale)
A proposito, la codifica da MP3 a OPUS non è una buona idea, non suonerà meglio, i loro algoritmi di compressione sono troppo diversi. Ma da FLAC o WAV o qualsiasi altro formato audio senza perdita , questa è un'altra storia.
Nota: per codificare un altro file, basta premere la freccia su nello stesso terminale per chiamare l'ultimo comando e modificare il nome dei file di input e output.
Se stai cercando una GUI di ffmpeg / avconv, forse TraGtor è ciò di cui hai bisogno.
Puoi anche controllare le differenze di spectogramma tra i formati Lossless e Lossy ad alti bitrate con Spek o Audacity .
Error parsing input file: Hardvapour remix-.mp3
che sto usando 16.04
opus-tools
e Audex
.Apri Audex e aggiungi un nuovo profilo chiamato Opus, aggiungi Pattern di comando;
opusenc $i --comment="TRACKNUMBER="$trackno"" --artist "$artist" --album "$title" --title "$ttitle" --date "$date" --picture "$cover" $o
e suffisso opus