STACKDUST
EN
شعار منصة MinusPod مفتوحة المصدر لإزالة إعلانات البودكاست ذاتياً

أداة MinusPod: منصة استضافة ذاتية لاقتطاع إعلانات البودكاست عبر Whisper ونماذج الذكاء الاصطناعي


منصة MinusPod: خادم ذاتي لاقتطاع فواصل الإعلانات الترويجية من البودكاست تلقائيا

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

ما هي الأداة؟

تحولت صناعة البودكاست تدريجيا من الإعلانات الثابتة المدمجة بصوت المضيف إلى تقنية الحقن الديناميكي للإعلانات (Dynamic Ad Insertion - DAI). فعندما يطلب تطبيق البودكاست تحميل حلقة جديدة، تقوم خوادم البث بإدراج فواصل تجارية مستهدفة جغرافيا ومضخمة الصوت داخل الملف الصوتي مباشرة. يضطر المستمع عادة إلى الضغط المتكرر على زر التخطي (30 ثانية) أثناء القيادة أو ممارسة الرياضة، أو اللجوء إلى اشتراكات مدفوعة تحبس البرامج خلف منصات مغلقة.

يعالج مشروع MinusPod (المتاح برخصة MIT للمطور ttlequals0 في إصداره v2.95.3) هذه المشكلة على مستوى البنية التحتية. فبدلا من الاعتماد على مشغل هاتف ذكي يحاول تخمين الفواصل تقريبيا، يستقر MinusPod كخادم وسيط بين الإنترنت المفتوح وجهازك. يقوم الخادم بمراقبة خلاصات البرامج، وتحميل الحلقات الجديدة لحظة صدورها، وتشغيل مسار تدقيق متعدد المراحل لتحديد البداية والنهاية الدقيقة لكل إعلان بالمللي ثانية، ثم اقتطاع الفاصل دون إعادة ترميز بقية الصوت، وتوليد خلاصة RSS جديدة متوافقة مع معايير Podcasting 2.0 تعمل على تطبيقات شهيرة مثل Pocket Casts وOvercast وAntennaPod.

معمارية المعالجة داخل خادم MinusPod:
[ خلاصة RSS الأصلية مع إعلانات DAI المحقونة ]
                     |
                     v
+--------------------------------------------------------------------------+
| خادم MINUSPOD (حاوية Docker مستقلة)                                      |
|                                                                          |
| 1. الاستقبال: مراقبة دورية للخلاصات + تنبيهات بروتوكول Podping السريعة   |
| 2. التفريغ الصوتي: مكتبة faster-whisper محليا أو واجهات سحابية            |
| 3. تحليل الإشارة: كشف صمت الصوت (VAD) + التغير المفاجئ في الشدة (LUFS)   |
| 4. التحليل الدلالي: نوافذ متداخلة عبر النماذج اللغوية (Ollama / Claude)  |
| 5. ذاكرة الرعاة المتكررة: مطابقة محلية تلقائية للعلامات المألوفة         |
| 6. الاقتطاع المباشر: نسخ حزم البث ffmpeg stream copy دون فقد الجودة      |
| 7. الخادم المحلي: بث خلاصة Podcasting 2.0 نقية مع الفصول والنصوص المفرغة |
+--------------------------------------------------------------------------+
                     |
                     v
[ خلاصة RSS المحلية الخالية من الإعلانات ] ---> [ تطبيق البودكاست في الهاتف ]

لماذا لم تسمع عنها من قبل؟

تركز أغلب أدوات الاستضافة الذاتية للوسائط على إدارة المكتبات وتخزين الملفات (مثل Audiobookshelf) أو مجرد حفظ نسخ احتياطية من الخلاصات. وتعد أداة MinusPod حديثة نسبيا لأن دمج التفريغ الصوتي الفوري مع استدلال النماذج اللغوية كان مكلفا للغاية من الناحية الحسابية حتى وقت قريب.

حاولت مشاريع سابقة إزالة الإعلانات بالاعتماد على البصمة الصوتية التشاركية، على غرار إضافة SponsorBlock لموقع يوتيوب. لكن تقنية الحقن الديناميكي (DAI) تجعل كل مستخدم يحصل على ملف صوتي بتوقيتات وإعلانات مختلفة بحسب موقعه وعنوان IP الخاص به. فالتوقيت المسجل لمستمع في لندن لا يتطابق مطلقا مع الحلقة المحملة في الرياض. لم تصبح MinusPod ممكنة إلا مع نضوج نماذج Whisper السريعة وتوفر نماذج استدلال صغيرة الحجم يمكن تشغيلها بكفاءة على عتاد السيرفرات المنزلية.

