Communitygithub.com

مونتاج فيديو هدرة الكاميرا إلى ريل (الدارجة الجزائرية، عبر الكو…

مونتاج فيديو هدرة الكاميرا (talking head) إلى ريل 9:16 بالدارجة الجزائرية — ينحّي السكتات والغلطات، كابشن عربي كلمة بكلمة مع ترجمة عربية للكلمات الفرنسية/الإنجليزية، موشن قرافيك، مؤثرات صوتية وغلاف.

Qu'est-ce que مونتاج فيديو هدرة الكاميرا إلى ريل (الدارجة الجزائرية، عبر الكو… ?

**ملخص تقني للمطورين:** هذا الـ skill يقوم بأتمتة كاملة لتحويل فيديو هدرة الكاميرا (talking head) إلى ريل 9:16 جاهز للنشر على منصات مثل Instagram, TikTok, و YouTube Shorts، مع دعم كامل للدارجة الجزائرية والترجمة الفورية للكلمات الفرنسية/الإنجليزية. يعمل الـ skill محليًا على macOS عبر Claude Code، كما يدعم التنفيذ على السحابة والهواتف المحمولة. يتبع الـ skill سير عمل متكامل: قص الفيديو باستخدام ffmpeg (يزيل السكتات ≥ 0.55 ثانية)، تفريغ الكلام بتوقيت الكلمة عبر whisper.cpp مع نموذج خاص بالجزائر (وخيار للمقارنة مع النموذج الافتراضي)، تصحيح النص حسب قواعد الإملاء في `references/dialect-dz.md`، ثم إنشاء المشاهد عبر محرك رسم (مثل Puppeteer/Remotion) مع رسوم متحركة عميقة (فوق الرأس، وراء الرأس، خرائط نقطية، إلخ). لا يسمح بتكرار الكابشن على اللوحة ولا بوضع الكابشن فوق وجه المتحدث. ضرورة قراءة `references/any-environment.md` و `references/phone-cloud-playbook.md` للتشغيل البديل على غير macOS.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/wailzenz/wailzenz-video-dz/tree/HEAD/skills/dz-reel

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

🇩🇿 wailzenz-video-dz — الطبقة الجزائرية. هذه القواعد تسبق أي شيء أدناه:

  1. اللهجة = الدارجة الجزائرية. كل كلمة عربية تكتبها أو تصححها (كابشن، هوك، دعوة لاتخاذ إجراء، غلاف، رسائل للمستخدم) تتبع references/dialect-dz.md. الـ skill الأصلي كان مكتوبًا بالخليجي: اقرأ تعليماته، لكن لا تستخدم أبدًا قوائم كلماته الكويتية أو أمثلة جمله في أي شيء يراه المشاهد. فيديو إنجليزي → اكتب إنجليزي. فيديو فرنسي → اكتب فرنسي.
  2. المصطلحات الفرنسية/الإنجليزية تبقى بأحرف لاتينية مع شرح عربي بين علامتي تنصيص بعدها — «هادي حاجة normal "عادية"» — عبر "gloss" في fixes.json (الخطوة 5). كل مصطلح لاتيني يحصل على واحد.
  3. البيئة: ابدأ كل أمر شيل بالـ source "${CLAUDE_SKILL_DIR}/../../setup/env.sh" (بيئة Python 3.12، ffmpeg-full، النماذج في ~/.wailzenz-video-dz). أول مرة على الجهاز؟ نفّذ bash "${CLAUDE_SKILL_DIR}/../../setup/setup-mac.sh" (اسأل المستخدم أولاً — ينزل ~4 GB). لا تستخدم pip install في بايثون النظام.
  4. التفريغ (الخطوة 4) يستخدم scripts/02a_transcribe_dz.py: whisper.cpp large-v3 على GPU ماك، أو --engine hadra (النموذج الجزائري) / --engine whisper (أي نظام تشغيل). لا تستخدم python3 -m whisper --model medium.
  5. التحديثات فقط عبر مدير الإضافات (00_setup.sh يطبع الأمر). لا تكتب فوق ملفات الـ skill.

🎬 أسلوب المنزل — كل فيديو، بدون استثناء: 6. الخطوة 7 كاملة، دائمًا. شاشات مقسمة، لوحات شرح، انتقالات من البنك، انتقالات، على الأقل لحظة عمق واحدة (خلف الرأس، فيديو داخل نص على طريقة «الخلاصة»…)، مؤثرات صوتية، بطاقة نهاية. الريل الذي يحتوي فقط على كابشن فوق الوجه غير مقبول أبدًا. 7. لا تكرر الكابشن أبدًا. يجب ألا تظهر اللوحة الكلمات التي يتم كتابتها في تلك اللحظة — لا نص متحرك للجملة الحالية، ولا "كابشن كبير" في الأعلى. اللوحات هي صور: أيقونات، رسوم بيانية، نماذج واجهة (طرفية، خط زمني)، استعارات، لوحات مقارنة، حقائق من facts.md. أوامر الطرفية وتسميات الخط الزمني وعناوين البطاقات يجب ألا تكرر الكابشن أيضًا. إذا كانت الجملة تحتاج حقًا إلى كلماتها كبيرة على الشاشة، أعطها nocap:true بدلاً من ذلك. 8. اقصُص بحذر. 01_cut_plan.py يقص فقط فترات التوقف ≥ 0.55 ثانية، ويقيس الصمت مقابل مستوى الضوضاء الخاص بالمقطع، ويحتفظ بمساحة أكبر بعد الكلمة مما قبلها، وينتهي بفحص ذاتي — أي «⚠️» يعني إصلاح القص أولاً. كل قص يبدأ وينتهي في صمت. التردد («الـ…»، «اممم») يذهب كاملاً فقط، صمت على كلا الجانبين؛ إعادة البدء («اللي تحتاج… تحتاج») تحتفظ بالمرة الثانية. بعد العرض النهائي، نفّذ 19_seam_check.py <work> <final.mp4> وأصلح أي كلمة مكررة أو مكسورة (يسمع المصطلحات الإنجليزية في الوضع العربي بشكل سيء — أعد فحص تلك باستخدام -l en). 9. بدّل موضع اللوحة. اخلط R_DOWN (الرسم فوق، الوجه أدناه) مع R_UP (الوجه فوق، الرسم في الأسفل — panelIn ينتقل هناك بنفسه)، بالإضافة إلى لحظات R_LOWER (لوحة كبيرة، وجه صغير) وR_FULL. لا يزيد عن مشهدين شرح متتاليين في نفس الموضع. 10. اربط كل مشهد بأوقات الكلمات (caps.json words)، وليس بالثواني الثابتة — يجب ألا يفسد إعادة القص المشاهد. 11. تأطير اللقطة القريبة: بطاقة الوجه تقص من studio.json ← cardTop؛ إذا سقط الفم تحت y ≈ 1600 (منطقة كابشن Instagram) ارفعه (≈ 0.3). R_UP يُظهر مساحة أكبر قليلاً فوق الرأس تلقائيًا.

ريل من فيديو كلام — بلا برنامج مونتاج

المونتاج كله كود:

  • ffmpeg يقص.
  • وِسبر يفرّغ بتوقيت الكلمة.
  • محرّك رسم يركّب الكابشن والموشن قرافيكس فوق الفيديو.

المخرَج: MP4 واحد جاهز للنشر.

المسارات: كل scripts/ وreferences/ وmotion/ هني من مجلد هالسكل: ${CLAUDE_SKILL_DIR}


مو فيديو كلام؟ روح للوضع الصح

المدخلالوضعاقرأ
مجلد مقاطع بلا كلام (مقهى، سفرة، منتج)مونتاج على الإيقاعreferences/montage.md
كاميرتان أو أكثر لنفس الجلسةبودكاست ← ريلاتreferences/podcast.md
حلقة كاملة «بالعرض» أو «لليوتيوب»بودكاست 16:9references/podcast.md (قسم «الحلقة كاملة بالعرض»)
حلقة ساعة ← عدة ريلاتريلات من حلقةreferences/landscape.md (قسم «حلقة كاملة»)
نص أو فكرة، بلا شخصشرح بالموشنreferences/motion-mode.md
رابط موقع أو «اشرح التطبيق»شرح موقع/تطبيقreferences/motion-mode.md

لو فيه سكل منفصل لهالوضع منصّب (dz-motion أو dz-podcast أو dz-montage)، هو أولى.

⛔ لا تسأله «أي وضع تبي؟» — قل له بجملة شنو فهمت، وكمّل.

المحرّك: دائماً الخفيف (04_render_frames.js)، وبلا ما تذكر كلمة «محرّك».

  • يبي يعدّل بنفسه؟ افتح له الاستوديو ← references/studio.md
  • شاشة ريموشن بس لو طلبها بالاسم ← references/remotion.md

🎬 دافنشي: طلب «ديرها في DaVinci»؟ هاد البلقن ما فيهش مونتاج داخل DaVinci Resolve. قول له بجملة وحدة، وكمّل بالمحرّك تاعنا (ولا صدّر له ملف SRT/FCPXML إذا حب يكمّل وحدو).

🎞️ وضع كاب كت: قال «سوّه بكاب كت» أو «أبي أعدّل بنفسي بكاب كت»؟ بدل MP4 يطلع مشروع كاب كت قابل للتعديل (لقطات بزوم، كابشن ونصوص كاب كت، فويس، مؤثرات، خلفية صوتية، موشن شفاف) ← references/capcut.md (سكربت واحد scripts/40_capcut.py).


⛔ أسلوبك مع المستخدم

أنت اللي تجهّز، مو هو. ممنوع تعطيه قائمة أوامر ينفّذها.

  • لا تسأله «عندك جذيه؟» — افحص بنفسك. ناقص شي؟ «ناقصني أداتين أجهّزهم لك الحين، ياخذ دقيقتين — أبدأ؟»
  • بلا مصطلحات: «أداة ترسم الشرائح» لا «puppeteer»، «جودة الفيديو» لا «كوديك».
  • قل له وين احنا كل خطوة، وقدّر الوقت: «شلت السكتات — نصف الفيديو راح. الحين أفرّغ كلامك، 3 دقايق.»
  • شي واحد بكل مرة.
  • لا تسلّم بلا ما تريه لقطة أو ملخص بعد كل مرحلة مهمة.

✅ وين يشتغل؟ بأي مكان — جوال · سحابة · ماك · ويندوز · لينكس · كودكس

الجهاز المحلي (ماك + Claude Code) الأسرع والأقوى، بس مو شرط. ممنوع تقول للمستخدم «هذا ما يصير على جوالك أو بالسحابة». لو أداة ما اشتغلت بالبيئة، انزل للبديل واذكر له بسطر شنو استخدمت. اقرأ references/any-environment.md — سلّم البدائل (تفريغ، قص الشخص، رسم الموشن…) وطريقة الجوال. والوصفات المجرّبة بالتفصيل (قص هادي بلا رجفة، موشن ورق مقصوص، تجميع) بـreferences/phone-cloud-playbook.md.

  • على الجوال: يرفق الفيديو بالمحادثة وتشتغل بالبيئة السحابية، والجوال يقدر يقفل.
  • ويندوز: python مو python3 ← references/windows.md.

ويندوز: python مو python3، والمسارات C:/… ← references/windows.md


الخطوات 0 و0.5 و1 — الأدوات والذوق والهوية

اقرأ references/start.md ونفّذه — نفس البداية لكل الأوضاع.


الخطوة 2 — خذ منه الفيديو

الطريقةشلون
ملف على جهازه (الأفضل)انسخه <work>/src.mov
رابط قوقل درايفمشاركة «أي شخص لديه الرابط»، ثم الأمر تحت
كونكتور قوقل درايفلو الملف خاص — أدوات الكونكتور بالجلسة

رابط درايف (الـID بين /d/ و/view):

curl -sL "https://drive.usercontent.google.com/download?id=<ID>&export=download&confirm=t" -o <work>/src.mov
  • 4K أفضل (الزوم ينقص من الأصل). بس 1080p يشتغل — لا ترفضه ولا تطلب إعادة تصوير.
  • فيديو بالعرض (مقابلة، بودكاست، حلقة تلفزيون)؟ نفس الخطوات. الخطوة 6 تقصّه بالطول حول الوجه لكل لقطة بدل ما تمطّه ← references/landscape.md
  • 🪝 ريل من حلقة أو مقابلة = هوك مكتوب إلزامي. بعد 02_captions.py:
    1. python3 scripts/22_hook.py suggest <work>
    2. اكتب 3 هوكات من أقوى سطر (مو أول جملة قالها) ← check ← هو يختار ← apply
    3. preview واقرا hook_sheet.jpg قبل الرسم الكامل.
    • ريل مبني برّا محرّكاتنا (mp4 جاهز)؟ 22_hook.py overlay ← hook.mov شفاف.
    • القواعد والصيغ ← references/podcast-hook.md

تحقق من المدة:

ffprobe -v error -show_entries format=duration -of csv=p=0 <work>/src.mov

🎞️ فريمات ساقطة؟

تسجيل متصفح أو تطبيق كاميرا مو أصلي (الآيفون بالمتصفح يرمي 13-54٪). افحص الفجوات قبل القص:

ffprobe -v error -select_streams v -show_entries frame=pts_time -of csv=p=0 <work>/src.mov | python3 -c "import sys;t=[float(x) for x in sys.stdin if x.strip()];g=[(round(a,2),round(b-a,2)) for a,b in zip(t,t[1:]) if b-a>0.07];print(len(g),'فجوة',g[:8])"

فيه فجوات؟ رمّم قبل الخطوة 3:

ffmpeg -i src.mov -vf "minterpolate=fps=30:mi_mode=mci:mc_mode=aobmc:me_mode=bidir:vsbmc=1" -c:a copy src_fixed.mov

وقل له: «التسجيل كان ساقط فيه فريمات — رمّمته». والمرة الجاية ينصحه يصوّر بتطبيق الكاميرا.

🔬 فحص الإضاءة والألوان (ثواني، بصمت)

python3 scripts/25_scopes.py <work>
  • «سليمة» ← لا تذكرها.
  • فيه مشكلة (غامج، مايل للأصفر، باهت) ← جملة وحدة: «الفيديو غامج شوي ومايل للأصفر — أعدّله؟»
    • وريه قبل وبعد بلقطة وحدة.
    • وافق ← theme.json ← "grade":"auto" (يصحّح المقاس بس).
    • رفض أو سكت ← لا تلمسه (القاعدة 4).

الخطوات 3-11 — الإنتاج

3) خطة القص

