أعلم أنه بشكل عام، لا يُقصد بـ Discourse تحميل مقاطع الفيديو، ومع ذلك، فقد واجهت مشكلة كنت آمل أن يشير إليّ شخص ما في الاتجاه الصحيح لمعرفتها.
بعض ملفات الفيديو التي يتم تحميلها تعلق عند “جارٍ التحميل 100%” إلى أجل غير مسمى. الخيار الوحيد المتبقي للمستخدم هو تحديث الصفحة أو إغلاق المنشور. بغض النظر عن المدة التي ينتظرها المرء أو مدى صغر حجم الملف.
من الواضح أن هناك رمزًا يقوم بنوع من التحقق أو الفحص الذي يعلق فيه الملف، أنا جديد جدًا في تطوير Ruby On Rails / Discourse لذلك لم أكتشف بعد أين في المسار يعلق الملف. ومع ذلك، لقد اكتشفت طريقة لتجاوز المشكلة وتحميل الملف دون أي مشكلة، وإن كان ذلك بطريقة غير سهلة الاستخدام.
إذا أخذت نفس الملف بالضبط، وقمت بتغيير امتداد اسم الملف من .mp4 إلى .pdf، فسيتم تحميل الملف دون أي مشكلة، بل وسيتم إضافته بالامتداد الصحيح أيضًا.
على سبيل المثال:
إذا قمت بتحميل PXL_12234563421LS.mp4، فسيتعلق الملف إلى أجل غير مسمى، وإذا قمت بتحميله كـ: PXL_12234563421LS.pdf، يكتمل التحميل ويتم حتى وضع علامة الفيديو الصحيحة في المنشور:
هل هناك أي شخص على دراية كافية بهذا المسار لشرح ما يحدث وهل هناك طريقة لتعطيل هذا في مكان ما؟ يسعدني أيضًا اكتشاف مكان المشكلة بالضبط وربما تقديم تقرير خطأ مع بعض التوجيهات.
أقدر الرد ولكن هذه ليست مشكلة إنترنت. تحدث من كل جهاز كمبيوتر وعبر المتصفحات. أقوم بتحميل هذا على نفس الشبكة التي يعمل عليها مثيل discourse لذلك لا يخرج إلى الإنترنت.
إن تغيير الامتداد الذي يؤدي إلى تحميل ناجح، حتى في نفس المنشور حيث لا يزال الملف الأصلي “قيد التحميل” بالتأكيد يشير إلى بعض التعليمات البرمجية في discourse التي تعمل مع ملفات الفيديو والتي تتعثر في ملفات معينة إلى أجل غير مسمى.
لقد حاولت القيام بذلك على try.discourse.org ولكن لم يُسمح بملفات .mp4 هناك، آسف كان يجب أن أذكر ذلك في منشوري الأصلي.
أيضًا، هذا ملف صغير، حجمه 8 ميجابايت فقط. لقد وجدت أن حجم الملف لا يهم.
عندما تسأل عما إذا كانت الأخطاء تحدث في وحدة التحكم أم لا، فأنا أنظر إلى السجلات وأرى بدء التحميل ثم لا يظهر شيء آخر لهذا الحدث، هل هناك مكان آخر تشير إليه كوحدة تحكم يجب أن أنظر إليه؟
يُظهر كل من الهاتف المحمول والكمبيوتر نفس المشكلة، وهي بالتأكيد خاصة بالملفات التي يتم إنتاجها، وإذا قمت بإعادة ترميز الملف باستخدام ffmpeg، تختفي المشكلة أيضًا. بالإضافة إلى ذلك، لقد جربت Chrome و Firefox وكلاهما يعرض نفس المشكلة.
لتوضيح الأمر، كل ما أفعله هو تغيير اسم الملف من “movie.mp4” إلى “movie.pdf” ثم يتم تحميله فجأة دون أن يعلق عند “جارٍ التحميل بنسبة 100٪”.
حجم الملف هو 8 ميجابايت، وأي ملفات أفلام تعرض هذه المشكلة يمكن أن تكون بأي حجم. إذا كان بإمكاني تحديد وتتبع المسار الذي يمر به أثناء التحميل، فربما أتمكن من تضييق نطاق المكان الذي يتعطل فيه.
حسناً، يمكنني تكرار ذلك هناك، اضطررت إلى إيجاد مثال أصغر قليلاً ولكن لدي الكثير
تُظهر الصورة الأولى قيامي بتحميل الملف بامتداد .mp4 وتعليقه عند “جارٍ التحميل 100%” بغض النظر عن المدة التي أنتظرها. انتظرت 5 دقائق قبل التقاط لقطة الشاشة.
تركت المنشور مفتوحاً ومعلقاً في حالة “جارٍ التحميل 100%” على try.discourse.org، المستخدم: testdub. إذا كان ذلك يساعد من جانبكم. سأتركه مفتوحاً حتى أسمع رداً.
أنتم لا تسمحون بملفات PDF ولكن تسمحون بملفات TXT، لذا قمت فقط بإعادة تسمية الملف إلى .txt واكتمل التحميل.
عندما أقوم بتحميل نفس الملف بامتداد .txt، فإنه يكتمل في ثوانٍ ويظهر كترميز فيديو.
هذا هو الخطأ الذي أراه في وحدة تحكم المتصفح أثناء محاولة تحميل هذا الملف:
Uncaught IndexSizeError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The source width is 0.
at composer-video-thumbnail-uppy.js:80:31
عندما أنظر إلى وحدة التحكم في فايرفوكس أرى شيئًا كهذا:
Media resource blob:devsite.net could not be decoded, error: Error Code: NS_ERROR_DOM_MEDIA_METADATA_ERR (0x806e0006)
في كروم أحصل على خطأ مختلف وربما أفضل لما قد يحدث هنا:
Uncaught DOMException: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The source width is 0.
at https://devsite.net/assets/chunk.d340137c92abde91812c.d41d8cd9.js:74:3649
لقد واجهت مشكلة مماثلة، على ووردبريس. ثم تعطل ملف MP4. لقد قمت للتو بتحميل ملف MP4 قصير دون مشاكل، وإذا كان يعمل، فربما يجب التحقق من ملف MP4 نفسه، أو العملية التي أنشأته؟
مرحباً بليك، شكراً لك على هذه الاستجابة السريعة! لقد اختبرت هذا ويعمل بشكل رائع على كروم ولكنه لا يعمل في فايرفوكس، ما زلت عالقًا عند “جارٍ التحميل بنسبة 100%” والخطأ التالي في وحدة التحكم:
لم يمكن فك تشفير مورد الوسائط blob:https://devsite.net/a2deff66-3376-4c6e-9cca-f18275c312ce.
لم يمكن فك تشفير مورد الوسائط blob:https://devsite.net/a2deff66-3376-4c6e-9cca-f18275c312ce، الخطأ: رمز الخطأ: NS_ERROR_DOM_MEDIA_METADATA_ERR (0x806e0006)
لقد اختبرت هذا باستخدام فايرفوكس 129.0.2.
أخبرني إذا كانت هناك أي معلومات أخرى يمكنني تقديمها.