आप कहते हैं कि आप उनसे (एमपी 3 या ओग) ऑडियो निकालना चाहते हैं। लेकिन क्या होगा अगर mp4 फ़ाइल में ऑडियो उनमें से एक नहीं है? आपको वैसे भी ट्रांसकोड करना होगा। तो क्यों नहीं ffmpeg तक का पता लगाने वाले ऑडियो प्रारूप को छोड़ दें?
एक फ़ाइल परिवर्तित करने के लिए:
ffmpeg -i videofile.mp4 -vn -acodec libvorbis audiofile.ogg
कई फ़ाइलों को परिवर्तित करने के लिए:
for vid in *.mp4; do ffmpeg -i "$vid" -vn -acodec libvorbis "${vid%.mp4}.ogg"; done
आप निश्चित रूप से ऑडियो एन्कोडिंग के लिए किसी भी ffmpeg मापदंडों का चयन कर सकते हैं, जो आपको पसंद हैं, बिटरेट जैसी चीजों को सेट करने के लिए और इसी तरह।
का प्रयोग करें -acodec libmp3lame
और से विस्तार बदलने .ogg
के लिए .mp3
एमपी 3 एन्कोडिंग के लिए।
यदि आप जो चाहते हैं वह वास्तव में ऑडियो को निकालना है, तो आप ऑडियो ट्रैक का उपयोग करके किसी फ़ाइल में ऑडियो कॉपी को "कॉपी" कर सकते हैं -acodec copy
। बेशक, मुख्य अंतर यह है कि ट्रांसकोडिंग धीमा और सीपीयू-गहन है, जबकि नकल वास्तव में जल्दी है क्योंकि आप बस एक फाइल से दूसरे में बाइट ले जा रहे हैं। यहाँ केवल ऑडियो ट्रैक (एमपी 3 प्रारूप में मानकर) को कॉपी करने का तरीका बताया गया है:
ffmpeg -i videofile.mp4 -vn -acodec copy audiofile.mp3
ध्यान दें कि इस मामले में, ऑडीओफाइल प्रारूप में कंटेनर के अनुरूप होना चाहिए (यानी यदि ऑडियो एएसी प्रारूप है, तो आपको कहना होगा audiofile.aac
)। आप ffprobe
किस कोडक को देखने के लिए कमांड का उपयोग कर सकते हैं, इससे कुछ जानकारी मिल सकती है:
ffprobe -v error -select_streams a:0 -show_entries stream=codec_name -print_format csv=p=0 "videofile.mp4"
ऑडियो कोडेक को स्वचालित रूप से पार्स करने का एक संभावित तरीका और तदनुसार ऑडियो फ़ाइल का नाम होगा:
mkdir -p output
# current directory has to contain at least one .mp4 file
for vid in *.mp4; do
codec="$(ffprobe -v error -select_streams a:0 -show_entries stream=codec_name -print_format csv=p=0 "$vid")"
case "$codec" in
mp3 ) filetype=mp3 ;;
vorbis ) filetype=ogg ;;
* ) filetype= ;;
esac
if [ "$filetype" ]; then
ffmpeg -i "$vid" -vn -acodec copy output/"${vid%.*}"."$filetype"
else
ffmpeg -i "$vid" -vn -acodec libvorbis output/"${vid%.*}".ogg
done
नोट्स: आउटपुट फाइलें उप-निर्देशिका में बनाई जाती हैं output
जो शुरुआत में (यदि आवश्यक हो) बनाता है। एमपी 3 और vorbis के अलावा अन्य कोडेक्स के लिए यह ऑडियो को ogg में कनवर्ट करता है। Ubuntu 14.04 में मानक रिपॉजिटरी में ffmpeg नहीं है, लेकिन आप ppa जोड़ सकते हैं: mc3man / भरोसेमंद मीडिया रिपॉजिटरी और आवश्यक सॉफ़्टवेयर प्राप्त करने के लिए ffmpeg पैकेज स्थापित करें। देखें यहाँ जानकारी के लिए।