python3 scripts/01_cut_plan.py <work>

قل له كم انشال: «شلت 52 ثانية سكوت — الفيديو صار 46 بدل 98.»

3.5) حسّن الصوت (اختياري): فيه صدى أو ضجيج، أو قال «حسّن الصوت»؟ ← references/audio-enhance.md

bash scripts/02b_enhance_audio.sh <work> --local

4) التفريغ بتوقيت الكلمة

source "${CLAUDE_SKILL_DIR}/../../setup/env.sh"
ffmpeg -v error -i <work>/src.mov -vn -ac 1 -ar 16000 -y <work>/a.wav
python3 scripts/02a_transcribe_dz.py <work> > <work>/whisper.log 2>&1        # Arabic / Darija (default --lang ar)
# English video: python3 scripts/02a_transcribe_dz.py <work> --lang en
# Algerian model instead / side by side: --engine hadra | --engine compare (first run downloads ~1.8 GB)
  • Seconds to a minute on the GPU for a reel. فشل؟ tail -5 <work>/whisper.log
  • Default engine: cpp on a Mac with whisper.cpp, otherwise whisper. For a new Algerian speaker, run --engine compare once and keep the engine whose transcript needed fewer fixes (save it with --save-default).

5) التصحيح والكابشن

اقرأ a.json وصحّح كل جملة — وِسبر يغلط بالدارجة الجزائرية (يحوّلها فصحى، يكتب الكلمات الفرنسية غلط). صحّح حسب references/dialect-dz.md (الإملاء، والكلمات الفرنسية بالحروف اللي اختارها المستخدم)، وما تعرف كلمة؟ اسأله بدل ما تخمّن. اكتب <work>/fixes.json:

