एमपी 3 फ़ाइलों को मर्ज करना और सूचकांक रखना


0

मेरे पास कई एमपी 3 फाइलें हैं:

0001.mp3
0002.mp3
........
9999.mp3

प्रत्येक फ़ाइल का अपना आकार / लंबाई होती है जो दूसरों से भिन्न होती है।

मैं उन्हें एक एमपी 3 फ़ाइल में मर्ज करना चाहता हूं। एक ही समय में अनुक्रमणिका फ़ाइल (txt, xml ...) को रखने से आउटपुट फ़ाइल (BigOutput.mp3) में प्रत्येक फ़ाइल प्रारंभ होती है, जिसमें शामिल होती है।

उदाहरण के लिए:

0001.mp3 starts at the 0        Byte of BigOutput.mp3
0002.mp3 starts at the 65874th  Byte of BigOutput.mp3
0003.mp3 starts at the 987485th Byte of BigOutput.mp3
and so on..

क्या इस उद्देश्य के लिए कोई अच्छी तरह से ज्ञात समाधान / कार्यक्रम है या मुझे अपना खुद का लिखना है?


आप MP3Wrap जैसे कुछ का उपयोग करके एमपी 3 को ' कंसेंट ' कर सकते हैं , लेकिन मुझे यकीन नहीं है कि आप जिस टेक्स्ट आउटपुट को चाहते हैं उसे कैसे प्राप्त करें। यदि आप केवल उस पाठ को बाद में फ़ाइल को विभाजित करने में आसानी के लिए चाहते हैं, तो Mp3Wrap आपके लिए एकदम सही है, क्योंकि यह इस बात को ध्यान में रखकर बनाया गया है और Mp3splt अपने मूल फ़ाइल सेट में वापस विभाजित Mp3Wrapped फ़ाइलों का समर्थन करता है।
3D1T0R

जवाबों:


0

यह एक बैश समाधान है। मैंने वास्तव में वास्तविक फाइलों पर इसका परीक्षण नहीं किया है, लेकिन यह काम करना चाहिए। आप बस मानक उपकरण के माध्यम से फ़ाइल का आकार पढ़ते हैं और वर्तमान सूचकांक प्राप्त करने के लिए उन्हें एक साथ जोड़ते हैं। पहली फ़ाइल को एक विशेष मामले के रूप में नियंत्रित किया जाता है।

आप इसे एक स्क्रिप्ट के रूप में कहेंगे जो सभी फ़ाइल नामों के साथ प्रदान की गई है जैसे कि सहमति आदेश में तर्क।

#!/bin/bash

idx=0
idx_txt="idx.txt"

echo "$1 starts at 0" >$idx_txt
shift

for file in "$@" ; do
  idx=$(( idx + $(ls -l|grep "$file"|awk '{print $5}') ))
  echo "$file starts at $idx" >>$idx_txt
done

बहुत बहुत धन्यवाद, लेकिन एमपी 3 हेडर और फुटर नहीं है जो बाइट्स के वास्तविक क्रम को बदल देगा?
हमाम हेलफावी

मुझे लगता है कि आप वास्तव में सिर्फ catएक साथ उन्हें कर रहे हैं क्योंकि लगता है कि stackoverflow.com/questions/6222225/…
T Nierath
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.