سؤال

كيف يمكنني إنشاء اختبارات لبيانات الوسائط فقط بدون بيانات التعريف للحصول على تعريف مستقر لملف الوسائط. ويفضل أن يكون نهج منصة متقاطعة مع مكتبة لديها دعم للعديد من التنسيقات. مثل VLC ، FFMPEG أو MPLayer.

(يجب أن تكون ملفات الوسائط في التنسيقات الصوتية والفيديو ، سيكون من الجيد أن يكون لديك الصور أيضًا)

هل كانت مفيدة؟

المحلول

لا أعرف أي برنامج مستقل عن النظام الأساسي الذي سيحقق ذلك ، لكنني أعرف طريقة يمكن تحقيق ذلك بلغة تفسير (مستقلة عن النظام الأساسي) مثل Java.

في الأساس ، نحتاج ببساطة إلى تجريد أي بيانات تعريف (علامات) من الملف ، وملفات الفيديو demultiplexing مسبقًا. من الناحية النظرية بعد Demux وإزالة البيانات الوصفية ، يمكن للمرء أن يتجزأ من الملف ومقارنة ملف آخر خضع لعملية نفس العملية لمطابقة الملفات المتطابقة على الرغم من وجود علامات مختلفة. على عكس بصمة الإصبع ، لن يحدد هذا الأغاني/الأفلام المماثلة ولكن ملفات متطابقة (تخيل أنك قد ترغب في الإصدارات العشرة المختلفة أو البشرات لأغنية معينة أرأمتها ، لكن لا تريد نسختين متطابقتين من أي منها يطفو حولها) .

الجزء الأكثر إثارة للقلق من هذا هو إزالة العلامات لأن هناك العديد من المواصفات المختلفة لتنسيقات العلامات التي لا يتم تنفيذها بالضرورة نفس الشيء عبر التطبيقات المختلفة ، أي نفس ملف الصوت الدقيق الذي يُعطى علامات متطابقة بشكل منفصل من خلال تطبيقين مختلفين قد لا يؤدي إلى ملفات إخراج متطابقة . الطريقة الوحيدة التي يمكن أن يشكل بها ذلك مشكلة قاتلة لمفهوم الفحص الصوتي فقط هي إذا قام برنامج وضع العلامات الشهير بإجراء أي تغييرات على الجزء الصوتي الثنائي من الملف ، أو يسند الصوت بطريقة غير قياسية.

يعد أخذ عمليات فحص تافهة ، لكنني لست على دراية بأعلى رأسي في أي منصة مكتبات مستقلة لتجنب ملفات MPEG. أعلم أنه في بيئات NIX ، تعد MPGTX أداة رائعة لخط الأوامر يمكنها أداء Demux و Detag ، ولكن من الواضح أن هذا ليس حلاً مستقلًا من النظام الأساسي.

ربما يشعر شخص ما هناك طموح؟

نصائح أخرى

يبدو أن أحد الحلول الممكنة التي وجدتها مع VLC:

./VLC -I rc snd.mp3 :sout='#std{mux=raw,access=file,dst=-}' vlc://quit | sha1sum
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top