Opus 코덱으로 오디오를 인코딩하는 방법은 무엇입니까?


30

Opus 오디오 코덱은 오디오 압축에 가장 적합한 것 같습니다. 최근 ffmpeg 및 VLC 플레이어에서 지원됩니다. 그러나 실제로 미디어를 인코딩하는 방법에 대한 설명서는 없습니다. 누군가 ffmpeg 플래그 및 사용법에 대한 구체적인 내용을 사용하여 해당 문서로 안내 할 수 있습니까? 너무 많은 공간을 차지하는 오디오 북이 많이 있으며 Opus는 완벽한 포맷으로 보입니다.


1
OS에 대해서는 언급하지 않았습니다.
llogan

답변:


39
ffmpeg -i <input> -c:a libopus -b:a bitrate <output>

비트 레이트는 -b:a 96K96 kBit / s 와 같이 주어질 수 있습니다 .

는 FFmpeg 문서는 libopus에 대한 옵션과 설명의 목록이 있습니다. 여기서 -vbr옵션 또는 다른을 설정할 수 있습니다 -compression_level.

ffmpeg로 컴파일했는지 확인하십시오 --enable-libopus!


대단해! ffmpeg로 인코딩하는 방법을 알아 냈지만 -vbr 및 --compression_level 플래그에 대해서는 몰랐습니다. 이것이 바로 내가 찾던 것입니다!
MrDrMcCoy

6
이것은 나를 도왔다. NB는, vbr oncompression_level 10기본값입니다 아마도 생략 할 수 있습니다. ffmpeg.org/ffmpeg-codecs.html#Option-Mapping
Joshua Huber

1
실제로이 값이 기본값이며 대부분의 경우 수정할 필요가 없습니다. 또한 비트 전송률은 일반적인 kbits / s가 아니라 비트 / s입니다. 기본 비트 전송률은 96000 (96 kbits / s)이며 이는 물론 좋은 값입니다. 요약 할 명령 예 :ffmpeg -i input.flac -acodec libopus -b:a 128000 output.opus
Gras Double

'application'매개 변수를 사용하는 방법은 다음과 같습니다 -application voip. 새로운 ffmpeg 사용자로서 올바른 구문을 찾기 위해 약간의 노력을 기울였습니다.
tuxayo

15
  1. Opus-tools 다운로드

  2. 인코딩 :
    opusenc --bitrate 64 What_A_Feeling.wav What_A_Feeling_64.opus

  3. 디코딩 : (미디어 플레이어에서 재생하려면 미디어 플레이어가 아직 opus를 지원하지 않는 경우에 유용합니다) :
    opusdec What_A_Feeling_64.opus What_A_Feeling_opus64.wav

(What_A_Feeling은 노래 이름입니다)

opusenc자체적으로 실행될 때 표시되는 세부 옵션 :

Usage: opusenc [options] input_file output_file.opus

Encodes input_file using Opus.
It can read the WAV, AIFF, FLAC, Ogg/FLAC, or raw files.

General options:
 -h, --help         This help
 -V, --version      Version information
 --quiet            Quiet mode

input_file can be:
  filename.wav      file
  -                 stdin

output_file can be:
  filename.opus     compressed file
  -                 stdout

Encoding options:
 --bitrate n.nnn    Target bitrate in kbit/sec (6-256/channel)
 --vbr              Use variable bitrate encoding (default)
 --cvbr             Use constrained variable bitrate encoding
 --hard-cbr         Use hard constant bitrate encoding
 --comp n           Encoding complexity (0-10, default: 10 (slowest))
 --framesize n      Maximum frame size in milliseconds
                      (2.5, 5, 10, 20, 40, 60, default: 20)
 --expect-loss      Percentage packet loss to expect (default: 0)
 --downmix-mono     Downmix to mono
 --downmix-stereo   Downmix to stereo (if >2 channels)
 --max-delay n      Maximum container delay in milliseconds
                      (0-1000, default: 1000)

Diagnostic options:
 --serial n         Forces a specific stream serial number
 --save-range file  Saves check values for every frame to a file
 --set-ctl-int x=y  Pass the encoder control x with value y (advanced)
                      Preface with s: to direct the ctl to multistream s
                      This may be used multiple times