كيف تعمل المنظومة؟

لا يعتمد MinusPod على إرسال تفريغ صوتي مدته ساعتان في نافذة سياق واحدة، فهذا المسار مكلف ومصحوب بهلوسة توقيتات القطع. بدلا من ذلك، يعتمد الخادم على سلم معالجة تراتبي دقيق:

1. الاستقبال السريع عبر Podping

إلى جانب الفحص الدوري لخلاصات RSS، يدمج MinusPod مستمعا لشبكة Podping اللامركزية. فعندما تنشر منصات البودكاست حلقة جديدة، تبث الشبكة تنبيها فوريا، فيسارع MinusPod لتحميل الحلقة وتجهيزها قبل أن يبدأ تطبيق هاتفك المحمول بعملية التحديث المجدولة.

2. التفريغ الصوتي عبر Faster-Whisper

يمر الملف الصوتي عبر محرك faster-whisper المدمج. وعلى خادم مزود ببطاقة رسومية من نوع NVIDIA، يتم تفريغ حلقة مدتها ساعة كاملة في أقل من دقيقتين باستخدام نموذج small.en أو medium. وفي السيرفرات التي تعتمد على المعالج المركزي فقط، تدعم المنصة مكتبة whisper.cpp بأوزان مكممة، أو توجيه الصوت نحو واجهات خارجية متوافقة مع OpenAI مثل بيئات Open WebUI وOllama المحلية.

3. تحليل الإشارات الصوتية

قبل استدعاء الذكاء الاصطناعي، يفحص الخادم سمات الصوت الفيزيائية:

  • قفزات شدة الصوت (Loudness): ترفع خوادم الإعلانات عادة مستوى الصوت المستهدف (LUFS) لجذب انتباه المستمع مقارنة بالحوار الهادئ.
  • فترات الصمت (VAD Gaps): تفصل الإعلانات في الغالب فترات سكون قصيرة تتراوح بين 200 و800 مللي ثانية قبل الفاصل وبعده.
  • المؤثرات الصوتية الانتقالية (Jingles): يتيح النظام وسم النغمات الانتقالية المتكررة لكل برنامج، ليقوم الخادم بمحاذاة نقاط القطع على النغمة الموسيقية بدقة متناهية.

4. التحليل الدلالي عبر النوافذ المنزلقة

يقسم النص المفرغ المزود بطوابع زمنية على مستوى الكلمة إلى نوافذ منزلقة متداخلة، ثم يطلب النظام من النموذج اللغوي تصنيف المقاطع إلى خمس فئات واضحة:

  • sponsor (رعاة خارجيون مدفوعون)
  • cross-promo (ترويج لبرامج أخرى تابعة للشبكة)
  • self-promo (إعلانات بيع بضائع المضيف أو جولاته المباشرة)
  • interaction (طلبات الاشتراك والتقييم على Apple Podcasts)
  • intro/outro (مقدمات وخواتيم متكررة)

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

5. ذاكرة التعلم عبر الحلقات المتتابعة

عندما تفتح واجهة الويب الخاصة بـ MinusPod لتعديل توقيت إعلان معين، يحفظ الخادم اسم الراعي وعنوان موقعه الترويجي في قاعدة بيانات SQLite محلية. وفي الحلقات القادمة، يكتشف النظام الإعلان المكرر حتميا عبر الكلمات المفتاحية دون الحاجة إلى إعادة إرسال النص إلى النموذج اللغوي، مما يوفر موارد المعالجة.

6. الاقتطاع المباشر دون فقد الجودة

عقب تثبيت الطوابع الزمنية، يستدعي الخادم أداة ffmpeg بأسلوب نسخ مسار البث المباشر (-c copy)، حيث تتم إعادة ترميز الإطار الصوتي الحرج المحيط بنقطة القطع فقط. تكتمل العملية خلال ثوان معدودة مع الحفاظ التام على جودة الصوت الأصلية.

تشغيل المنظومة ذاتيا

