MediaMustomer غير قادر على جعل MP4s غير قابلة للبث
-
20-12-2019 - |
سؤال
أقوم بتحرير MP4 على نظام Android باستخدام MediaExtractor لجلب مسارات الصوت والفيديو ثم إنشاء ملف جديد باستخدام MediaMuster.أنه يعمل بشكل جيد.يمكنني أن ألعب MP4 الجديد على الهاتف (واللاعبين الآخرين) ولكن لا أستطيع دفق الملف على الويب.عندما أوقف MediaMuxer، فإنه ينشئ رسالة السجل
"ملف MP4 لن يكون ثابتا."
نظرت إلى التعليمات البرمجية الأصلية الأساسية (MPEG4WRiter.cpp) وستظهر أن الكاتب يواجه مشكلة في حساب حجم مربع Moov المطلوب.يحاول تخمين استخدام بعض الإغراء إذا لم يتم توفير معدل البت كمعلمة للكاتب.المشكلة هي أن mediaMustomer لا يزود القدرة على تعيين معلمات MPEG4Writer.هل أنا أفتقد شيئا أو أنا عالق تبدو وسيلة أخرى لتوليد الملف (أو رأس)؟شكرا
المحلول
في mpeg4writer.cpp:
giveacodicetagpre.هذا افتراض سيئ على كيفية استخدام MediaMustomer.نحن نسجل بحد أقصى 15 ثانية من الفيديو RIT أعلى و Min_MOov_Box_Size هو وسيلة صغيرة جدا.إذن لجعل الملف ثابتا، يجب أن أعد كتابة الملف لنقل رأس Moov قبل MDAT وتصحيح بعض الإزاحات.هنا هو رمز بلدي.انها ليست كبيرة.لا يتم التعامل مع مسارات الخطأ بشكل صحيح وتقدم افتراضات حول ترتيب المربعات.
giveacodicetagpre.نصائح أخرى
MediaMustomer حاليا لا يقوم بإنشاء ملفات MP4 القابلة للتدفق
يمكنك تجربة Intel Inde على https://software.intel.com/ar-US / Intel-Inde و Media Pack for Android وهو جزء من Inde، دروس تعليمية على https://software.intel.com/en-us/articles/intel-inde-media-pack-for-android-Tutorials .لديها عينة توضح كيفية استخدام حزمة الوسائط لإنشاء وتدفق الملفات عبر الشبكة
على سبيل المثال بالنسبة لتدفق الكاميرا، لديها عينة الكاميرات القياسية .java
giveacodicetagpre.بالإضافة إلى ذلك، توجد عينات ساخية لتدفق الملفات أو معالجة عملية اللعبة والتدفق