{ "fix": [["هادي","حاجة","normal","بزاف"], ["نخدمو","بـ","Claude","Code"]], "hot": ["بزاف"],
  "gloss": {"normal": "عادية", "Claude Code": "كلود كود"}, "fx": {"خلاص":"drop"} }
  • gloss = ترجمة عربية بين "" تجي بعد كل كلمة فرنسية/إنجليزية ← «normal "عادية"». المفتاح هو الكلمة (أو العبارة) كيما راهي في fix. الكلمات اللاتينية تتلوّن وحدها ("hot_latin": false يحبس هادا). 02_captions.py يقولك واش نسيت.
  • hot = كلمات تنحبس بقرص التمييز وقت نطقها.
  • fx اختياري ← references/word-fx.md
  • ⛔ عدد كلمات كل جملة = عدد كلمات وِسبر لنفس الجملة. وإلا تختل التوقيتات (السكربت يوقفك).
python3 scripts/02_captions.py <work>

5.5) اعرض عليه النص، وشيل اللي ما عجبه ← إلزامي

قبل تصميم أي مشهد:

python3 scripts/10_script_edit.py <work> show
  • يطبع كلامه مرقّماً بالتوقيت، ويكتب script.txt.
  • ويطبع الجمل المعادة واقتراح الحذف بنفس المرة — لا تشغّل dupes بعده.
  • ⛔ اطبع السكربت كامل بالشات وقل: «شنو تبي أشيل؟» — لا تكتفِ بالملف.