يمكن نشر منصة MinusPod بسهولة عبر Docker Compose. يوفر الإعداد التالي بيئة تشغيل متكاملة تربط الخادم بنموذج Ollama محلي لضمان الخصوصية والعمل دون اتصال بالإنترنت:

version: "3.8"

services:
  minuspod:
    image: ghcr.io/ttlequals0/minuspod:v2.95.3
    container_name: minuspod
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      - PORT=8080
      - BASE_URL=http://192.168.1.50:8080
      - MASTER_KEY=ضع_هنا_مفتاحا_عشوائيا_بطول_32_خانة
      - WHISPER_MODEL=small.en
      - WHISPER_DEVICE=cpu # غير القيمة إلى cuda إذا كنت تستخدم بطاقة إنفيديا
      - LLM_PROVIDER=ollama
      - OLLAMA_BASE_URL=http://ollama:11434
      - OLLAMA_MODEL=qwen2.5:7b-instruct-q4_K_M
      - DATA_DIR=/data
    volumes:
      - ./data:/data
      - ./cache:/cache
    depends_on:
      - ollama

  ollama:
    image: ollama/ollama:latest
    container_name: minuspod-ollama
    restart: unless-stopped
    volumes:
      - ./ollama_models:/root/.ollama

لتشغيل الحاويات في خادمك المنزلي سواء عبر واجهة مدير الحاويات Dockge أو سطر الأوامر:

# إنشاء المجلد والانتقال إليه
mkdir -p /opt/minuspod && cd /opt/minuspod
# حفظ ملف docker-compose.yml الموضح أعلاه
docker compose up -d

# مراقبة سجلات التشغيل
docker compose logs -f minuspod

عقب اكتمال التشغيل، ادخل إلى لوحة التحكم عبر المتصفح على الرابط http://<IP-السيرفر>:8080 وأضف رابط الخلاصة الأصلية للبرنامج. سينتج MinusPod رابط تغذية محليا، ضعه في تطبيق البودكاست بهاتفك لتصلك الحلقات منقحة مباشرة.

ما الذي تستبدله المنظومة؟

تستبدل المنصة الضغط اليدوي المتكرر على أزرار التخطي والاشتراكات الشهرية المدفوعة للشبكات الإذاعية (5 إلى 12 دولارا شهريا للشبكة الواحدة). وعلى خلاف إضافات المتصفح البسيطة، تعمل MinusPod مع كافة تطبيقات الهواتف الذكية لأنها تنقي الملف الصوتي نفسه قبل بثه للمستخدم.

ومقارنة بالتحرير اليدوي في برامج مثل Audacity، تعمل MinusPod بصورة آلية غير مرئية في الخلفية دون الحاجة إلى التدخل البشري المستمر.

القيود والملاحظات الفنية

  1. تداخل الإعلانات مع الحوار العفوي: عندما يدمج المضيف الرعاية داخل الحوار دون فاصل موسيقي أو توقف لحظي، قد يقتطع النموذج اللغوي بضع ثوان من النقاش الفعلي. توفر واجهة الويب إمكانية تعديل النقاط يدويا عند الحاجة.
  2. المتطلبات العتادية: يتطلب تشغيل Whisper ونموذج 7B معالجا قويا وذاكرة عشوائية لا تقل عن 8 جيجابايت لضمان عدم تراكم الحلقات في طابور الانتظار، ولا ينصح بتشغيله على أجهزة متواضعة مثل Raspberry Pi 4.
  3. مساحة التخزين وسرعة الرفع: يخزن الخادم الحلقات المقتطعة محليا لإعادة بثها إلى هاتفك، مما يستلزم مساحة تخزين مناسبة وسرعة رفع كافية إذا كنت تستمع خارج شبكة المنزل.

الفئة المستهدفة

تناسب المنصة هواة الخوادم المنزلية (Homelab) ومستمعي البودكاست اليومي الذين يتابعون عدة برامج ويرغبون في تجربة استماع نقية ومريحة تحترم خصوصيتهم وتفصلهم عن شبكات التتبع الإعلاني الديناميكي.

المصادر المعتمدة


المقال التاليسطح الهجوم على خوادم MCP: تسميم الأدوات، والسحب المفاجئ، وصعود جدران حماية الوكلاءالمقال السابقكلود ينجز الإثبات الحاسوبي لمبرهنة فيرما الأخيرة في لغة Lean 4: 13 مليون سطر برمجيا