Metadata options:
 --comment          Add the given string as an extra comment
                      This may be used multiple times
 --artist           Author of this track
 --title            Title for this track
 --album            Album or collection this track belongs to
 --date             Date for this track
 --genre            Genre for this track
 --picture          Album art for this track
                      More than one --picture option can be specified.
                      Either a FILENAME for the picture file or a more
                      complete SPECIFICATION form can be used. The
                      SPECIFICATION is a string whose parts are
                      separated by | (pipe) characters. Some parts may
                      be left empty to invoke default values. A
                      FILENAME is just shorthand for "||||FILENAME".
                      The format of SPECIFICATION is

                      [TYPE]|[MIME-TYPE]|[DESCRIPTION]|[WIDTHxHEIGHT
                      xDEPTH[/COLORS]]|FILENAME

                      TYPE is an optional number from one of:
                      0: Other
                      1: 32x32 pixel 'file icon' (PNG only)
                      2: Other file icon
                      3: Cover (front)
                      4: Cover (back)
                      5: Leaflet page
                      6: Media (e.g., label side of a CD)
                      7: Lead artist/lead performer/soloist
                      8: Artist/performer
                      9: Conductor
                      10: Band/Orchestra
                      11: Composer
                      12: Lyricist/text writer
                      13: Recording location
                      14: During recording
                      15: During performance
                      16: Movie/video screen capture
                      17: A bright colored fish
                      18: Illustration
                      19: Band/artist logotype
                      20: Publisher/studio logotype

                      The default is 3 (front cover). There may only be
                      one picture each of type 1 and 2 in a file.

                      MIME-TYPE is optional. If left blank, it will be
                      detected from the file. For best compatibility
                      with players, use pictures with a MIME-TYPE of
                      image/jpeg or image/png. The MIME-TYPE can also
                      be --> to mean that FILENAME is actually a URL to
                      an image, though this use is discouraged. The
                      file at the URL will not be fetched. The URL
                      itself is stored in the metadata.

                      DESCRIPTION is optional. The default is an empty
                      string.

                      The next part specifies the resolution and color
                      information. If the MIME-TYPE is image/jpeg,
                      image/png, or image/gif, you can usually leave
                      this empty and they can be detected from the
                      file. Otherwise, you must specify the width in
                      pixels, height in pixels, and color depth in
                      bits-per-pixel. If the image has indexed colors
                      you should also specify the number of colors
                      used. If possible, these are checked against the
                      file for accuracy.

                      FILENAME is the path to the picture file to be
                      imported, or the URL if the MIME-TYPE is -->.
 --padding n        Extra bytes to reserve for metadata (default: 512)
 --discard-comments Don't keep metadata when transcoding
 --discard-pictures Don't keep pictures when transcoding

Input options:
 --raw              Raw input
 --raw-bits n       Set bits/sample for raw input (default: 16)
 --raw-rate n       Set sampling rate for raw input (default: 48000)
 --raw-chan n       Set number of channels for raw input (default: 2)
 --raw-endianness n 1 for bigendian, 0 for little (defaults to 0)
 --ignorelength     Always ignore the datalength in Wave headers

고맙지 만 조금 더 자세한 내용을 기대하고있었습니다. 가변 비트 전송률 옵션이 있습니까? 오디오 스트림을 최적화하기 위해 전달할 수있는 다른 플래그는 무엇입니까?
MrDrMcCoy 2016

1
@nakedhitman이 --vbr옵션은 기본값입니다. opusenc 설명서 페이지를 참조하십시오. ffmpeg로 인코딩 할 수도 있지만 libopus--enable-libopus 를 설치 한 후 컴파일해야합니다 .
llogan

아이디어를 얻으려면 (일괄 변환이 아님) 이와 같은 온라인 버전 도움 될 수 있습니다. 전체 컬렉션을 변환하려는 계획이있는 경우 opusinfo (의 일부 opus-tools)가 선택한 인코딩 도구의 성능 여부를 알 수 있습니다.
Rainer Rillke

3

DOS / Windows 명령에서 가장 좋은 Opus 코덱 명령은 다음과 같습니다.

lib 1.3의 경우 가장 작은 파일 크기 (테이프 품질) :

Opusenc a.wav a.opus --bitrate 24 --framesize 40 --discard-comments --discard-pictures

당신은 :

24kbits의 초소형 크기에서는 여전히 16kHz (32kHz 스테레오) 음향 출력이 있습니다. 더 작 으면 Sonic 출력은 11kHz로 떨어집니다

b- 프레임 크기 늘리기 (품질의 손실없이 몇 비트의 데이터 저장 (약 6 %))

c- 불필요한 TAG 정보를 버리고 파일 크기 만 확대하는 사진을 커버하십시오.

lib 1.3의 경우, CD 품질에 가까운 스트리밍은 '24'대신 '--bitrate 52'를 사용합니다.

1.2의 기본값은 48kbits이지만 'framesize'가 40으로 설정된 1.3에서 52를 사용하면 파일 크기는 동일하지만 아티팩트가 거의 들리지 않습니다.

프레임 크기가 40 인 52 kbit는 크기가 1/3 미만인 160kbits MP3와 품질이 같습니다. 1.2에서 48kbits는 128kbits MP3와 같거나 크기가 2.5 배 더 작습니다.

거의 동일한 품질을 얻으려면 80 ~ 96kbits가 필요합니다. 오디오를 최대한 작게 만들고 싶기 때문에 나는 이것을 거의 사용하지 않습니다.

96kbits 이상은 편집에만 적합하며 원본 파일과 Opus 인코딩 파일의 차이점을들을 수 없습니다.

그러나 나는 리눅스에서 그것이 어떻게 작동하는지 아직 모른다.


나는 리눅스와 윈도우 모두에서 그것을 시도하는 동안 오류가 발생했습니다 : Unrecognized option '-framesize'. Error splitting the argument list: Option not found. ffmpeg 버전은 4.0.2입니다.
sukhmel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.