الجملة المعادة: الأولى غلط، والثانية التصحيح. «قلت الجملة مرتين — ‹قدرنا نحل السبب› ثم ‹قدرنا نعرف السبب›. أشيل الأولى؟»

python3 scripts/10_script_edit.py <work> drop 6 8       # يشيل الجملتين من الفيديو والصوت
python3 scripts/10_script_edit.py <work> keep 1 2 5 9   # يبقي هذي بس
python3 scripts/10_script_edit.py <work> undo
  • كل اللي بعدها ينزاح، وcut.json وcaps.json وsfx.json تتحدّث.
  • سوّها هني. الحذف بعد تصميم المشاهد يزيح أوقاتها كلها.
  • بعد أي حذف: أعد الخطوة 6، والرسم بـ--force.

6) القص والزوم

python3 scripts/03_cut_zoom.py <work>
mkdir -p <work>/vfr && ffmpeg -v error -i <work>/cutz.mp4 -vf fps=30 -q:v 3 -y <work>/vfr/%05d.jpg
  • الزوم مقفول لكل مقطع (6.0): أول تشغيل يكتب cut.json ← "zooms": {"25.05": 1.06, …} (المفتاح بداية المقطع بثواني الأصل). تشيل أو تضيف أو تقسم مقطع؟ زوم الباقي ما يتزحلق، فإحداثيات رسمك تبقى صح. تغيّر زوم مقطع = عدّل رقمه. وترتيب keep حر (مقطع من آخر الكلام قبل اللي قبله مسموح).

