Untuk pengujian, saya ingin mengonversi file MP3 dan WAV yang saya miliki ke Opus, apa langkah-langkah untuk melakukan ini?
Untuk pengujian, saya ingin mengonversi file MP3 dan WAV yang saya miliki ke Opus, apa langkah-langkah untuk melakukan ini?
Jawaban:
Per default, konverter audio yang dikirimkan dengan alat-alat opus dapat mengkonversi audio dalam format mentah, gelombang atau AIFF. Sintaks minimal menggunakan pengaturan default:
opusenc input.wav output.opus
Kami mungkin ingin menambahkan bitrate yang lebih baik sebagai default 96 kbps dengan opsi --bitrate N.nnn
(untuk semua opsi lihat halaman manual untuk opusenc).
Untuk mengkonversi mp3 "on the fly". yaitu tanpa membuat file sementara kita dapat mem-pipe output dari avconv ke opusenc seperti ini:
avconv -i input.mp3 -f wav - | opusenc --bitrate 256 - output.opus
Ubuntu 14.04 dan Debian 8 dikirimkan dengan versi 9 libav-tools
di repositori mereka, dan Ubuntu memiliki dukungan bawaan untuk Opus melalui paketlibopus0
.
Dengan versi 9 libav-tools
dan libopus0
diinstal Anda dapat, misalnya, melakukan:
avconv -i file.mp3 -map 0:a -codec:a opus -b:a 100k -vbr on file.opus
-i file.mp3
mengatur file input.-map 0:a
akan memilih semua stream audio ( a
) dari file input 0
. Baca lebih lanjut tentang -map
di https://libav.org/avconv.html#Advanced-options-codec:a opus
memilih encoder opus untuk stream audio ( a
). Baca lebih lanjut tentang -codec
di https://libav.org/avconv.html#Main-options .-b:a 100k
mengatur bitrate audio ke 100 kilobit / s. Baca lebih lanjut tentang -b
di https://libav.org/avconv.html#Codec-AVOptions-vbr on
mengaktifkan bitrate variabel. Ini adalah opsi khusus untuk libopus. Berikut ini semua opsi untuk 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
mengatur file output.
Ambil aliran kedua dari input pertama ( -map 0:1
), yang merupakan aliran audio. Encode dengan libopus pada 100 kbit / s dengan bitrate variabel pada:
$ 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%
Dengan paket mediainfo
diinstal:
$ 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
? (Dan mungkin merinci seluruh baris?)
Opus pada 12.04
Pada 12.04 (Precise), bagaimanapun, ada masalah ketergantungan dengan menginstal codec dan alat-alat opus, jadi saya telah menemukan sejauh ini solusi terbaik adalah yang telah tersedia baru-baru ini: kompilasi audio encoder dan decoder opus seperti disebutkan di sini , dan membangun ffmpeg
dengan dukungan opus dengan menambahkan --enable-opus
opsi konfigurasi ffmpeg
(seperti yang tercantum pada panduan kompilasi ).
Saya tahu itu ffmpeg
sudah usang di Ubuntu Libav
, tetapi kompilasi adalah cara yang baik untuk mendapatkan opus encoder / decoder yang berfungsi penuh terintegrasi ke dalam ffmpeg
dirinya sendiri. Anda kemudian dapat menggunakannya untuk mengkonversi file (pertama ke wav) dan kemudian ke .opus
. Dokumentasi yang dipasang dengan libopus dan ffmpeg akan mengungkapkan semua opsi yang dapat digunakan untuk mengonversi file.
Saat mengonversi file dengan ffmpeg
setelah kompilasi, Anda harus menentukan -acodec libopus
atau ffmpeg
tidak akan menggunakan opus codec:
ffmpeg -i pc.wav -ar 48000 -ac 2 -acodec libopus -ab 256k man.opus
Anda kemudian dapat menguji file yang dibuat dengan
ffplay man.opus
Tips Kompilasi
Tidak perlu mereproduksi panduan di sini secara keseluruhan, tetapi perlu dicatat satu atau dua hal:
Pertama-tama Anda harus menginstal dependensi seperti yang tercantum (saya hilangkan yasm
dari daftar: lihat poin kedua saya):
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
Ada satu masalah yang harus ditunjukkan: git build tampaknya ingin yasm-1.2
, dan itu tidak tersedia, jadi Anda harus mengkompilasi sumber dari situs resmi , tetapi sederhana. Hapus saja versiyasm
, kemudian ekstrak arsip yang diunduh, cd
ke folder, jalankan ./configure && make
dan kemudian sudo checkinstall
. Jika ada bangunan lain yang memerlukan versi sebelumnya, Anda bisa menghapus versi ini dan menginstal versi repositori.
Hal ini diperlukan untuk menghapus yang ada libav
, ffmpeg
,x264
, libvpx
, atau fdk-aac
paket sebelum Anda mulai kompilasi.
Hal ini penting bahwa Anda mengkompilasi dan menginstal x264
, fdk-aac
,libvpx
dan opus
sebelum Anda membangun ffmpeg
, karena perpustakaan tersebut akan digunakan dalam membangun.
Jangan lupa untuk menambahkan --enable-opus
opsi konfigurasi ketika Anda menjalankan ffmpeg
kompilasi.
Versi opus yang dikompilasi adalah 1.1alpha, jadi Anda mungkin perlu mengkompilasi ulang pustaka opus dan ffmpeg di masa depan lagi ketika versi baru dirilis.
Anda dapat menggunakan ffplay
untuk memutar file opus apa pun yang Anda buat.
Begitulah cara saya melakukannya:
$ opusenc --bitrate 320 --max-delay 10 "18 - Soul Asylum - Runaway Train (Versi Album) .flac" "18 - Soul Asylum - Runaway Train (Versi Album) .opus"
EDIT:
Untuk Audiophiles:
$ opusenc --bitrate 510 --max-delay 10 "18 - Soul Asylum - Runaway Train (Versi Album) .flac" "18 - Soul Asylum - Runaway Train (Versi Album) .opus"
Tidak perlu menentukan --maxdelay 10
opsi karena opusenc
melakukan ini secara default.
Output Konsol untuk konversi file ini ( --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)
Ini sangat cepat! Kurang dari 8 detik dengan kompleksitas 10 (Encoding kompleksitas komputasi (0-10, default: 10). Zero memberikan pengkodean tercepat tetapi kualitas lebih rendah, sedangkan 10 memberikan kualitas tertinggi tetapi pengkodean lebih lambat) dan waktu tunda maksimum 10 ms ( Penundaan kontainer maksimum dalam milidetik (0-1000, default: 1000)), jadi jika Anda melewatkan waktu dalam sebuah lagu, efek kliping akan memiliki durasi 10 ms sehingga tidak dapat dilihat (coba dengan 1000 dan dengarkan perbedaannya dengan melewatkan waktu Anda) mouse). Bitrate adalah VBR secara default. 320kbps bekerja untuk saya jadi opsional, bermain dengan nomor ini:
--bitrate N.nnn
=> Target bitrate dalam kbit / detik (6-256 per saluran)
Omong-omong, pengkodean dari MP3 ke OPUS bukanlah ide yang baik, itu tidak akan terdengar lebih baik, algoritma kompresi mereka terlalu berbeda. Tetapi dari FLAC atau WAV atau format audio lossless lainnya , itu cerita lain.
Catatan: Untuk menyandikan file lain, cukup tekan Panah Atas di terminal yang sama untuk memanggil perintah terakhir dan ubah nama file input dan output.
Jika Anda mencari GUI ffmpeg / avconv, mungkin TraGtor adalah yang Anda butuhkan.
Anda juga dapat memeriksa perbedaan spektogram antara format Lossless dan Lossy pada bitrate tinggi dengan Spek atau Audacity .
Error parsing input file: Hardvapour remix-.mp3
saya menggunakan 16,04
opus-tools
dan Audex
.Buka Audex dan tambahkan profil baru bernama Opus, tambahkan pola Perintah;
opusenc $i --comment="TRACKNUMBER="$trackno"" --artist "$artist" --album "$title" --title "$ttitle" --date "$date" --picture "$cover" $o
dan sufiks opus