2013-03-06 20 views
12

मुझे पता है कि यूट्यूब से वीडियो डाउनलोड करने के दस लाख तरीके हैं और फिर इसे ऑडियो में परिवर्तित करें या उस पर आगे की प्रक्रिया करें। लेकिन हाल ही में मैक पर YoutubeToMp3 नामक एक ऐप को देखकर आश्चर्यचकित हुआ कि वास्तव में "वीडियो के एक्स एमबी छोड़ना" दिखा रहा है और माना जाता है कि पूरे वीडियो को डाउनलोड करने के लिए बैंडविड्थ का उपयोग करने के बिना वीडियो को केवल ऑडियो डाउनलोड करना होगा और फिर इसे परिवर्तित करना होगा। मैं सोच रहा था कि यह वास्तव में सही और संभव है क्योंकि मुझे ऐसा करने का कोई तरीका नहीं मिल रहा है। आपके पास कोई विचार है ?यूट्यूब वीडियो से केवल ऑडियो डाउनलोड करें

संपादित करें: कुछ परीक्षणों के बाद यहां विषय पर कुछ अतिरिक्त जानकारी दी गई है।

http://download.wavetlan.com/SVV/Media/HTTP/MP4/ConvertedFiles/MediaCoder/MediaCoder_test6_1m9s_XVID_VBR_306kbps_320x240_25fps_MPEG1Layer3_CBR_320kbps_Stereo_44100Hz.mp4

मैंने कोशिश की

ffmpeg मैं "इनपुट"

out.mp3: वीडियो जो मैं से ऑडियो पाने की कोशिश की इंटरनेट से सिर्फ एक नमूना mp4 फ़ाइल है ffmpeg मैं "इनपुट" -vn out.mp3

ffmpeg मैं "इनपुट" -vn -ac 2 -ar 44100 -ab 320k -f एमपी 3 output.mp3

ffmpeg मैं -acodec प्रतिलिपि -vn "इनपुट" output.mp3

दुर्भाग्य से इन आदेशों की गैर कम बैंडविड्थ का उपयोग किया जा रहा है। वे सभी पूरे वीडियो डाउनलोड करते हैं। अब जब आपके पास वीडियो है तो आप पुष्टि कर सकते हैं कि वास्तव में एक कमांड है जो केवल ऑडियो स्ट्रीम डाउनलोड करता है और बैंडविड्थ के उपयोग को कम करता है? धन्यवाद!

+0

सर्वर शायद आपको डाउनलोड करने की अनुमति देता है। अर्थात। अगर डाउनलोड लिंक तलाश योग्य है, तो क्यों नहीं। – sashoalm

+0

क्या यह YoutubeToMp3 ऐप बैकएंड के रूप में FFmpeg का उपयोग करता है? कैप्चरिंग और देखें कि कमांड लाइन तर्क यह FFmpeg पर जा रहा है। – sashoalm

+0

यदि आप JDownloader के साथ एक यूट्यूब यूआरएल खोलते हैं, तो यह आपको कई रिज़ॉल्यूशन, चित्र, और एमपी 3 के लिए एक एफएलवी फाइल का प्रस्ताव देगा; –

उत्तर

13

के बाद मुझे पता चला कि यह संभव और डेवलपर एक वैकल्पिक दृष्टिकोण नहीं है अनुसंधान के एक बहुत:

  1. हैडर पार्स mp4 हैडर
  2. डाउनलोड करें और ऑडियो बाइट्स
  3. डाउनलोड के स्थानों को प्राप्त http रेंज अनुरोधों और ऑफसेट्स के साथ ऑडियो बाइट
  4. ऑडियो बाइट्स को इकट्ठा करें और उन्हें एक साधारण एडीटीएस कंटेनर में प्लेइंग एम 4 ए फ़ाइल

इस तरह से केवल ऑडियो बाइट्स के लिए बैंडविड्थ का उपयोग किया जाता है। यदि आपको ऐसा करने का बेहतर दृष्टिकोण मिलता है तो कृपया मुझे बताएं।

एक नमूना एंड्रॉयड एपीपी और कार्यान्वयन की जांच के लिए:

https://github.com/feribg/audiogetter/blob/master/audiogetter/src/main/java/com/github/feribg/audiogetter/tasks/download/VideoTask.java

2

एफएफएमपीजी इनपुट के रूप में एक यूआरएल स्वीकार करने में सक्षम है। यदि यूआरएल तलाश योग्य है, तो एफएफएमपीजी सैद्धांतिक रूप से सभी वीडियो फ्रेम को छोड़ सकता है, और इस प्रकार इसे केवल ऑडियो स्ट्रीम के लिए डेटा डाउनलोड करने की आवश्यकता होगी।

ffmpeg -i http://myvideo.avi out.mp3 

का उपयोग कर और देखें कि क्या यह कम बैंडविड्थ लेता प्रयास करें।

+0

काम शुरू करता है और फ्रीज करता है: libavutil 51. 73.101/51. 73.101 libavcodec 54. 59,100/54. 59,100 libavformat 54. 29,104/54. 29,104 libavdevice 54. 2,101/54. 2,101 libavfilter 3. 17,100/3. 17,100 libswscale 2. 1,101/2. 1,101 libswresample 0. 15.100/0 15.100 libpostproc 52. 0.100/52. 0.100 – Feras

+0

वैसे ही कम से कम FFmpeg का उपयोग करके ऐसा करने का तरीका है। आपने पूछा कि आप केवल ऑडियो को कैसे परिवर्तित करते हैं। कि कैसे। यह काम करने वाला माना जाता है, लेकिन निश्चित रूप से बग हो सकता है। अपनी मेलिंग सूची में एक बग दर्ज करने या इसे स्वयं डिबग करने का प्रयास करें। – sashoalm

+0

यह कभी भी YouTube के साथ काम नहीं करेगा। FFmpeg इनपुट के रूप में एक वास्तविक फ़ाइल की अपेक्षा करता है, न कि YouTube यूआरएल। ऐसा नहीं है कि इसका विश्लेषण करना क्या है। यदि लिंक मान्य वीडियो स्ट्रीम या फ़ाइल को इंगित करता है, तो उसे काम करना चाहिए, लेकिन यूट्यूब वीडियो को फ्लैश के रूप में एम्बेड करता है, इसलिए एफएफएमपीईजी को पार्स करने का कोई तरीका नहीं है जब तक कि उन्होंने YouTube के लिए स्पष्ट समर्थन नहीं जोड़ा। 'यूट्यूब-डीएल' जैसे टूल्स इस पर एक बेहतर काम करते हैं। – slhck

-2

खैर, अब यह संभव है यूट्यूब वीडियो का केवल ऑडियो डाउनलोड करने के लिए और उस के लिए मैं इस youtube 2 mp3 api

यह बहुत काम करता है का उपयोग करें मेरे लिए अच्छा आपको बस यूट्यूब आईडी डालना होगा और यही वह है।

संबंधित मुद्दे