سطر أوامر VLC: cvlc والبث والأتمتة

متقدم آخر تحديث: ينطبق على: Windows / macOS / Linux · VLC 3.0.x

خلف الواجهة الرسومية يوجد محرك وسائط كامل يعمل عبر سطر الأوامر. يتيح لك البرنامج الثنائي cvlc (أو vlc --intf dummy) كتابة سكربتات تشغيل، وتشغيل خادم بث، وتحويل مجموعات ملفات، وحتى التحكم في نسخة قيد التشغيل عبر واجهة نصية. إذا كنت تدير الوسائط على خادم أو NAS، فهذا هو الدليل الذي يفتح لك إمكانيات VLC الكاملة.

الخطوة 1 — التشغيل الأساسي من الطرفية

  1. على Linux/macOS يُثبَّت cvlc مع VLC. على Windows استخدم المسار الكامل: «C:\Program Files\VideoLAN\VLC\vlc.exe» مع أعلام --intf أدناه.

    البرنامج متاح.

  2. شغّل ملفًا بدون واجهة: cvlc /path/to/movie.mkv --intf dummy --play-and-exit

    يشغّل VLC الملف ويخرج دون أي نافذة.

  3. اعرض مسارات الملف دون تشغيل: cvlc movie.mkv --intf dummy --play-and-exit -vvv 2>&1 | grep -i "stream 0"

    تُطبع معلومات الترميز والمسارات.

ملاحظة--play-and-exit هو العلم الأساسي للسكربتات: يخرج VLC عند انتهاء الملف، فتنتقل مهام cron/systemd إلى النهاية بنظافة.

الخطوة 2 — بث ملف أو جهاز إلى الشبكة

  1. بث HTTP: cvlc movie.mkv --sout "#standard{access=http,mux=ts,dst=:8080}"

    يقدّم VLC البث على المنفذ 8080؛ ويمكن لأي مشغّل فتح http://:8080.

  2. بث كاميرا/جهاز مباشر: cvlc -vvv v4l2:///dev/video0 --sout "#transcode{vcodec=h264,vb=1200}:standard{access=http,mux=ts,dst=:8090}" (Linux) أو dshow:// (Windows).

    يُبث بث H.264 مباشر.

  3. أوقف بـ Ctrl+C — ينظف VLC المستمع.

    ينتهي البث.

الخطوة 3 — تحويل دفعات بأمر واحد

  1. ملف واحد: cvlc input.mkv --sout "#transcode{vcodec=h264,acodec=mpga,vb=2000}:standard{mux=mp4,dst=output.mp4}" --sout-keep --play-and-exit

    يُحوَّل الملف.

  2. تكرار عبر مجلد: for f in *.mkv; do cvlc "$f" --sout "#transcode{...}:standard{mux=mp4,dst=${f%.mkv}.mp4}" --play-and-exit; done

    يُحوَّل كل ملف بالتتابع.

  3. تحقق من بديل ffmpeg أولًا للمهام الثقيلة — يرمّز cvlc برمجيًا ويكون أبطأ من ffmpeg مع برامج الترميز العتادية.

    اخترت الأداة المناسبة للمهمة.

الخطوة 4 — واجهة rc للتحكم عن بُعد

  • ابدأ بقناة تحكم: cvlc --extraintf rc --rc-host 127.0.0.1:4212 movie.mkv
  • اتصل من طرفية أخرى: telnet 127.0.0.1 4212 (Linux/macOS) أو استخدم عميل telnet على Windows.
  • الأوامر: play وpause وstop وseek 120 وvolume 80 وnext وprev وinfo وplaylist.
  • قابلة للبرمجة عبر ملف: printf "play\nvolume 60\n" | cvlc --extraintf rc --rc-fake-tty movie.mkv

الأسئلة الشائعة

ما الفرق بين vlc وcvlc؟
cvlc هو نفس البرنامج دون تحميل واجهات رسومية — موجود على كل المنصات لكنه غلاف في بعض حزم Linux. على Windows، أضف --intf dummy لاستدعاء vlc.exe للحصول على الأثر نفسه.
هل يمكن لـ VLC بث كاميرتي إلى صفحة ويب؟
نعم — مثال بث الجهاز في الخطوة 2 يقدّم بث HTTP، ويمكنك تضمينه بوسم فيديو HTML5 يشير إلى الرابط (يعمل إرسال TS في معظم المتصفحات).
لماذا التحويل من سطر الأوامر أبطأ من الواجهة الرسومية؟
ليس كذلك — كلاهما يستخدم نفس برنامج الترميز البرمجي. الواجهة الرسومية أسهل فقط. إذا كانت السرعة مهمة، استخدم ffmpeg مع برامج ترميز GPU.
كيف أجد كل خيارات سطر أوامر VLC؟
نفّذ cvlc --longhelp (أو --help --help-verbose) ووجّه المخرج إلى ملف: cvlc --longhelp > vlc-help.txt. تُدرج خيارات كل وحدة ضمن أقسام «Stream output».