रूपांतरण के बिना 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.