يُرشِّح «نقيّ» الفيديو على جهازك. يزيل فصل المسارات الموسيقى مع إبقاء الحوار، ويشوّش الكاشف الوجوه أو الإطارات حسب المستوى المختار. لا يستخدم سحابة أو حسابًا أو تتبعًا، ويترك الملف الأصلي دون تعديل. صدر لأندرويد، وتجري إعادة كتابته بـ Swift لأجهزة iPhone وiPad وMac.
كثير من الأدوات تُرشِّح الفيديو نيابةً عنك إن رفعته إلى مكان ما. هذه المقايضة مرفوضة تمامًا لمن يريدون هذا أكثر من غيرهم، فجوهر الفكرة ألا يرى أحد آخر ما تشاهده. لذلك يُنفّذ «نقيّ» كل شيء على الجهاز: النماذج داخل التطبيق، والاتصال الشبكي الوحيد تنزيل اختياري للنماذج.
تعمل عمليتان مستقلتين أو معًا. إزالة الموسيقى تُشغّل فصل المسارات htdemucs وتُبقي الأصوات البشرية، أو الأصوات مع «أخرى»، ولا تُبقي الطبول والبيس أبدًا. أما الحجب فيُشوّش وجوه الجنس المختار طوال ظهورها على الشاشة، ويحجب الإطار بأكمله ما دامت بوابة مصنّف المحتوى الإباحي مفعّلة، مع تمهيد زمني حتى لا يفلت شيء في الإطار الذي عمل فيه الكاشف.
تطبيق أندرويد هو التنفيذ المرجعي المُصدَر. أما نسخة Apple فإعادة كتابة كاملة بـ Swift لا نقل: خط المعالجة في أندرويد مرتبط بـ MediaCodec وGLES وORT-Android، ولا شيء من ذلك يعبر.
1a · التحديات
كل مشكلة أخذت بطاقة، وكل حلّ صُنّف خلفها.
1a1خط المعالجة غير قابل للنقل
كانت الخطة البديهية لنسخة Apple إعادة استخدام نواة أندرويد. لم تصمد: فك الترميز والتأثيرات على المعالج الرسومي والاستدلال، كل منها ملحوم بواجهة خاصة بأندرويد. ومحاولة بناء طبقة مشتركة كانت ستنتج تجريدًا بالحد الأدنى المشترك يصارع المنصتين معًا.
1a1aما فعلته
قبلت إعادة الكتابة ونقلت الأصل المشترك مستوىً أعلى: بدل شيفرة مشتركة، صارت نسخة أندرويد ومقاطع اختبارها هي مجموعة التكافؤ. تكون نسخة Swift صحيحة حين يطابق مخرجها مخرج أندرويد على المدخلات نفسها، وهو عقد أقوى بكثير مما كانت الشيفرة المشتركة ستقدّمه.
1a2كاشف يتأخر يُمرِّر إطارات
يقرّر المصنّف إطارًا بإطار، فيعمل بالضرورة عند الإطار الذي يحتوي أصلًا ما لم تُرِد رؤيته. والاكتفاء بترشيح الإطارات المُعلَّمة يعني أن المستخدم يرى الشيء، للحظة، في كل مرة.
1a2aما فعلته
فُصل الكشف عن العرض بقائمة قرارات تحرير. يبني المرور الأول مدَيات مع تمهيد قبل كل كشف، ومع تباطؤ يمنع كاشفًا مرتجفًا من إنتاج حجب مرتجف؛ ثم يعرض المرور الثاني تلك المدَيات. الكلفة مروران على الفيديو، وهي كلفة تستحق.
1a3فيديو بطول فيلم على هاتف
فصل المسارات والاستدلال على كل إطار في ملف مدته ساعتان يطول بما يكفي ليقتل النظام التطبيق، أو ينتقل المستخدم إلى غيره، أو تنفد البطارية في منتصف المهمة. والبدء من الصفر في كل مرة يجعل الميزة غير قابلة للاستخدام.
1a3aما فعلته
تُحفَظ نقاط تفتيش للمهام لكل مقطع، وتنجو من إغلاق التطبيق أو إعادة التشغيل، فتُستأنف المعالجة من حيث توقفت لا من البداية. ويُعرض التقدّم لكل مرحلة مع تقدير مباشر، فتبدو المهمة الطويلة مهمة طويلة لا شاشة متجمدة.
1a4الصدق بشأن ما لا يستطيعه
نمط الفشل في هذا النوع من التطبيقات هو المبالغة في الوعود. لا كاشف مثالي، والمستخدم الذي يظن الترشيح مطلقًا في وضع أسوأ ممن يعرف حدوده.
1a4aما فعلته
الحدود موثّقة في الـ README ومذكورة داخل التطبيق: تُحجب الكشوفات غير المؤكدة بدل تجاوزها، وإطار محجوب زيادةً أحيانًا كلفة مقبولة، ويجب التحقق من المخرج قبل الاعتماد عليه. التحيّز مقصود ومكتوب.
2 · النتائج
صدر على Google Play؛ وإعادة كتابة Apple جارية مقابل مجموعة تكافؤ أندرويد.
يعمل دون اتصال بالكامل: نماذج مضمّنة، بلا حسابات وبلا تتبّع.
مهام قابلة للاستئناف تنجو من إغلاق التطبيق وإعادة التشغيل.