2013-02-01 4 views
6

का उपयोग कर एचएलएस (HTTP लाइव स्ट्रीम) में समय मेटाडेटा डालें, मैं एक .mov या .mp4 वीडियो फ़ाइल में समय मेटाडेटा डालने का प्रयास करता हूं। मैं इसके बारे में यहाँ पढ़ा है:id3taggenerator और mediafilesegmenter

असल में, मेरी समस्या यह है कि जो कुछ भी मैं कोशिश, मैं उत्पन्न .m3u8 और का एक समूह हो जाता है। बिना किसी त्रुटि के अपेक्षित टीएस फाइलें, लेकिन मुझे लगता है कि मेटाडेटा डाला नहीं गया है।

मुझे विवरण में बताएं कि मैं क्या करता हूं।

id3taggenerator -o tag1.id3 -t "Test" 

तब मैं 'macrofile.txt' वाले नामक एक मैक्रो पाठ फ़ाइल लिखना:

सबसे पहले मैं इस प्रकार कुछ ID3 टैग उत्पन्न

5 id3 tag1.id3 

मुझे यकीन है कि फ़ाइल एक साथ समाप्त होता है बनाने के न्यूलाइन चरित्र और प्रत्येक फ़ील्ड एक ही स्थान से अलग है और टैब नहीं।

तब मैं mediafilesegmenter का उपयोग कमांड के साथ .ts फ़ाइलों को भी इस प्रकार macrofile शामिल साथ m3u8 बनाने के लिए:

mediafilesegmenter -index-file test.m3u8 -M macrofile.txt -no-floating-point-duration -iframe-index-file none test.mp4 

यह सफलतापूर्वक m3u8 फ़ाइल + .ts फाइलों का एक समूह उत्पन्न होगा (वीडियो के 10 सेकंड)

मैं अपने वेबसर्वर पर उन अपलोड प्रति एक ts, (जाहिर है मैं सही MIME प्रकार आदि) जोड़ा गया है और अपने iOS एप्लिकेशन से, मैं स्ट्रीम को खोलने:

NSURL* url = [NSURL URLWithString:@"http://url.com/test.m3u8"]; 
player = [[MPMoviePlayerController alloc] initWithContentURL:url]; 

मैं भी इस प्रकार MPMoviePlayerTimedMetadataUpdatedNotification अधिसूचना जोड़ना सुनिश्चित करें:

NSNotificationCenter *center = [NSNotificationCenter defaultCenter]; 
[center addObserver:self 
      selector:@selector(metadataUpdate:) 
       name:MPMoviePlayerTimedMetadataUpdatedNotification 
      object:nil]; 

अब समस्या यह है कि, MPMoviePlayerTimedMetadataUpdatedNotification शुरू हो रहा कभी नहीं रहा है।

अगर मैं एप्पल परीक्षण धारा (https://devimages.apple.com.edgekey.net/resources/http-streaming/examples/bipbop_16x9/bipbop_16x9_variant.m3u8) है कि समय मेटाडाटा हर 5seconds शामिल के साथ प्रयास करें -> यह पूरी तरह से काम करता है

तो यही कारण है कि मुझे लगता है कि मेरी उत्पन्न .ts फ़ाइलें कम से कम किसी भी मेटाडाटा या शामिल नहीं है मैं कहीं कुछ गलत कर रहा हूं लेकिन मैंने जो कुछ भी कर सकता था उसकी जांच की और अब मैं विचारों से बाहर हूं।

आशा है कि कोई मेरी मदद कर सकता है।

धन्यवाद!

+0

क्या आपने हेक्स संपादक में .ts फ़ाइल खोलने का प्रयास किया है? ID3s को सामने के करीब स्पष्ट रूप से दिखाना चाहिए यदि वे –

+0

मीडियाफिल्सेजेंटर बीटा संस्करण 1.1 (130110) के साथ मैक्रो-फ़ाइल का उपयोग करते हुए मेटाडेटा इंजेक्शन करते हैं तो यह बस काम नहीं करता है। जब मैं एक हेक्स संपादक के साथ देखता हूं, तो यह केवल खाली आईडी 3 इंजेक्ट करता है। यदि मैं -F -y पैरामीटर (मैक्रो फ़ाइल का उपयोग किए बिना) का उपयोग करके id3 इंजेक्ट करता हूं तो मैं स्पष्ट रूप से हेक्स संपादक में सही आईडी 3 देख सकता हूं और यह काम करता है। समस्या: समय मेटाडेटा इंजेक्षन करने के लिए, आप केवल मैक्रो फ़ाइल के साथ ऐसा कर सकते हैं ... किसी को भी एक ही समस्या है? मैं सोच रहा हूं कि मीडियाफिल्सेजेंटर के इस संस्करण में यह कोई बग नहीं है .. शायद कोई मुझे इंस्टॉलर के पुराने संस्करण को इंगित करने के लिए इंगित कर सकता है ?? धन्यवाद –

उत्तर

4

इस पर थोड़ा और समय बिताने के बाद, मैंने ऐप्पल डेवलपर तकनीकी सहायता से संपर्क करने का फैसला किया।

यह वास्तव में Mediafilesegmenter टूल 1 के नवीनतम संस्करण में एक बग है।1 (130110)

यहाँ बग रिपोर्ट तक पहुँचने के लिए सीधा संबंध है https://bugreport.apple.com/cgi-bin/WebObjects/RadarWeb.woa/67/wo/quUWkJlEHk4L6S6U9geEZ0/21.83.28.0.13

बग आईडी

मैं जितनी जल्दी यहाँ मेरा उत्तर अपडेट कर देंगे के रूप में बग हल हो गई है है या ऐप्पल द्वारा मुझे एक कामकाज दिया गया है।

+0

ने मीडियाफिल्ज़ेंजर संस्करण 1.1 (120821) के साथ भी प्रयास किया और यह या तो काम नहीं करता है। मैं पहले के संस्करण को खोजने की कोशिश करूंगा। –

+0

जानना अच्छा लगेगा कि आपको कोई ऐसा काम करता है जो काम करता है! – GnarlyDog

+0

यह बग 25 अप्रैल, 2013 को जारी HTTP लाइव स्ट्रीमिंग टूल्स के साथ तय किया गया प्रतीत होता है। – GnarlyDog

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