6.1) ⛔ القصّ من فوق الراس — إلزامي بأي فيديو فيه كرت (نص الشاشة، R_DOWN، R_LOWER):

python3 scripts/23_headcrop.py <work> --from <بداية أول كرت>
  • يكتب studio.json ← cardTop.
  • قصّ ثابت طول الفيديو — بلا تتبع، ولا كاميرا تلحقه.
  • يبدأ من فوق أعلى نقطة وصلها راسه، بهامش صغير (1.5٪).
  • لا ينقص راسه، ولا يطلع سقف فاضي — «مساحة كبيرة فوق راسه» غلط بنفس الدرجة.
  • المستخدم نبّه عليها أكثر من مرة وزعل.
  • تحقق بعينك بلقطة يقرّب فيها من الكاميرا.
  • تحت جسمه نص محروق؟ قرّب بـtheme.json ← cardZoom (الافتراضي 1).

7) صمّم المشاهد ← أهم خطوة

قبل أي مشهد اقرأ:

  1. references/motion-rules.md — الهوية، قائمة الحقائق facts.md، الممنوعات.
  2. references/scenes.md — شلون تكتب المشهد، حزمة الموشن، الأفكار، البي-رول.
  3. references/moves.md — بنك الحركات: python3 scripts/35_moves.py plan --title "…" --cues … ← لوحة الفيديو (3 أساسيات يدور حولها + لهجات). أنت تختار بوعي، والمستخدم ما يحتاج يختار.

