मेरे पास MediaPlayer का उपयोग करके एक ऐप है जो प्रगतिशील डाउनलोड एमपी 3 स्ट्रीम करते समय ठीक काम करता है। मैंने प्रगति डाउनलोड एएसी फ़ाइलों को स्ट्रीम करने के लिए उसी ऐप का उपयोग करने का प्रयास किया है। और यह फाइलें ठीक खेलता है। काम नहीं करता है जब मैं एएसी के साथ MediaPlayer.seekTo() का उपयोग कर स्ट्रीम में चारों ओर जाने की कोशिश करता हूं। यह फिर एमपी 3 में ठीक काम करता है। एएसी स्ट्रीम के लिए यह शून्य पर खेलना शुरू कर देता है।एंड्रॉइड मीडियाप्लेयर का उपयोग कर एएसी को http स्ट्रीम पर खोजने योग्य कैसे बनाया जाए?
मेरी भावना यह है कि एन्कोडिंग संबंधित है। स्ट्रीम करने के लिए उस एएसी फ़ाइल को सही तरीके से कॉन्फ़िगर नहीं किया गया है।
Size: 2.3 MB
Format: QuickTime/MPEG-4/Motion JPEG 2000 format
Stream count: 2
Duration: 00:05:02
Bit rate: 64 kb/s
Meta info:
album_artist: Red Hot Chili Peppers
album: The Getaway
minor_version: 512
encoder: Lavf57.41.100
title: Dark Necessities
major_brand: M4V
track: 2
disc: 1
compatible_brands: isomiso2avc1
artist: Red Hot Chili Peppers
copyright: 2016 Warner Bros. Records Inc.
genre: Alternative
Stream 0
Type: video
Codec: h264
Codec profile: High 10
FourCC: avc1
Duration: 00:00:00
Width: 350
Height: 350
Sample aspect ratio: 1:1
Display aspect ratio: 1:1
Pixel format: yuv420p10le
Frame rate: 90000 fps
Meta info:
handler_name: VideoHandler
language: und
Stream 1
Type: audio
Codec: aac
FourCC: mp4a
Duration: 00:05:02
Bit rate: 64 kb/s
Sample rate: 44100 Hz
Sample format: s16
Channel: 2
Meta info:
handler_name: SoundHandler
language: und
आप यह वास्तव में AAC ऑडियो और कोई वास्तविक वीडियो के साथ एक वीडियो फ़ाइल शामिल है पर ध्यान देंगे:
यहाँ MediaInfo उपकरण से उत्पादन होता है। यदि ऐसा है तो मुझे लगा कि मुझे यह जानने के लिए और मेटाडेटा की आवश्यकता है कि जब मैं स्ट्रीम के उस हिस्से के लिए पूछूं जहां लोड किया जा सकता है या नहीं। इसके अलावा वीडियो को कहां से खेलना है, यह जानने के लिए कीफ्रेम की आवश्यकता है, इसलिए मेरा मानना है कि धारा/फ़ाइल में कोई भी कुंजीफ्रेम या 'संकेत' बॉक्स शामिल नहीं हैं।
मुझे लापता होने के बारे में कोई वास्तविक जानकारी खोजने के साथ कोई भाग्य नहीं मिला है या यदि यह संभव है या नहीं। मैंने इसे अन्य संस्करणों पर परीक्षण किया है और ऐसा लगता है कि 5.0.2 से पहले यह काम करता था। 5.0.2 के बाद यह काम नहीं करता है। मुझे उस संस्करण में क्या बदलाव आया है इसके बारे में कोई जानकारी नहीं मिली है।
तो यह या तो स्ट्रीम एन्कोडिंग समस्या हो सकती है जो हमें इस फ़ाइल को एक प्रगतिशील डाउनलोड http (s) स्ट्रीम पर स्ट्रीम करने की अनुमति नहीं देती है। या, एंड्रॉइड मीडिया प्लेयर में यह एक बग हो सकता है जो लगभग 5.0.2 टाइमफ्रेम के आसपास बनाया गया था। या यह दोनों हो सकता है।
यह क्यों काम नहीं कर रहा है? Exoplayer साथ
क्या एम 4 ए/एमपी 4 के अंदर मौजूद ऑडियो के बजाय कच्चे एएसी (एडीटीएस हेडर के साथ) आउटपुट स्ट्रीम करने के लिए वैसे भी है? एमपी 3 काम कर रहा है क्योंकि आपको एमपी 3 फ्रेम मिलते हैं (प्रत्येक ध्वनि की कुछ मिलीसेक है) ताकि आप केवल फ्रेम को ढूंढने के लिए छोड़ दें। एएसी भी फ्रेम है (यदि आप कंटेनर के अंदर नहीं डालते हैं)। मैं एंड्रॉइड एसडीके से बहुत परिचित नहीं हूं लेकिन मुझे यकीन है कि आप एसडीके डिकोडर को फ्रेम के बाइट भेज सकते हैं। मैं कुछ विकल्पों की जांच करूंगा। –
मुझे एंड्रॉइड के प्लेयर में एडीटीएस के समर्थन पर मिश्रित संदेश मिल रहे थे इसलिए मुझे यकीन नहीं है कि यह काम करता है या नहीं। मैं जो सुन रहा हूं उसे सुनने की आशा करता हूं। – chubbsondubs
क्या आपके पास जांच के लिए नमूना स्ट्रीम लिंक है? –