سؤال

هل لدى أي شخص طريقة معروفة وموثوقة لإنشاء فيديو من سلسلة من ملفات الصور؟قبل أن تعتذر عن عدم البحث عن الإجابة قبل نشر السؤال، وقبل أن ترسل رسالة بسيطة مثل "استخدم FFMPEG"، اقرأ بقية هذه الرسالة.

أحاول إنشاء مقطع فيديو، لا يهم التنسيق كثيرًا طالما أنه مدعوم على نطاق واسع، من سلسلة من الصور (.jpg، .bmp، وما إلى ذلك).نظامي الأساسي هو Windows Server 2008، 64 بت.إذا كان بإمكاني إنشاء الفيديو من داخل برنامج C# الخاص بي، فهذا أمر رائع، لكنني لا أكره كتابة سلسلة من ملفات الصور إلى دليل ثم تشغيل برنامج خارجي لإنشاء فيديو من تلك الصور.

القيود الوحيدة هي:يجب أن يعمل على نظام Windows Server 2008 الخاص بي، وأن يكون قابلاً للبرمجة النصية.وهذا يعني أنه لا توجد برامج واجهة المستخدم الرسومية التي تتطلب تدخل المشغل.

لقد وجدت عددًا من الأسئلة المشابهة على StackOverflow، وقمت بتجربة العديد من الحلول، وكلها بدرجات متفاوتة من الإحباط ولم تحقق أي منها نجاحًا.

يبدو أن FFMPEG برنامج رائع.ربما هو كذلك، على لينكس.نظاما Windows اللذان قمت بتنزيلهما معطلان.بالنظر إلى سطر الأوامر هذا:

  ffmpeg -r 1 -f image2 -i jpeg\*.jpg video.avi

يقرأ أحد التصميمات الصور ثم يتعطل بسبب منع تنفيذ البيانات.يقرأ الآخر الملف الأول ثم يصدر رسالة خطأ تقول "لا يمكن العثور على برنامج الترميز المناسب للملف jpeg/image2.jpg".مفيدة، ذلك.على أية حال، يبدو FFMPEG وكأنه برنامج غير قابل للتشغيل في نظام Windows.

إجابة واحدة لنشر سابق الموصى بها جهاز الربط .يبدو وكأنه رمز جيد جدا.لقد قمت بتجميع العينات وحاولت تشغيلها، ولكنني تلقيت بعض رسائل الخطأ المبهمة حول عدم العثور على ملف.يبدو أن فئة COM غير مسجلة.أفترض أنني بحاجة إلى تثبيت شيء ما (ربما، DirectShow، على الرغم من أنني اعتقدت أنه تم تثبيته بالفعل؟).اعتمادًا على ما هو مطلوب، قد أجد صعوبة في تبرير تثبيته على الخادم.("ماذا؟لماذا تحتاج ذلك على الخادم؟")

إجابة أخرى اقترحت ملف افيلي مكتبة من مشروع الكود.يبدو ذلك بسيطًا بما فيه الكفاية:غلاف حول النظام الفرعي Windows AviFile.فيما عدا أن ملفات AVI التي تنشئها الحزمة تبدو وكأنها تحتوي على كافة الإطارات، ولكن الإطار الأول فقط هو الذي يظهر عندما أقوم بتشغيل AVI في Windows Media Player.حسنًا، إذا حاولت إنشاء فيديو مضغوط، فسيطرح البرنامج استثناءً.

لذلك، أتساءل عما إذا كانت هناك طريقة جيدة وموثوقة للقيام بما أريد:على نظام Windows، قم بإنشاء تنسيق AVI أو أي تنسيق ملف فيديو شائع آخر من سلسلة من الصور، إما من خلال .NET API أو باستخدام برنامج خارجي.أي مساعدة؟

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

المحلول

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

يبدو أن الربط سيفعل ما أريد: إنشاء مقاطع الفيديو برمجيا من سلسلة من الصور.

شكرا لجميع الذين استجابوا.

نصائح أخرى

يمكنك استخدام VideOlan وأوصي به.

لقد كان لدي خبرة مباشرة في تطبيق C # مع Videolan القيام به هذين الأمرين:

  1. تضمين VLC Viewer في تطبيق My C # (هناك 3-4 ج # "مغلفة" ل VLC Veiwer).
  2. باستخدام vlc.exe في عملية منفصلة عن طريق إرسال وسيطات سطر الأوامر تكنولوجيا المعلومات.

حقيقة أن Videolan لديه واجهة سطر الأوامر هي شيء عظيم. ويدعم VLC خيار سطر الأوامر يعطل أي عنصر مرئي؛ لذلك لا ينبثق VLC واجهة المستخدم الرسومية وعدم وجود نافذة لسطر الأوامر. وبالتالي، في تطبيق C #، يمكنك زراعة العمل المرتبط بالفيديو إلى عميل VLC. C # لديه فئة العملية التي يمكنها إدارة مثيلات VLC.EXE لك. إنه ينتهي كونه حل أنيق جميل.

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

على أية حال، لا أستطيع أن أقول إنني استخدمته، ولكن يبدو أن الرهان الجيد هو مكتبة x264 التي تعد جزءًا من مشروع videolan.يمنحك ذلك مكتبة C قائمة بذاتها يمكنك استدعاؤها ولا داعي للقلق بشأن التثبيت وDirectShow المهملة على الخادم الخاص بك.سيتم إنشاء فيديو بتنسيق H.264 والذي يمكن تشغيله في Flash كما أفهمه.

لقد استخدمت mplayer.MENCODER لإنشاء AVI (مع برنامج الترميز MSMPEG4 / MP3، قابل للقراءة افتراضيا مع Windows Media Player) من ملفات TGA على Linux مثل هذا:

mencoder mf://*.tga -mf fps=25:type=tga \
  -audiofile /tmp/test.mp3 -oac copy \
  -of lavf -ovc lavc \          
  -lavcopts vcodec=msmpeg4v2:mbd=2:mv0:trell:cbp:last_pred=3:vbitrate=3000 \
  -o /tmp/test.avi

أعرف أن mplayer لديه نسخة ويندوز.

بدلا من الذهاب فقط من خلال كل المتاعب، يمكنك Coppy جميع الصور التي تريد تضمينها في الفيديو الخاص بك إلى الحافظة ولديها مستتأرها إلى Windows Live Movie Maker (ديناميكيا، بالطبع!) ولديها تجميعها لك!

كل هذا يمكن القيام به من خلال التعليمات البرمجية، ولكن بهذه الطريقة، ليس عليك إنشاء ذلك بنفسك. كما قلت أن النظام الأساسي كان Windows، وجميع نظام التشغيل Windows يحتوي على تثبيت Windows Live Movie Maker، لذلك لا ينبغي أن يكون مشكلة لأي شخص باستخدام طلبك ما لم

أ) إلغاء تثبيت Windows Live Movie Maker

ب) إنهم يستخدمون جهاز كمبيوتر يعمل على إصدار Windows أكثر من 8 أو 9 سنوات ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top