Để thử nghiệm, tôi muốn chuyển đổi tệp MP3 và WAV tôi phải sang Opus, các bước để thực hiện việc này là gì?
Để thử nghiệm, tôi muốn chuyển đổi tệp MP3 và WAV tôi phải sang Opus, các bước để thực hiện việc này là gì?
Câu trả lời:
Theo mặc định, bộ chuyển đổi âm thanh được cung cấp với các công cụ opus có thể chuyển đổi âm thanh ở định dạng thô, sóng hoặc AIFF. Cú pháp tối thiểu sử dụng các cài đặt mặc định:
opusenc input.wav output.opus
Chúng tôi có thể muốn thêm tốc độ bit tốt hơn như 96 kbps mặc định với tùy chọn --bitrate N.nnn
(đối với tất cả các tùy chọn tham khảo trang web cho opusenc).
Để chuyển đổi mp3 "nhanh chóng". tức là không tạo tập tin tạm thời, chúng ta có thể chuyển đầu ra từ avconv sang opusenc như thế này:
avconv -i input.mp3 -f wav - | opusenc --bitrate 256 - output.opus
Ubuntu 14.04 và Debian 8 có phiên bản 9 libav-tools
trong kho của họ và nó có hỗ trợ tích hợp cho Opus thông qua gói libopus0
.
Với phiên bản 9 libav-tools
và libopus0
được cài đặt, bạn có thể chỉ cần, ví dụ, làm:
avconv -i file.mp3 -map 0:a -codec:a opus -b:a 100k -vbr on file.opus
-i file.mp3
đặt tập tin đầu vào.-map 0:a
sẽ chọn tất cả các luồng âm thanh ( a
) từ tệp đầu vào 0
. Đọc thêm về -map
trên https://libav.org/avconv.html#Advanced-options-codec:a opus
chọn bộ mã hóa opus cho các luồng âm thanh ( a
). Đọc thêm về -codec
trên https://libav.org/avconv.html#Main-options .-b:a 100k
đặt bitrate của âm thanh thành 100 kilobit / s. Đọc thêm về -b
trên https://libav.org/avconv.html#Codec-AVOptions-vbr on
bật bitrate biến. Đây là một tùy chọn cụ thể cho libopus. Dưới đây là tất cả các tùy chọn cho 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
đặt tập tin đầu ra.
Lấy luồng thứ hai của đầu vào đầu tiên ( -map 0:1
), đó là luồng âm thanh. Mã hóa nó bằng libopus với tốc độ 100 kbit / s với bitrate biến đổi trên:
$ 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%
Với gói mediainfo
được cài đặt:
$ 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
không? (Và có thể chi tiết toàn bộ dòng?)
Opus ngày 12.04
Tuy nhiên, vào ngày 12.04 (Chính xác), có vấn đề phụ thuộc với việc cài đặt các công cụ và codec opus, vì vậy tôi đã tìm thấy giải pháp tốt nhất là giải pháp gần đây đã có sẵn: biên dịch bộ mã hóa và giải mã âm thanh opus như đã lưu ý ở đây , và xây dựng ffmpeg
với sự hỗ trợ của opus bằng cách thêm --enable-opus
vào các tùy chọn cấu hình của ffmpeg
(như được liệt kê trong hướng dẫn biên dịch ).
Tôi biết điều đó ffmpeg
không được ủng hộ trong Ubuntu Libav
, nhưng biên dịch là một cách tốt để có được bộ mã hóa / giải mã opus hoạt động đầy đủ tích hợp vào ffmpeg
chính nó. Sau đó, bạn có thể sử dụng nó để chuyển đổi tập tin (đầu tiên là wav) và sau đó đến .opus
. Tài liệu được cài đặt với libopus và ffmpeg sẽ tiết lộ tất cả các tùy chọn có thể được sử dụng để chuyển đổi tệp.
Khi chuyển đổi tệp với ffmpeg
sau khi biên dịch, bạn phải chỉ định -acodec libopus
hoặc ffmpeg
sẽ không sử dụng codec opus:
ffmpeg -i pc.wav -ar 48000 -ac 2 -acodec libopus -ab 256k man.opus
Sau đó, bạn có thể kiểm tra tệp được tạo bằng
ffplay man.opus
Mẹo tổng hợp
Không cần phải sao chép toàn bộ hướng dẫn ở đây, nhưng đáng chú ý một hoặc hai điều:
Trước tiên bạn nên cài đặt các phụ thuộc như được liệt kê (tôi bỏ qua yasm
khỏi danh sách: xem điểm thứ hai của tôi):
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ó một vấn đề cần được chỉ ra: việc xây dựng git dường như muốn yasm-1.2
và điều đó không có sẵn, vì vậy bạn phải biên dịch nguồn từ trang web chính thức , nhưng nó rất đơn giản. Chỉ cần xóa bất kỳ phiên bản đã cài đặt nào yasm
, sau đó giải nén tệp lưu trữ đã tải xuống, cd
vào thư mục, chạy ./configure && make
và sau đó sudo checkinstall
. Nếu bất kỳ bản dựng nào khác yêu cầu phiên bản cũ hơn, bạn có thể xóa phiên bản này và cài đặt phiên bản kho lưu trữ.
Nó là cần thiết để loại bỏ bất kỳ hiện libav
, ffmpeg
, x264
, libvpx
, hoặc fdk-aac
gói trước khi bạn bắt đầu biên soạn.
Nó là quan trọng mà bạn biên dịch và cài đặt x264
, fdk-aac
, libvpx
và opus
trước khi bạn xây dựng ffmpeg
, như các thư viện sẽ được sử dụng trong xây dựng.
Đừng quên thêm --enable-opus
vào các tùy chọn cấu hình khi bạn chạy phần ffmpeg
biên dịch.
Phiên bản opus được biên dịch là 1.1alpha, vì vậy bạn có thể cần phải biên dịch lại thư viện opus và ffmpeg trong tương lai một lần nữa khi một phiên bản mới được phát hành.
Bạn có thể sử dụng ffplay
để phát bất kỳ tệp opus nào bạn tạo.
Đó là cách tôi làm:
$ opusenc --bitrate 320 --max-delay 10 "18 - Soul Asylum - Runaway Train (Phiên bản album) .flac" "18 - Soul Asylum - Runaway Train (Phiên bản album) .opus"
CHỈNH SỬA:
Đối với những người mê âm thanh nổi:
$ opusenc --bitrate 510 --max-delay 10 "18 - Soul Asylum - Runaway Train (Phiên bản album) .flac" "18 - Soul Asylum - Runaway Train (Phiên bản album) .opus"
Không cần chỉ định --maxdelay 10
tùy chọn vì opusenc
làm điều này theo mặc định.
Bảng điều khiển đầu ra cho chuyển đổi tệp này ( --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)
Nó siêu nhanh! Chưa đến 8 giây với độ phức tạp 10 (Độ phức tạp mã hóa (0-10, mặc định: 10). Zero cho mã hóa nhanh nhất nhưng chất lượng thấp hơn, trong khi 10 cho chất lượng cao nhất nhưng mã hóa chậm hơn) và thời gian trễ tối đa là 10ms ( Độ trễ vùng chứa tối đa tính bằng mili giây (0-1000, mặc định: 1000)), vì vậy nếu bạn bỏ qua thời gian trong một bài hát, hiệu ứng cắt sẽ có thời lượng 10ms nên không thể nhận ra (thử với 1000 và nghe thời gian bỏ qua khác biệt với chuột). Bitrate là VBR theo mặc định. 320kbps hoạt động với tôi vì vậy là tùy chọn, hãy chơi với số này:
--bitrate N.nnn
=> Tốc độ bit mục tiêu tính bằng kbit / giây (6-256 mỗi kênh)
Nhân tiện, mã hóa từ MP3 sang OPUS không phải là một ý tưởng hay, nó sẽ không nghe tốt hơn, thuật toán nén của chúng quá khác nhau. Nhưng từ FLAC hoặc WAV hoặc bất kỳ Định dạng âm thanh không mất dữ liệu nào khác , đó là một câu chuyện khác.
Lưu ý: Để mã hóa một tệp khác, chỉ cần nhấn Mũi tên Lên trong cùng một thiết bị đầu cuối để gọi lệnh cuối cùng và thay đổi tên của các tệp đầu vào và đầu ra.
Nếu bạn đang tìm kiếm một GUI ffmpeg / avconv, có lẽ TraGtor là thứ bạn cần.
Bạn cũng có thể kiểm tra sự khác biệt về quang phổ giữa các định dạng lossless và lossy ở tốc độ bit cao với Spek hoặc Audacity .
Error parsing input file: Hardvapour remix-.mp3
Tôi đang sử dụng 16.04
opus-tools
và Audex
.Mở Audex và thêm một hồ sơ mới gọi là Opus, thêm mẫu Lệnh;
opusenc $i --comment="TRACKNUMBER="$trackno"" --artist "$artist" --album "$title" --title "$ttitle" --date "$date" --picture "$cover" $o
và hậu tố opus