🎯 الأصل من أول مسودة (6.0 — ريل بوبيان اللي اعتمده البنك وانتشر): تتعب على الأداء والموشن — غني وعميق ويفاجئ، مو أشياء هادية.

  • قبل الرسم خطّط 2–3 لحظات عمق وقلها للمستخدم بسطر: عنصر يمر ورا راسه (11_behind_text.js person + MV.person)، موجة من صوته (37_env.py ← MV.env)، خريطة نقاط ورا راسه، مدار 3D، شكل من هوية العميل يصير حركة (قوس الشعار = عدّاد ومسحة)، دخلة ون تيك (الكاميرا تغوص بالشعار وتطلع باللقطة الجاية).
  • هذي أول شي تمد يدك له، مو الوحيدة: البطاقات والأختام والشارات مو ممنوعة — استخدمها لما الموضوع يستاهل.
  • الجملة اللي الموشن يكتب كلامها = nocap لها (ما يتشتت بين فوق وتحت). والكتابة فوق الراس أحسن لما فيه مكان.
  • الوصفات بالكود ← references/moves.md §3و.

⛔ قاعدة التخطيط (معتمدة من المستخدم):

اللحظةالمستطيلالشكل
كلام بلا رسمR_FULLوجهه ملء الشاشة، أسفل الكابشن عند 1460
أي رسم أو موشنR_DOWNالرسم فوق (y 280-520) ← الكابشن ← وجهه تحت بعرض الشاشة
بي-رول أو لوحة كبيرةR_LOWERالكرت الكبير فوق ← الكابشن ← وجهه صغير تحت
شرح كامل (أرقام، قوائم)R_OFFبلا وجه، صوته يكمّل ← references/explainer-and-pace.md
  • ⛔ الكابشن ما ينكتب على وجه المتحدث أبداً. بأي وضع فيه كرت فيديو، الكابشن كله فوق الكرت، وشريط التقدّم معه.
  • اختيار الوضع قرارك من معن

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

wailzenz/wailzenz-video-dz

مونتاج مقاطع بلا كلام على الإيقاع — مجلد مقاطع (مقهى، سفرة، منتج، مكان، فعالية) يتحوّل لفيديو واحد 9:16 يختار أحلى لحظة من كل مقطع ويقطع على نبضات الصوت. Use when user says "مونتاج من هالمقاطع"، "سو فيديو من هالكلبات"، "ركّب المقاطع على الأغنية"، "مونتاج على الإيقاع"، or sends a folder of clips without speech. Not for a talking video (use dz-reel). Darija triggers: "دير لي مونتاج على الإيقاع"، "ركّب هاد المقاطع".

wailzenz/wailzenz-video-dz

فيلم موشن قرافيكس ثلاثي الأبعاد بلا شخص ولا تصوير — من نص أو فكرة أو سكربت، بصوته أو صوت مولّد، 60 فريم. وشرح موقع أو تطبيق بلقطات حقيقية داخل آيفون أو ماك بوك 3D. Use when user says "فيديو موشن"، "شرح بالموشن"، "سو فيديو من هالنص"، "موشن قرافيكس"، "اشرح هالموقع بفيديو"، "اشرح التطبيق بفيديو"، "ديمو آيفون". Not for editing a talking video (use dz-reel). Darija triggers: "دير لي فيديو موشن"، "اشرح بالموشن".

wailzenz/wailzenz-video-dz

يمنتج البودكاست والمقابلات — كاميرتين أو أكثر لنفس الجلسة إلى ريلات 9:16 بكابشن عربي وهوك مكتوب، أو الحلقة كاملة 16:9 لليوتيوب، أو حلقة ساعة إلى عدة ريلات. Use when user says "بودكاست"، "كاميرتين"، "الحلقة كاملة بالعرض"، "حلقة يوتيوب"، "ريلات من الحلقة"، "طلّع ريلات من المقابلة"، or sends multi-camera files or a long episode. Not for a single talking video (use dz-reel). Darija triggers: "دير لي ريلز من البودكاست"، "قطّع الحلقة".

wailzenz/wailzenz-video-dz

يصمم كفر الريل (أول فريم بالفيديو، كل المهم بمربع 1:1 فينقرا بشبكة البروفايل) وثمبنيل يوتيوب 16:9 بثلاث أفكار — بأحجام تنقرا بشاشة الجوال. Use when user says "سو كفر"، "كفر الريل"، "غلاف الريل"، "ثمبنيل"، "ثمب يوتيوب"، "صورة مصغرة"، "thumbnail"، "الكفر ما يبين"، or after any finished video. Not for carousel covers. Darija triggers: "دير لي غلاف"، "دير thumbnail".

Skills associés