साउंड फाइल को ओपस में कैसे बदलें


22

परीक्षण के लिए, मैं एक एमपी 3 और डब्ल्यूएवी फ़ाइल को ओपस में बदलना चाहता हूं, ऐसा करने के लिए क्या कदम हैं?


1
@ EvanCarroll इसलिए "परीक्षण के लिए" कहते हैं कि हिस्सा;)
लुइस

2
@EvanCarroll जो आप प्राप्त करना चाहते हैं और इनपुट सामग्री की गुणवत्ता पर निर्भर करता है। यदि आप एक पूर्ण श्रवण समाधान की तलाश कर रहे हैं, तो आप शायद पहली बार में ओपस पर विचार नहीं करना चाहते हैं। यह कहना एक भयानक विचार है कि यह केवल एक भयानक कथन है, जब कोई स्पष्टीकरण नहीं है।
LiveWireBT

1
@LiveWireBT का कहना है कि जब तक आप कोई ऑडीओफ़ाइल समाधान नहीं ढूंढते तब तक ओपस में एक एमपी को एन्कोडिंग एक भयानक विचार नहीं है, जब कोई स्पष्टीकरण नहीं है।
इवान कैरोल

2
@ EvanCarroll Opus के पास भाषण के लिए विशेष समर्थन है, MP3 नहीं है। इसका मतलब है कि आप अपने पॉडकास्ट और ऑडियोबुक को आकार में काफी कम कर सकते हैं, बिना किसी गुणवत्ता के नुकसान के। मैं यह देखने में विफल हूं कि यह एक भयानक विचार कैसे है।
क्रिश्चियन

3
@EvanCarroll "भाषण या संगीत की स्वचालित पहचान तय करने के लिए जो प्रयोग करने के लिए मोड एन्कोडिंग" से opus-codec.org । और निश्चित रूप से आप गुणवत्ता में नुकसान उठाना पड़ेगा। इसलिए यह एक हानिपूर्ण कोडेक है। आपने कहा कि यह कभी भी उचित नहीं था और मैंने आपको एक अच्छा उदाहरण दिया है जहाँ आकार एक बड़ा मुद्दा है, माध्यमिक महत्व की गुणवत्ता और दोषरहित स्रोत उपलब्ध नहीं है।
क्रिश्चियन

जवाबों:


23

डिफ़ॉल्ट रूप से ओपस-टूल्स के साथ भेजा गया ऑडियो कन्वर्टर ऑडियो को रॉ, वेव या एआईएफएफ फॉर्मेट में बदल सकता है। न्यूनतम सिंटैक्स डिफ़ॉल्ट सेटिंग्स का उपयोग करता है:

opusenc input.wav output.opus

हम विकल्प के साथ डिफ़ॉल्ट 96 kbps के रूप में एक बेहतर बिटरेट जोड़ना चाहते हैं --bitrate N.nnn(सभी विकल्पों के लिए opusenc के लिए manpage से परामर्श कर सकते हैं)।

एमपी 3 "मक्खी पर" परिवर्तित करने के लिए। एक अस्थायी फ़ाइल बनाने के बिना, हम इस तरह से उत्पादन से opusenc करने के लिए उत्पादन पाइप कर सकते हैं:

avconv -i input.mp3 -f wav - | opusenc --bitrate 256 - output.opus

"ओपसेंक" कहाँ प्राप्त करें?
shevy

1
@ शेवी: यह ओपस-टूल्स के साथ आता है ।
तक्षक

@ शेवी: $ सुडो एप ऑप्स-टूल्स स्थापित करते हैं
जोस बराक

