रूपांतरण के बिना ffmpeg अर्क चैनल


0

मैं मल्टीफ़्राक वेव को एकाधिक मोनो ट्रैक में बदलने के लिए निम्न ffmpeg कमांड का उपयोग कर रहा हूं:

ffmpeg -i input.wav \
  -map_channel 0.0.0 a.wav \
  -map_channel 0.0.1 b.wav \
  -map_channel 0.0.2 c.wav \
  -map_channel 0.0.3 d.wav \

यह ठीक काम करता है लेकिन यह चैनलों को 16bit PCM में परिवर्तित करता है:

...
Stream #0:0 -> #0:0 (pcm_s24le (native) -> pcm_s16le (native))
Stream #0:0 -> #1:0 (pcm_s24le (native) -> pcm_s16le (native))
Stream #0:0 -> #2:0 (pcm_s24le (native) -> pcm_s16le (native))
Stream #0:0 -> #3:0 (pcm_s24le (native) -> pcm_s16le (native))
...

मैंने भी "-sample_fmt pcm_s24le" या "-sample_fmt s32" की कोशिश की है, लेकिन दोनों मापदंडों को मान्यता नहीं दी गई थी।

मैं थोड़ी गहराई को बदले बिना मल्टीवॉव फ़ाइल के चैनल कैसे निकाल सकता हूं?

जवाबों:


2

एनकोडर pcm_s16le का उपयोग आपके .wavआउटपुट के लिए किया जा रहा है । यह एनकोडर केवल s16 नमूना प्रारूप (देखें ffmpeg -h encoder=pcm_s16leऔर ffmpeg -sample_fmts) का समर्थन करता है ।

आप एनकोडर pcm_s24le चुन सकते हैं:

ffmpeg -i input.wav \
  -map_channel 0.0.0 -c:a pcm_s24le a.wav \
  -map_channel 0.0.1 -c:a pcm_s24le b.wav \
  -map_channel 0.0.2 -c:a pcm_s24le c.wav \
  -map_channel 0.0.3 -c:a pcm_s24le d.wav

बहुत बहुत धन्यवाद, यह पूरी तरह से काम करता है। प्रत्येक map_channel के लिए एक पैरामीटर ...: मैं मैं -c इस्तेमाल कर सकते हैं पता नहीं था
— rimshot
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.