테스트를 위해 MP3 및 WAV 파일을 Opus로 변환하고 싶습니다.이 작업을 수행하는 단계는 무엇입니까?
테스트를 위해 MP3 및 WAV 파일을 Opus로 변환하고 싶습니다.이 작업을 수행하는 단계는 무엇입니까?
답변:
기본적으로 opus-tools 와 함께 제공되는 오디오 변환기 는 오디오를 원시, 웨이브 또는 AIFF 형식으로 변환 할 수 있습니다. 최소 구문은 기본 설정을 사용합니다.
opusenc input.wav output.opus
옵션을 사용하여 기본 96kbps로 더 나은 비트 전송률을 추가 할 수 있습니다 --bitrate N.nnn
(모든 옵션에 대해서는 opusenc 맨 페이지 참조).
mp3를 "즉석에서"변환합니다. 즉, 임시 파일을 만들지 않고 다음과 같이 avconv에서 opusenc로 출력을 파이프 할 수 있습니다.
avconv -i input.mp3 -f wav - | opusenc --bitrate 256 - output.opus
Ubuntu 14.04 및 Debian 8 libav-tools
은 리포지토리에 버전 9가 포함 되어 있으며 패키지를 통해 Opus를 기본적으로 지원합니다 libopus0
.
버전 9가 설치되어 있으면 다음 libav-tools
과 같이 libopus0
간단하게 수행 할 수 있습니다.
avconv -i file.mp3 -map 0:a -codec:a opus -b:a 100k -vbr on file.opus
-i file.mp3
입력 파일을 설정합니다.-map 0:a
a
입력 파일에서 모든 오디오 스트림 ( )을 선택 합니다 0
. https://libav.org/avconv.html#Advanced-options-map
에서 자세히 알아보십시오.-codec:a opus
오디오 스트림의 작동 인코더를 선택합니다 ( a
). 더에 대한 읽기 -codec
에 https://libav.org/avconv.html#Main-options .-b:a 100k
오디오의 비트 전송률을 100 킬로 비트 / 초로 설정합니다. 더에 대한 읽기 -b
에 https://libav.org/avconv.html#Codec-AVOptions-vbr on
가변 비트 전송률을 켭니다. 이것은 libopus에 특정한 옵션입니다. 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
출력 파일을 설정합니다.
첫 번째 입력 ( -map 0:1
) 의 두 번째 스트림 ( 오디오 스트림)을 가져옵니다. 가변 비트 전송률을 사용하여 100 kbit / s의 libopus로 인코딩하십시오.
$ 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%
패키지가 mediainfo
설치된 경우 :
$ 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
수 있습니까? (그리고 아마도 전체 라인을 자세히 설명 하시겠습니까?)
12.04의 작품
오푸스 오디오 인코더 및 디코더를 컴파일 : 내가 지금까지 발견 (정밀) 12.04에, 그러나, 오푸스 코덱 및 도구를 설치와 의존성 문제가있다, 그래서 가장 좋은 방법은 아주 최근에 사용할 수있게 한 하나 여기에 언급 된 바와 같이 , ( 컴파일 링 안내서 에 나열된) 의 구성 옵션 ffmpeg
에 추가 --enable-opus
하여 opus 지원으로 빌드하십시오 .ffmpeg
ffmpeg
우분투에서 더 이상 사용되지 않는다는 것을 알고 Libav
있지만 컴파일은 완전히 작동하는 opus 인코더 / 디코더를 ffmpeg
자체적으로 통합하는 좋은 방법 입니다. 그런 다음 파일을 사용하여 파일을 변환하고 (먼저 wav로) 변환 할 수 있습니다 .opus
. libopus 및 ffmpeg와 함께 설치된 설명서에는 파일을 변환하는 데 사용할 수있는 모든 옵션이 나와 있습니다.
ffmpeg
컴파일 후 파일을 변환 할 때 opus 코덱을 지정 -acodec libopus
하거나 ffmpeg
사용하지 않아야합니다.
ffmpeg -i pc.wav -ar 48000 -ac 2 -acodec libopus -ab 256k man.opus
그런 다음 생성 된 파일을 테스트 할 수 있습니다
ffplay man.opus
컴파일 팁
여기에서 가이드 전체 를 재현 할 필요는 없지만 한두 가지를 주목할 가치가 있습니다.
먼저 나열된대로 종속성을 설치해야 yasm
합니다 (목록에서 생략 합니다 : 두 번째 요점 참조).
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
지적해야 할 한 가지 문제가 있습니다 .git 빌드가 원하는 것 같고 yasm-1.2
사용할 수 없으므로 공식 사이트 에서 소스를 컴파일해야 하지만 간단합니다. 단지의 설치된 버전을 제거 yasm
한 후, 다운로드 한 압축 파일을 압축을 풀 cd
폴더, 실행에 ./configure && make
다음과 sudo checkinstall
. 다른 빌드에 이전 버전이 필요한 경우이 버전을 제거하고 리포지토리 버전을 설치할 수 있습니다.
어떤 기존 제거 할 필요가 libav
, ffmpeg
, x264
, libvpx
, 또는 fdk-aac
패키지는 컴파일을 시작하기 전에.
이다 중요한 컴파일하고 설치하는 것이 x264
, fdk-aac
, libvpx
및 opus
빌드하기 전에 ffmpeg
해당 라이브러리 빌드에 사용 될 것이다.
컴파일 --enable-opus
을 실행할 때 구성 옵션 에 추가 하는 것을 잊지 마십시오 ffmpeg
.
컴파일 된 opus의 버전은 1.1alpha이므로 새 버전이 출시되면 나중에 opus 라이브러리와 ffmpeg를 다시 컴파일해야 할 수도 있습니다.
ffplay
작성한 opus 파일을 재생하는 데 사용할 수 있습니다 .
그것이 내가하는 방법입니다.
$ opusenc --bitrate 320 --max-delay 10 "18-Soul Asylum-런 어웨이 트레인 (앨범 버전) .flac" "18-Soul Asylum-런 어웨이 트레인 (앨범 버전) .opus"
편집하다:
오디오 애호가의 경우 :
$ opusenc --bitrate 510 --max-delay 10 "18-Soul Asylum-런 어웨이 트레인 (앨범 버전) .flac" "18-Soul Asylum-런 어웨이 트레인 (앨범 버전) .opus"
기본적으로 --maxdelay 10
옵션 을 지정할 필요가 없습니다 opusenc
.
이 파일 변환에 대한 콘솔 출력 ( --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)
매우 빠릅니다! 복잡도 10 (8 : 인코딩 계산 복잡도 (0-10, 기본값 : 10))으로 8 초 미만. 0은 인코딩이 가장 빠르지 만 품질은 낮지 만 10은 가장 품질은 좋지만 인코딩은 느림) 및 최대 지연 시간 10ms ( 최대 컨테이너 지연 시간 (밀리 초 (0-1000, 기본값 : 1000))으로 노래에서 시간을 건너 뛰면 클리핑 효과의 지속 시간이 10ms이므로 인식 할 수 없습니다 (1000으로 시도하고 쥐). 비트 전송률은 기본적으로 VBR입니다. 320kbps가 나를 위해 일했기 때문에 선택 사항입니다.이 숫자로 재생하십시오 :
--bitrate N.nnn
=> kbit / sec의 대상 비트 레이트 (채널 당 6-256)
그건 그렇고, MP3에서 OPUS로 인코딩하는 것은 좋은 생각이 아니며, 더 잘 들리지 않을 것이며, 압축 알고리즘은 너무 다릅니다. 그러나 FLAC 또는 WAV 또는 기타 무손실 오디오 형식의 경우 이는 또 다른 이야기입니다.
참고 : 다른 파일을 인코딩하려면 동일한 터미널에서 위쪽 화살표를 눌러 마지막 명령을 호출하고 입력 및 출력 파일의 이름을 변경하십시오.
ffmpeg / avconv GUI를 찾고 있다면 TraGtor 가 필요할 것입니다.
Spek 또는 Audacity를 사용하여 높은 비트 전송률에서 Lossless 및 Lossy 형식 간의 스펙트럼 차이를 확인할 수도 있습니다 .
Error parsing input file: Hardvapour remix-.mp3
내가 16.04 사용하고 있습니다