1
Flac फाइलों का एक समूह पर ऐसा करने के लिए: for f in *.flac; do ffmpeg -i "$f" -f wav - | opusenc --bitrate 140 - "${f%.flac}.opus"; done(मैं 140 एक बिटरेट के रूप में चुना है के अनुसार, क्योंकि यह यह स्टीरियो फ़ाइलों के लिए पर्याप्त से अधिक है।
Joschua

11

Ubuntu 14.04 और डेबियन 8 जहाज libav-toolsअपने रिपॉजिटरी में संस्करण 9 के साथ , और इसमें पैकेज के माध्यम से ओपस के लिए अंतर्निहित समर्थन है libopus0

उदाहरण 1: ओपस के रूप में एक ऑडियो फ़ाइल को फिर से खोलें

के संस्करण 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:aaइनपुट फ़ाइल से सभी ऑडियो स्ट्रीम ( ) चुनेंगे 0Https://libav.org/avconv.html#Advanced-options-map पर अधिक पढ़ें
  • -codec:a opusऑडियो स्ट्रीम ( a) के लिए opus एनकोडर का चयन करता है । Https://libav.org/avconv.html#Main-options-codec पर अधिक पढ़ें ।
  • -b:a 100kऑडियो की बिटरेट को 100 किलोबिट / s पर सेट करता है। Https://libav.org/avconv.html#Codec-AVOptions-b पर अधिक पढ़ें
  • -vbr onचर बिटरेट पर बदल जाता है। यह लिबोपस के लिए विशिष्ट विकल्प है। यहां लिबोपस के सभी विकल्प दिए गए हैं:

    $ 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 आउटपुट फ़ाइल सेट करता है।

उदाहरण 2: एक वीडियो फ़ाइल से ऑडियो को पकड़ो और इसे ओपस के रूप में एनकोड करें

पहले इनपुट की दूसरी धारा ( -map 0:1) लें, जो ऑडियो स्ट्रीम है। इसे 100 बिटबिट / लिबास पर लिबोपस के साथ एनकोड बिटरेट के साथ एनकोड करें:

$ 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

1
Ubuntu 14.04 पर पूरी तरह से काम करता है! क्या आप बता सकते हैं कि क्या -map 0:aकरता है? (और शायद पूरी लाइन का विस्तार करें?)
425nesp

@ piña मैंने तर्क के स्पष्टीकरण और अतिरिक्त उदाहरण के साथ उत्तर को अपडेट किया है।
डैनियल जोंसन

5

12.04 को ओपस

12.04 (सटीक) पर, हालांकि, ओपस कोडेक्स और टूल्स को स्थापित करने के साथ निर्भरता की समस्याएं हैं, इसलिए मुझे अब तक सबसे अच्छा समाधान मिला है, जो हाल ही में उपलब्ध हुआ है: ओपस ऑडियो एनकोडर और डिकोडर को यहां उल्लेखित करें । और ( विकल्प संकलन पर सूचीबद्ध ) के कॉन्फ़िगर विकल्पों में ffmpegजोड़कर ओपस समर्थन के साथ निर्माण --enable-opusकरें ।ffmpeg

मुझे पता है कि ffmpegउबंटू में इसके पक्ष में पदावनत किया गया है Libav, लेकिन संकलन पूरी तरह से काम कर रहे ओपस एनकोडर / डिकोडर को ffmpegअपने आप में एकीकृत करने का एक अच्छा तरीका है। तब आप इसका उपयोग फ़ाइलों को परिवर्तित करने के लिए कर सकते हैं (पहले wav करने के लिए) और फिर उपयोग करने के लिए .opus। लिबोपस और ffmpeg के साथ स्थापित डॉक्यूमेंटेशन उन सभी विकल्पों को प्रकट करेगा जिनका उपयोग फ़ाइलों को परिवर्तित करने के लिए किया जा सकता है।

ffmpegसंकलन के बाद फ़ाइलों को परिवर्तित करते समय , आपको ओपस कोडेक का उपयोग करना चाहिए -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
    
  • एक मुद्दा है जिसे इंगित किया जाना चाहिए: गिट बिल्ड चाहते हैं 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बनाई गई किसी भी ओपस फ़ाइलों को चलाने के लिए उपयोग कर सकते हैं।


ffmpeg किसी भी चीज के लिए एक बुरा समाधान है जिसके लिए कोई प्रतिस्थापन है।
इवान कैरोल

2
@EvanCarroll इससे आपका क्या मतलब है? यह केवल किसी के लिए इसे कम करने का निर्णय है: एफएफएमपीपी अभी भी लिबाव के रूप में अच्छा है, जो कि केवल एक कांटा है।

1
एक महान जवाब, और Yasm आवश्यकता पर अनुस्मारक के लिए धन्यवाद। x264 ने अपने अंतिम पुश पर न्यूनतम संस्करण को 1.2.0 तक बढ़ाया। Yasm निर्देशों के साथ अपडेट की गई मार्गदर्शिका।
ललगन

@ मुझे लगता है कि वह कहना चाहता था कि अकेले एनकोडर बेहतर परिणाम देगा।
लाइववायरबीटी

मैंने देखा कि कुछ लोगों ने ffmpeg को संकलित करने के निर्देशों का पालन करते समय "ओपस नॉट" त्रुटि पाया। मेरे पास उबंटू 12.04 में एक ही मुद्दा था, और बाद में PKG_CONFIG_PATH = "$ HOME / ffmpeg_build / lib / pkgconfig" को अंत में एक स्लैश की जरूरत है।

3

मैं इसे कैसे करता हूं:

  • सबसे पहले, उसी डायरेक्टरी में एक टर्मिनल खोलें जहां आपकी ऑडियो फाइलें हैं।
  • फिर, यह कमांड टाइप करें:
$ opusenc --bitrate 320 --max-देरी 10 "18 - सोल असाइलम - रनवे ट्रेन (एल्बम संस्करण) .flac" "18 - सोल असाइलम - रनवे ट्रेन (एल्बम संस्करण) .opus"

संपादित करें:

ऑडियोफाइल्स के लिए:

$ opusenc --bitrate 510 --max-delay 10 "18 - सोल असाइलम - रनवे ट्रेन (एल्बम संस्करण) .flac" "18 - सोल असाइलम - रनवे ट्रेन (एल्बम संस्करण) .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)। शून्य सबसे तेज़ एन्कोड करता है लेकिन कम गुणवत्ता, जबकि 10 उच्चतम गुणवत्ता लेकिन धीमी एन्कोडिंग देता है) और 10ms का अधिकतम विलंब समय। मिलीसेकंड में अधिकतम कंटेनर देरी (0-1000, डिफ़ॉल्ट: 1000), इसलिए यदि आप किसी गीत में समय छोड़ते हैं, तो क्लिपिंग प्रभाव की अवधि 10ms होगी, इसलिए यह अप्रभावी है (1000 के साथ प्रयास करें और अपने अंतर को सुनने के समय को सुने माउस)। डिफ़ॉल्ट रूप से बिटरेट VBR है। 320kbps मेरे लिए इतना वैकल्पिक है, इस नंबर के साथ खेलें:
--bitrate N.nnn=> kbit / sec में लक्ष्य बिटरेट (6-256 प्रति चैनल)

वैसे, MP3 से OPUS में एन्कोडिंग एक अच्छा विचार नहीं है, यह बेहतर नहीं लग रहा है, उनके संपीड़न एल्गोरिदम भी अलग हैं। लेकिन FLAC या WAV या किसी अन्य दोषरहित ऑडियो प्रारूप से , यह एक और कहानी है।

नोट: किसी अन्य फ़ाइल को एनकोड करने के लिए, अंतिम कमांड को कॉल करने के लिए एक ही टर्मिनल में अप एरो दबाएं और इनपुट और आउटपुट फाइलों का नाम बदल दें।
यदि आप ffmpeg / avconv GUI की तलाश कर रहे हैं, तो शायद TraGtor को आपकी आवश्यकता है।

आप स्पेक या दुस्साहस के साथ उच्च बिट्रेट पर हानिरहित और हानिपूर्ण स्वरूपों के बीच वर्णक्रम अंतर भी देख सकते हैं ।


यह मेरे लिए काम नहीं किया। मुझे लगता है Error parsing input file: Hardvapour remix-.mp3मैं 16.04 का उपयोग कर रहा हूँ
सारा स्जाबो

सवाल एमपी का है, फ्लैक का नहीं।
मोनिका की बहाली - एम। श्रोडर

0
  1. एक सीडी खोजें (या CDEMU के साथ flac) एमपी 3 के समान सामग्री के साथ।
  2. इंस्टाल opus-toolsऔर Audex
  3. ऑडेक्स खोलें और ओपस नामक एक नया प्रोफ़ाइल जोड़ें, कमांड पैटर्न जोड़ें;

    opusenc $i --comment="TRACKNUMBER="$trackno"" --artist "$artist" --album "$title" --title "$ttitle" --date "$date" --picture "$cover" $o

और प्रत्यय opus

  1. इसे चीरने दो!
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.